Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure AI Foundry Agent Service integreras med Azure Functions så att du kan skapa intelligenta, händelsedrivna program med minimala omkostnader. Med den här kombinationen kan AI-drivna arbetsflöden utnyttja skalbarheten och flexibiliteten i serverlös databehandling, vilket gör det enklare att skapa och distribuera lösningar som svarar på realtidshändelser eller komplexa arbetsflöden.
För närvarande stöds direktintegrering med Azure Functions endast för funktioner som utlöses av Azure Storage-köer. Andra utlösartyper, till exempel HTTP eller Blob Storage, stöds inte internt just nu.
Azure Functions ger stöd för utlösare och bindningar, vilket förenklar hur dina AI-agenter interagerar med externa system och tjänster. Utlösare avgör när en funktion körs, till exempel en HTTP-begäran, ett meddelande från en kö eller en filuppladdning till Azure Blob Storage, och tillåter agenter att agera dynamiskt baserat på inkommande händelser.
För HTTP-utlösta Azure Functions är integrering möjlig genom att beskriva funktionen via en OpenAPI-specifikation och registrera den som ett anropsbart verktyg i agentkonfigurationen. Du kan också implementera en köbaserad omslutningsfunktion som tar emot meddelanden från agenten och internt anropar HTTP-logiken, vilket möjliggör användning av den befintliga köbaserade integreringen.
Samtidigt underlättar bindningar strömlinjeformade anslutningar till indata- eller utdatakällor, till exempel databaser eller API:er, utan att kräva omfattande pannplåtskod. Du kan till exempel konfigurera en utlösare för att köra en Azure-funktion när ett kundmeddelande tas emot i en chattrobot och använda utdatabindningar för att skicka ett svar via Azure AI-agenten.
Modeller som stöds
Om du vill använda alla funktioner för funktionsanrop, inklusive parallella funktioner, måste du använda en modell som släpptes efter den 6 november 2023.
Prerequisites
- Azure Functions Core Tools v4.x
-
En distribuerad agent med standardkonfigurationen
Note
Den grundläggande agentkonfigurationen stöds inte.
- Azurite
Förbereda din lokala miljö
I följande exempel visas hur Azure AI Foundry Agent Service används för att anropa funktioner där funktionsanrop placeras i en lagringskö av agenttjänsten för att bearbetas av en Azure Funktion som övervakar kön.
Du hittar mallen och koden som används här på GitHub.
Användningsstöd
| Stöd för Azure AI Foundry | Python SDK | C# SDK | Java SDK | REST API | Grundläggande agentkonfiguration | Standardagentkonfiguration |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Skapa Azure-resurser för lokalt och molnbaserat utvecklingstest
När du har din Azure-prenumeration kör du följande i ett nytt terminalfönster för att skapa Azure OpenAI och andra resurser som behövs:
azd init --template https://github.com/Azure-Samples/azure-functions-ai-services-agent-python
Mac/Linux:
chmod +x ./infra/scripts/*.sh
Windows:
set-executionpolicy remotesigned
Tilldela resurser
Kör följande kommando för att skapa nödvändiga resurser i Azure.
azd provision
Skapa local.settings.json
Note
Den här filen ska finnas i samma mapp som host.json. Den skapas automatiskt om du körde azd provision.
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "python",
"STORAGE_CONNECTION__queueServiceUri": "https://<storageaccount>.queue.core.windows.net",
"PROJECT_CONNECTION_STRING": "<project connnection for AI Project>",
"AzureWebJobsStorage": "UseDevelopmentStorage=true"
}
}
Kör din app med Visual Studio Code
- Öppna mappen i en ny terminal.
-
code .Kör kodkommandot för att öppna projektet i Visual Studio Code. - I kommandopaletten (F1) skriver du
Azurite: Start, som möjliggör felsökning med lokal lagring för Azure Functions-körning. - Tryck på Kör/Felsök (F5) för att köra i felsökningsprogrammet. Välj Felsök ändå om du tillfrågas om att den lokala emulatorn inte körs.
- Skicka POST-slutpunkter
promptmed hjälp av HTTP-testverktyget. Om du har RestClient-tillägget installerat kan du köra begäranden direkt fråntest.httpprojektfilen.
Distribuera till Azure
Kör det här kommandot för att etablera funktionsappen med nödvändiga Azure-resurser och distribuera koden:
azd up
Du uppmanas att ange följande nödvändiga distributionsparametrar:
| Parameter | Description |
|---|---|
| Miljönamn | En miljö som används för att upprätthålla en unik distributionskontext för din app. Du uppmanas inte om du har skapat det lokala projektet med hjälp av azd init. |
| Azure-prenumeration | Prenumeration där dina resurser skapas. |
| Azure-lokalisering | Azure-region där du kan skapa resursgruppen som innehåller de nya Azure-resurserna. Endast regioner som för närvarande stöder Flex Consumption-planen visas. |
När publiceringen har slutförts azd får du URL-slutpunkterna för dina nya funktioner, men utan de funktionsnyckelvärden som krävs för att få åtkomst till slutpunkterna. Information om hur du hämtar samma slutpunkter tillsammans med de nödvändiga funktionsnycklarna finns i Anropa funktionen på Azure i den tillhörande artikeln Snabbstart: Skapa och distribuera funktioner till Azure Functions med hjälp av Azure Developer CLI.
Distribuera om koden
Du kan köra azd up kommandot så många gånger du behöver både etablera dina Azure-resurser och distribuera koduppdateringar till funktionsappen.
Note
Distribuerade kodfiler skrivs alltid över av det senaste distributionspaketet.
Rensa resurser
När du är klar med funktionsappen och relaterade resurser kan du använda det här kommandot för att ta bort funktionsappen och dess relaterade resurser från Azure och undvika att medföra ytterligare kostnader (--rensa lämnar inte en mjuk borttagning av AI-resursen och återställer din kvot):
azd down --purge