Origen de datos: Índice de Azure Machine Learning (versión preliminar)
Opciones configurables del índice de Azure Machine Learning al usar Azure OpenAI en los datos. Este origen de datos se admite en la versión 2024-02-15-preview
de la API.
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
parameters |
Parámetros | True | Parámetros que se usarán al configurar el índice de Azure Machine Learning. |
type |
string | True | Debe ser azure_ml_index . |
Parámetros
Nombre | Type | Obligatorio | Description |
---|---|---|---|
project_resource_id |
string | True | Id. de recurso del proyecto de Azure Machine Learning. |
name |
string | True | Nombre del índice de Azure Machine Learning. |
version |
string | True | Versión del índice de Azure Machine Learning. |
authentication |
Uno de los elementos AccessTokenAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions o UserAssignedManagedIdentityAuthenticationOptions | True | Método de autenticación que se va a usar al acceder al origen de datos definido. |
in_scope |
boolean | False | Si las consultas deben restringirse al uso de datos indexados. El valor predeterminado es True . |
role_information |
string | False | Proporcione instrucciones al modelo sobre cómo debe comportarse y cualquier contexto al que debe hacer referencia al generar una respuesta. Puede describir la personalidad del asistente y indicarle cómo dar formato a las respuestas. |
strictness |
integer | False | La configuración estricta del filtrado de relevancia de búsqueda. Cuanto más estricta sea, mayor será la precisión, pero una menor coincidencia de la respuesta. El valor predeterminado es 3 . |
top_n_documents |
integer | False | El número superior configurado de documentos que se van a presentar para la consulta configurada. El valor predeterminado es 5 . |
filter |
string | False | Filtro de búsqueda. Solo se admite si el índice de Azure Machine Learning es de tipo Azure Cognitive Search. |
Opciones de autenticación de token de acceso
Las opciones de autenticación de Azure OpenAI en los datos al usar un token de acceso.
Nombre | Type | Obligatorio | Description |
---|---|---|---|
access_token |
string | True | El token de acceso para usar en la autenticación. |
type |
string | True | Debe ser access_token . |
Opciones de autenticación de identidad administrada asignadas por el sistema
Las opciones de autenticación de Azure OpenAI en los datos al usar una identidad administrada asignada por el sistema.
Nombre | Type | Obligatorio | Description |
---|---|---|---|
type |
string | True | Debe ser system_assigned_managed_identity . |
Opciones de autenticación de identidad administrada asignadas por el usuario
Las opciones de autenticación de Azure OpenAI en los datos al usar una identidad administrada asignada por el usuario.
Nombre | Type | Obligatorio | Description |
---|---|---|---|
managed_identity_resource_id |
string | True | Identificador de recurso de la identidad administrada asignada por el usuario que se va a usar para la autenticación. |
type |
string | True | Debe ser user_assigned_managed_identity . |
Ejemplos
Requisitos previos:
- Configura las asignaciones de roles desde la identidad administrada asignada por el sistema de Azure OpenAI al recurso del área de trabajo de Azure Machine Learning. Rol necesario:
AzureML Data Scientist
. - Configure las asignaciones de roles del usuario al recurso de Azure OpenAI. Rol necesario:
Cognitive Services OpenAI User
. - Instale la CLI de Az y ejecute
az login
. - Define las siguientes variables de entorno:
AzureOpenAIEndpoint
,ChatCompletionsDeploymentName
,ProjectResourceId
,IndexName
yIndexVersion
. - Ejecuta
export MSYS_NO_PATHCONV=1
si usas MINGW.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export ProjectResourceId='/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-id}'
export IndexName=testamlindex
export IndexVersion=2
Instale los paquetes de pip más recientes openai
, azure-identity
.
import os
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
endpoint = os.environ.get("AzureOpenAIEndpoint")
deployment = os.environ.get("ChatCompletionsDeploymentName")
project_resource_id = os.environ.get("ProjectResourceId")
index_name = os.environ.get("IndexName")
index_version = os.environ.get("IndexVersion")
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default")
client = AzureOpenAI(
azure_endpoint=endpoint,
azure_ad_token_provider=token_provider,
api_version="2024-02-15-preview",
)
completion = client.chat.completions.create(
model=deployment,
messages=[
{
"role": "user",
"content": "Who is DRI?",
},
],
extra_body={
"data_sources": [
{
"type": "azure_ml_index",
"parameters": {
"project_resource_id": project_resource_id,
"name": index_name,
"version": index_version,
"authentication": {
"type": "system_assigned_managed_identity"
},
}
}
]
}
)
print(completion.model_dump_json(indent=2))