Sdílet prostřednictvím


Rozšíření Azure OpenAI pro Azure Functions

Důležité

Rozšíření Azure OpenAI pro Azure Functions je aktuálně ve verzi Preview.

Rozšíření Azure OpenAI pro Azure Functions implementuje sadu triggerů a vazeb, které umožňují snadno integrovat funkce a chování služby Azure OpenAI do spouštění kódu funkce.

Azure Functions je výpočetní služba řízená událostmi, která poskytuje sadu triggerů a vazeb pro snadné připojení k dalším službám Azure.

Díky integraci mezi Azure OpenAI a Functions můžete vytvářet funkce, které můžou:

Akce Typ triggeru nebo vazby
Použití standardní textové výzvy k dokončení obsahu Vstupní vazba pro dokončování textu Azure OpenAI
Odpověď na žádost asistenta o volání funkce Trigger Pomocníka pro Azure OpenAI
Vytvoření asistenta Azure OpenAI Assistant – vytvoření výstupní vazby
Zpráva asistenta Pomocník Azure OpenAI po vstupní vazbě
Získání historie asistentů Vstupní vazba dotazu pomocníka Azure OpenAI
Čtení vkládání textu Vkládání vstupní vazby Azure OpenAI
Zápis do vektorové databáze Vkládání Azure OpenAI ukládá výstupní vazbu
Čtení z vektorové databáze Sémantická vstupní vazba hledání v Azure OpenAI

Instalace rozšíření

Balíček NuGet rozšíření, který nainstalujete, závisí na režimu jazyka C# v procesu nebo izolovaném pracovním procesu , který používáte ve své aplikaci funkcí:

Přidejte do projektu rozšíření Azure OpenAI instalací balíčku NuGet Microsoft.Azure.Functions.Worker.Extensions.OpenAI , který můžete provést pomocí rozhraní příkazového řádku .NET:

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.OpenAI  --prerelease

Při použití vektorové databáze pro ukládání obsahu byste také měli nainstalovat alespoň jeden z těchto balíčků NuGet:

Instalace sady

Rozšíření Preview můžete přidat přidáním nebo nahrazením následujícího kódu v host.json souboru, který konkrétně cílí na verzi Preview sady 4.x, která obsahuje příponu OpenAI:

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
    "version": "[4.*, 5.0.0)"
  }
}

Připojení k OpenAI

Pokud chcete použít rozšíření vazby Azure OpenAI, musíte zadat připojení k OpenAI. Toto připojení je definováno pomocí nastavení aplikace a AIConnectionName vlastnosti triggeru nebo vazby. Proměnné prostředí můžete také použít k definování připojení založených na klíčích.

Doporučujeme používat připojení založená na spravovaných identitách a AIConnectionName vlastnost.

Vazby OpenAI mají AIConnectionName vlastnost, kterou můžete použít k určení <ConnectionNamePrefix> pro tuto skupinu nastavení aplikace, která definuje připojení k Azure OpenAI:

Název nastavení Popis
<CONNECTION_NAME_PREFIX>__endpoint Nastaví koncový bod URI služby Azure OpenAI. Toto nastavení je vždy povinné.
<CONNECTION_NAME_PREFIX>__clientId Nastaví konkrétní identitu přiřazenou uživatelem, která se má použít při získání přístupového tokenu. Vyžaduje, aby <CONNECTION_NAME_PREFIX>__credential byla nastavena hodnota managedidentity. Vlastnost přijímá ID klienta odpovídající identitě přiřazené uživatelem přiřazené aplikaci. Není platné zadat ID prostředku i ID klienta. Pokud není zadána, použije se identita přiřazená systémem. Tato vlastnost se v místních vývojových scénářích používá odlišně, pokud credential by neměla být nastavena.
<CONNECTION_NAME_PREFIX>__credential Definuje způsob získání přístupového tokenu pro připojení. Používá se managedidentity pro ověřování spravovaných identit. Tato hodnota je platná pouze v případě, že je spravovaná identita dostupná v hostitelském prostředí.
<CONNECTION_NAME_PREFIX>__managedIdentityResourceId Pokud credential je nastavena managedidentityna hodnotu , může být tato vlastnost nastavena pro zadání identifikátoru prostředku, který se má použít při získání tokenu. Vlastnost přijímá identifikátor prostředku odpovídající ID prostředku uživatelem definované spravované identity. Není platné zadat ID prostředku i ID klienta. Pokud není zadána žádná, použije se identita přiřazená systémem. Tato vlastnost se v místních vývojových scénářích používá odlišně, pokud credential by neměla být nastavena.
<CONNECTION_NAME_PREFIX>__key Nastaví sdílený tajný klíč potřebný pro přístup ke koncovému bodu služby Azure OpenAI pomocí ověřování založeného na klíči. Osvědčeným postupem zabezpečení je vždy použít ID Microsoft Entra se spravovanými identitami pro ověřování.

Zvažte tato nastavení připojení spravované identity, pokud je vlastnost AIConnectionName nastavena na myAzureOpenAI:

  • myAzureOpenAI__endpoint=https://contoso.openai.azure.com/
  • myAzureOpenAI__credential=managedidentity
  • myAzureOpenAI__clientId=aaaaaaaa-bbbb-cccc-1111-222222222222

Za běhu jsou tato nastavení hostiteli souhrnně interpretována jako jedno myAzureOpenAI nastavení, jako je toto:

"myAzureOpenAI":
{
    "endpoint": "https://contoso.openai.azure.com/",
    "credential": "managedidentity",
    "clientId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
}

Při použití spravovaných identit nezapomeňte přidat vaši identitu do role uživatele OpenAI služeb Cognitive Services .

Při místním spuštění musíte tato nastavení přidat do souboru projektulocal.settings.json . Další informace najdete v tématu Místní vývoj s využitím připojení založených na identitě.

Další informace naleznete v tématu Práce s nastavením aplikace.