Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Atualmente, a extensão do OpenAI do Azure para Azure Functions está em versão prévia.
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 de Fundimento 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 facilitar a conexão com outros serviços do Azure.
Com a integração entre o OpenAI do Azure e o Azure Functions, você pode criar funções que podem:
| Ação | Tipo de gatilho/associação |
|---|---|
| Usar um prompt de texto padrão para conclusão de conteúdo | Associação de entrada de preenchimento de texto do OpenAI do Azure |
| Responder a uma solicitação do assistente para chamar uma função | Gatilho do assistente do OpenAI do Azure |
| Criar um assistente | Associação de saída de criação do assistente do OpenAI do Azure |
| Enviar mensagem para um assistente | Associação de entrada de postagem do assistente do OpenAI do Azure |
| Obter histórico do assistente | Associação de entrada de consulta do assistente do OpenAI do Azure |
| Ler incorporações de texto | Associação de entrada de incorporações do OpenAI do Azure |
| Gravar em um banco de dados de vetores | Associação de saída do repositório de incorporações do OpenAI do Azure |
| Ler de um banco de dados de vetores | Associação de entrada de pesquisa semântica do OpenAI do Azure |
Instalar a extensão
O pacote NuGet de extensão instalado depende do processo ou do processo de trabalho isolado do C# que você estiver usando no seu aplicativo de funções:
Adicione a extensão do 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 de vetores para armazenar conteúdo, instale também pelo menos um desses pacotes NuGet:
- Pesquisa de IA do Azure: 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 associação de visualização em seu aplicativo, você deve referenciar um pacote de extensão de visualização que a inclua.
Adicione ou substitua o seguinte código em seu host.json arquivo, que tem como destino especificamente a versão prévia 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 associaçã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 da associação. Você também pode usar variáveis de ambiente para definir conexões baseadas em chave.
Recomendamos que você use conexões baseadas em identidade gerenciada e a AIConnectionName propriedade.
As associações OpenAI têm uma AIConnectionName propriedade que você pode usar para especificar o <ConnectionNamePrefix> grupo de configurações de aplicativo que definem a conexão com o Azure OpenAI:
| Nome da configuração | Descrição |
|---|---|
<CONNECTION_NAME_PREFIX>__endpoint |
Define o ponto de extremidade de URI do Azure OpenAI em Modelos de Fundimento. 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 uma 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 especificada, a identidade atribuída pelo sistema será usada. Essa propriedade é usada de forma diferente em cenários de desenvolvimento local, quando credential não puder ser definido. |
<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 estiver definido como managedidentity, essa propriedade pode ser definida para especificar o identificador de recurso a ser usado na obtenção de um token. A propriedade aceita um identificador de recurso correspondente à ID do recurso da identidade gerenciada definida pelo usuário. É inválido especificar uma ID de recurso e uma ID de cliente. Se nenhuma delas for especificada, a identidade atribuída pelo sistema será usada. Essa propriedade é usada de forma diferente em cenários de desenvolvimento local, quando credential não puder ser definido. |
<CONNECTION_NAME_PREFIX>__key |
Define a chave de segredo compartilhada 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ê sempre deve usar a ID do Microsoft Entra com identidades gerenciadas para autenticação. |
Considere essas configurações de conexão de identidade gerenciada quando a AIConnectionName propriedade for definida como myAzureOpenAI:
myAzureOpenAI__endpoint=https://contoso.openai.azure.com/myAzureOpenAI__credential=managedidentitymyAzureOpenAI__clientId=aaaaaaaa-bbbb-cccc-1111-222222222222
No runtime, 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, adicione 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, confira Trabalhar com configurações de aplicativo.