Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
A extensão do Azure OpenAI para o Azure Functions está atualmente em visualização.
A extensão do Azure OpenAI para Azure Functions implementa um conjunto de gatilhos e associações que permitem integrar facilmente recursos e comportamentos do Azure OpenAI em Modelos do Foundry em suas execuções de código de função.
O Azure Functions é um serviço de computação controlado por eventos que fornece um conjunto de gatilhos e associações para se conectar facilmente a outros serviços do Azure.
Com a integração entre o Azure OpenAI e o Functions, você pode criar funções que podem:
| Ação | Tipo de gatilho/ligação |
|---|---|
| Usar um prompt de texto padrão para conclusão de conteúdo | Vinculação de entrada de conclusão de texto do Azure OpenAI |
| Responder a um pedido de assistente para chamar uma função | Gatilho do assistente do Azure OpenAI |
| Criar um assistente | Assistente do Azure OpenAI criar ligação de saída |
| Envie uma mensagem a um assistente | Assistente do Azure OpenAI após vinculação de entrada |
| Obter histórico do assistente | Vinculação de entrada de consulta do assistente do Azure OpenAI |
| Ler incorporações de texto | Azure OpenAI incorpora vinculação de entrada |
| Gravar em um banco de dados vetorial | Azure OpenAI incorpora vinculação de saída de loja |
| Ler a partir de uma base de dados vetorial | Vinculação de entrada de pesquisa semântica do Azure OpenAI |
Instalar a extensão
O pacote NuGet de extensão que você instala depende do processo de trabalho isolado ou em processo do modo C# que você está usando em seu aplicativo de função:
Adicione a extensão OpenAI do Azure ao seu projeto instalando o pacote NuGet Microsoft.Azure.Functions.Worker.Extensions.OpenAI, o que você pode fazer usando a CLI do .NET:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.OpenAI --prerelease
Ao usar um banco de dados vetorial para armazenar conteúdo, você também deve instalar pelo menos um destes pacotes NuGet:
- Azure AI Search: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.AzureAISearch
- Azure Cosmos DB para MongoDB vCore: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Azure Cosmos DB para NoSQL: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Azure Data Explorer: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.Kusto
Instalar pacote
Para poder usar essa extensão de vinculação de visualização em seu aplicativo, você deve fazer referência a um pacote de extensão de visualização que a inclua.
Adicione ou substitua o seguinte código em seu host.json arquivo, que visa especificamente a versão de visualização mais recente do pacote 4.x:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.0.0, 5.0.0)"
}
}
Selecione o link anterior para verificar se a versão mais recente do pacote de visualização contém a extensão de visualização.
Conectando-se ao OpenAI
Para usar a extensão de vinculação do Azure OpenAI, você precisa especificar uma conexão com o OpenAI. Essa conexão é definida usando as configurações do aplicativo e a AIConnectionName propriedade do gatilho ou ligação. Você também pode usar variáveis de ambiente para definir conexões baseadas em chave.
Recomendamos que você use conexões gerenciadas baseadas em identidade e a AIConnectionName propriedade.
As associações OpenAI têm uma AIConnectionName propriedade que você pode usar para especificar o <ConnectionNamePrefix> para este grupo de configurações de aplicativo que definem a conexão com o Azure OpenAI:
| Nome da definição | Descrição |
|---|---|
<CONNECTION_NAME_PREFIX>__endpoint |
Define o ponto de extremidade URI do Azure OpenAI em modelos de fundição. Essa configuração é sempre necessária. |
<CONNECTION_NAME_PREFIX>__clientId |
Define a identidade específica atribuída pelo usuário a ser usada ao obter um token de acesso. Requer que <CONNECTION_NAME_PREFIX>__credential esteja definido como managedidentity. A propriedade aceita um ID de cliente correspondente a uma identidade atribuída pelo usuário atribuída ao aplicativo. É inválido especificar uma ID de recurso e uma ID de cliente. Se não for especificado, a identidade atribuída ao sistema será usada. Esta propriedade é usada de forma diferente em cenários de desenvolvimento local, quando credential não deveria ser definida. |
<CONNECTION_NAME_PREFIX>__credential |
Define como um token de acesso é obtido para a conexão. Use managedidentity para autenticação de identidade gerenciada. Esse valor só é válido quando uma identidade gerenciada está disponível no ambiente de hospedagem. |
<CONNECTION_NAME_PREFIX>__managedIdentityResourceId |
Quando credential é definido como managedidentity, essa propriedade pode ser definida para especificar o Identificador de recurso a ser usado ao obter um token. A propriedade aceita um identificador de recurso correspondente ao ID do recurso da identidade gerenciada definida pelo usuário. É inválido especificar um ID de recurso e um ID de cliente. Se nenhum dos dois for especificado, a identidade atribuída ao sistema será usada. Esta propriedade é usada de forma diferente em cenários de desenvolvimento local, quando credential não deveria ser definida. |
<CONNECTION_NAME_PREFIX>__key |
Define a chave de segredo compartilhado necessária para acessar o ponto de extremidade do Azure OpenAI usando a autenticação baseada em chave. Como prática recomendada de segurança, você deve sempre usar o Microsoft Entra ID com identidades gerenciadas para autenticação. |
Considere estas configurações de conexão de identidade gerenciada quando a AIConnectionName propriedade estiver definida como myAzureOpenAI:
myAzureOpenAI__endpoint=https://contoso.openai.azure.com/myAzureOpenAI__credential=managedidentitymyAzureOpenAI__clientId=aaaaaaaa-bbbb-cccc-1111-222222222222
No tempo de execução, essas configurações são interpretadas coletivamente pelo host como uma única myAzureOpenAI configuração como esta:
"myAzureOpenAI":
{
"endpoint": "https://contoso.openai.azure.com/",
"credential": "managedidentity",
"clientId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
}
Ao usar identidades gerenciadas, certifique-se de adicionar sua identidade à função de Usuário OpenAI dos Serviços Cognitivos .
Ao executar localmente, você deve adicionar essas configurações ao arquivo de projetolocal.settings.json . Para obter mais informações, consulte Desenvolvimento local com conexões baseadas em identidade.
Para obter mais informações, consulte Trabalhar com configurações do aplicativo.