Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
Die Azure OpenAI-Erweiterung für Azure Functions befindet sich derzeit in der Vorschau.
Die Azure OpenAI-Erweiterung für Azure Functions implementiert eine Reihe von Triggern und Bindungen, mit denen Sie Features und Verhaltensweisen von Azure OpenAI in Foundry Models einfach in Ihre Funktionscodeausführungen integrieren können.
Azure Functions ist ein ereignisgesteuerter Computedienst, der mehrere Trigger und Bindungen bereitstellt, um das Herstellen von Verbindungen mit anderen Azure-Diensten zu vereinfachen.
Mit der Integration zwischen Azure OpenAI und Functions können Sie Funktionen mit folgenden Fähigkeiten erstellen:
Aktion | Trigger/Bindungstyp |
---|---|
Verwenden eines Standardtextprompts für die Vervollständigung von Inhalt | Azure OpenAI-Eingabebindung für Textvervollständigung |
Antworten auf eine Assistentenanforderung zum Aufrufen einer Funktion | Azure OpenAI-Assistententrigger |
Erstellen eines Assistenten | Azure OpenAI-Ausgabebindung zum Erstellen eines Assistenten |
Senden einer Nachricht an einen Assistenten | Azure OpenAI-Eingabebindung zum Senden einer Nachricht an den Assistenten |
Abrufen des Assistentenverlaufs | Azure OpenAI-Eingabebindung zum Abfragen des Assistenten |
Lesen von Texteinbettungen | Azure OpenAI-Eingabebindung für Einbettungen |
Schreiben in eine Vektordatenbank | Azure OpenAI-Ausgabebindung zum Speichern von Einbettungen |
Lesen aus einer Vektordatenbank | Azure OpenAI-Eingabebindung für die semantische Suche |
Installieren der Erweiterung
Das NuGet-Erweiterungspaket, das Sie installieren, hängt vom C#-Modus (In-Process oder isolierter Workerprozess) ab, den Sie in Ihrer Funktions-App verwenden:
Fügen Sie Ihrem Projekt die Azure OpenAI-Erweiterung hinzu, indem Sie das NuGet-Paket Microsoft.Azure.Functions.Worker.Extensions.OpenAI installieren. Dazu können Sie die .NET-CLI verwenden:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.OpenAI --prerelease
Wenn Sie eine Vektordatenbank zum Speichern von Inhalten verwenden, sollten Sie auch mindestens eines der folgenden NuGet-Pakete installieren:
- Azure KI-Suche: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.AzureAISearch
- Azure Cosmos DB für MongoDB vCore: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Azure Cosmos DB für NoSQL: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Azure Data Explorer: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.Kusto
Installieren des Pakets
Sie können die Vorschauerweiterung hinzufügen, indem Sie den folgenden Code in Ihrer host.json
Datei hinzufügen oder ersetzen, der speziell auf eine Vorschauversion des 4.x-Bundles ausgerichtet ist, das die OpenAI-Erweiterung enthält:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.*, 5.0.0)"
}
}
Herstellen einer Verbindung mit OpenAI
Um die Azure OpenAI-Bindungserweiterung zu verwenden, müssen Sie eine Verbindung mit OpenAI angeben. Diese Verbindung wird mithilfe von Anwendungseinstellungen und der AIConnectionName
Eigenschaft des Triggers oder der Bindung definiert. Sie können auch Umgebungsvariablen verwenden, um schlüsselbasierte Verbindungen zu definieren.
Es wird empfohlen, verwaltete identitätsbasierte Verbindungen und die AIConnectionName
Eigenschaft zu verwenden.
Die OpenAI-Bindungen verfügen über eine AIConnectionName
Eigenschaft, mit der Sie die <ConnectionNamePrefix>
Für diese Gruppe von App-Einstellungen angeben können, die die Verbindung mit Azure OpenAI definieren:
Einstellungsname | Beschreibung |
---|---|
<CONNECTION_NAME_PREFIX>__endpoint |
Legt den URI-Endpunkt der Azure OpenAI in Foundry Models fest. Diese Einstellung ist immer erforderlich. |
<CONNECTION_NAME_PREFIX>__clientId |
Legt die bestimmte vom Benutzer zugewiesene Identität fest, die beim Abrufen eines Zugriffstokens verwendet werden soll. Erfordert, dass <CONNECTION_NAME_PREFIX>__credential auf managedidentity festgelegt wird. Die Eigenschaft akzeptiert eine Client-ID, die einer vom Benutzer zugewiesenen Identität entspricht, die der Anwendung zugeordnet ist. Es ist nicht möglich, sowohl eine Ressourcen-ID als auch eine Client-ID anzugeben. Wenn nichts angegeben wird, wird die vom System zugewiesene Identität verwendet. Diese Eigenschaft wird in Szenarien für die lokale Entwicklung anders verwendet, in denen credential nicht festgelegt werden darf. |
<CONNECTION_NAME_PREFIX>__credential |
Definiert, wie ein Zugriffstoken für die Verbindung abgerufen wird. Wird für die verwaltete Identitätsauthentifizierung verwendet managedidentity . Dieser Wert ist nur gültig, wenn eine verwaltete Identität in der Hostingumgebung verfügbar ist. |
<CONNECTION_NAME_PREFIX>__managedIdentityResourceId |
Wenn credential auf managedidentity festgelegt ist, kann mit dieser Eigenschaft der Ressourcenbezeichner angegeben werden, der beim Abrufen eines Tokens verwendet werden soll. Die Eigenschaft akzeptiert einen Ressourcenbezeichner, der der Ressourcen-ID der benutzerdefinierten verwalteten Identität entspricht. Es ist nicht möglich, sowohl eine Ressourcen-ID als auch eine Client-ID anzugeben. Wenn nichts angegeben wird, wird die vom System zugewiesene Identität verwendet. Diese Eigenschaft wird in Szenarien für die lokale Entwicklung anders verwendet, in denen credential nicht festgelegt werden darf. |
<CONNECTION_NAME_PREFIX>__key |
Legt den freigegebenen geheimen Schlüssel fest, der für den Zugriff auf den Endpunkt von Azure OpenAI mithilfe der schlüsselbasierten Authentifizierung erforderlich ist. Als bewährte Methode für die Sicherheit sollten Sie immer Die Microsoft Entra-ID mit verwalteten Identitäten für die Authentifizierung verwenden. |
Berücksichtigen Sie diese Einstellungen für verwaltete Identitätsverbindung, wenn die Eigenschaft AIConnectionName
auf myAzureOpenAI
:
myAzureOpenAI__endpoint=https://contoso.openai.azure.com/
myAzureOpenAI__credential=managedidentity
myAzureOpenAI__clientId=aaaaaaaa-bbbb-cccc-1111-222222222222
Zur Laufzeit werden diese Einstellungen gemeinsam vom Host als einzelne myAzureOpenAI
Einstellung wie folgt interpretiert:
"myAzureOpenAI":
{
"endpoint": "https://contoso.openai.azure.com/",
"credential": "managedidentity",
"clientId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
}
Achten Sie bei der Verwendung verwalteter Identitäten darauf, Ihre Identität der OpenAI-Benutzerrolle "Cognitive Services" hinzuzufügen.
Wenn Sie lokal ausgeführt werden, müssen Sie diese Einstellungen der local.settings.json Projektdatei hinzufügen. Weitere Informationen finden Sie unter "Lokale Entwicklung mit identitätsbasierten Verbindungen".
Weitere Informationen finden Sie unter Verwenden von Anwendungseinstellungen.