Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
La extensión de Azure OpenAI para Azure Functions está actualmente en versión preliminar.
La extensión Azure OpenAI para Azure Functions implementa un conjunto de desencadenadores y enlaces que permiten integrar fácilmente características y comportamientos de Azure OpenAI en Foundry Models en las ejecuciones de código de función.
Azure Functions es un servicio de proceso controlado por eventos que proporciona un conjunto de desencadenadores y enlaces para conectarse fácilmente con otros servicios de Azure.
Con la integración entre Azure OpenAI y Functions, puede crear funciones que puedan:
Acción | Tipo de desencadenador/enlace |
---|---|
Uso de una solicitud de texto estándar para la finalización del contenido | Enlace de entrada de finalización de texto de Azure OpenAI |
Responder a una solicitud del asistente para llamar a una función | Desencadenador del asistente de Azure OpenAI |
Creación de un asistente | Enlace de salida de creación del asistente de Azure OpenAI |
Mensaje a un asistente | Enlace posterior a la entrada del asistente de Azure OpenAI |
Obtener historial del asistente | Enlace de entrada de consulta del asistente de Azure OpenAI |
Leer incrustaciones de texto | Enlace de entrada de inserciones Azure OpenAI |
Escritura en una base de datos vectorial | Enlace de salida que almacena inserciones de Azure OpenAI |
Lectura de una base de datos vectorial | Enlace de entrada de búsqueda semántica de Azure OpenAI |
Instalación de la extensión
El paquete NuGet de extensión que instale depende del modo de C# en proceso o proceso de trabajo aislado está usando en la aplicación de funciones:
Agregue la extensión Azure OpenAI al proyecto mediante la instalación del paquete NuGet Microsoft.Azure.Functions.Worker.Extensions.OpenAI, que puede hacer mediante la CLI de .NET:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.OpenAI --prerelease
Al usar una base de datos vectorial para almacenar contenido, también debe instalar al menos uno de estos paquetes NuGet:
- Azure AI Search: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.AzureAISearch
- Núcleo virtual de Azure Cosmos DB para MongoDB: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Azure Cosmos DB para NoSQL: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Explorador de datos de Azure: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.Kusto
Instalación del conjunto
Puede agregar la extensión de vista previa agregando o reemplazando el código siguiente en el host.json
archivo, que tiene como destino específicamente una versión preliminar del lote 4.x que contiene la extensión OpenAI:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.*, 5.0.0)"
}
}
Conexión a OpenAI
Para usar la extensión de enlace de Azure OpenAI, debe especificar una conexión a OpenAI. Esta conexión se define mediante la configuración de la aplicación y la AIConnectionName
propiedad del desencadenador o enlace. También puede usar variables de entorno para definir conexiones basadas en claves.
Se recomienda usar conexiones basadas en identidades administradas y la AIConnectionName
propiedad .
Los enlaces de OpenAI tienen una AIConnectionName
propiedad que puede usar para especificar para <ConnectionNamePrefix>
este grupo de configuraciones de aplicación que definen la conexión a Azure OpenAI:
Nombre del valor | Descripción |
---|---|
<CONNECTION_NAME_PREFIX>__endpoint |
Establece el punto de conexión de URI de Azure OpenAI en foundry Models. Esta configuración siempre es necesaria. |
<CONNECTION_NAME_PREFIX>__clientId |
Establece la identidad asignada por el usuario específica que se usará al obtener un token de acceso. Requiere que <CONNECTION_NAME_PREFIX>__credential se establezca en managedidentity . La propiedad acepta un identificador de cliente correspondiente a una identidad asignada por el usuario asignada a la aplicación. No es válido especificar un id. de recurso así como tampoco es válido un id. de cliente. Si no se especifica, se usa la identidad asignada por el sistema. Esta propiedad se usa de forma diferente en escenarios de desarrollo locales, en los que no se debe establecer el elemento credential . |
<CONNECTION_NAME_PREFIX>__credential |
Define cómo se obtiene un token de acceso para la conexión. Use managedidentity para la autenticación de identidad administrada. Este valor sólo es válido cuando existe una identidad administrada disponible en el entorno del hospedaje. |
<CONNECTION_NAME_PREFIX>__managedIdentityResourceId |
Cuando credential se establece en managedidentity , esta propiedad se puede establecer para que especifique el identificador de recurso que se utilizará al obtener un token. La propiedad acepta un identificador de recurso correspondiente al Id. de recurso de la identidad administrada definida por el usuario. No es válido especificar un Id. de recurso así como tampoco es válido un Id. de cliente. Si no se especifica ninguna de las dos, se utiliza la identidad asignada por el sistema. Esta propiedad se usa de forma diferente en escenarios de desarrollo locales, en los que no se debe establecer el elemento credential . |
<CONNECTION_NAME_PREFIX>__key |
Establece la clave secreta compartida necesaria para acceder al punto de conexión de Azure OpenAI mediante la autenticación basada en claves. Como procedimiento recomendado de seguridad, siempre debe usar el identificador de Entra de Microsoft con identidades administradas para la autenticación. |
Tenga en cuenta esta configuración de conexión de identidad administrada cuando la AIConnectionName
propiedad se establece myAzureOpenAI
en :
myAzureOpenAI__endpoint=https://contoso.openai.azure.com/
myAzureOpenAI__credential=managedidentity
myAzureOpenAI__clientId=aaaaaaaa-bbbb-cccc-1111-222222222222
En tiempo de ejecución, el host interpreta colectivamente esta configuración como una única myAzureOpenAI
configuración como esta:
"myAzureOpenAI":
{
"endpoint": "https://contoso.openai.azure.com/",
"credential": "managedidentity",
"clientId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
}
Al usar identidades administradas, asegúrese de agregar su identidad al rol de usuario de OpenAI de Cognitive Services .
Al ejecutar localmente, debe agregar esta configuración al archivo de proyecto delocal.settings.json . Para obtener más información, consulte Desarrollo local con conexiones basadas en identidades.
Para más información, consulte Trabajar con la configuración de la aplicación.