Compartilhar via


Fonte de dados: Índice do Azure Machine Learning (versão prévia)

As opções configuráveis do índice do Azure Machine Learning ao usar o OpenAI do Azure em seus dados. Essa fonte de dados tem suporte na versão da API 2024-02-15-preview.

Nome Digitar Obrigatória Descrição
parameters Parâmetros Verdadeiro Os parâmetros a serem utilizados ao configurar o índice do Azure Machine Learning.
type string Verdadeiro Deve ser azure_ml_index.

Parâmetros

Nome Digitar Obrigatória Descrição
project_resource_id string Verdadeiro A ID do recurso do projeto do Azure Machine Learning.
name string Verdadeiro O nome do índice do Azure Machine Learning.
version string Verdadeiro A versão do índice do Azure Machine Learning.
authentication Uma das AccessTokenAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions Verdadeiro O método de autenticação a ser usado ao acessar a fonte de dados definida.
in_scope boolean Falso Se as consultas devem ser restritas ao uso de dados indexados. O padrão é True.
role_information string Falso Forneça ao modelo instruções sobre como ele deve se comportar e qualquer contexto que ele deve referenciar ao gerar uma resposta. Você pode descrever a personalidade do assistente e como formatar as respostas.
strictness Número inteiro Falso A rigorosidade configurada da filtragem de relevância da pesquisa. Quanto maior a rigorosidade, maior a precisão, mas menor a recuperação da resposta. O padrão é 3.
top_n_documents Número inteiro Falso O número máximo de documentos configurados a serem apresentados para a consulta configurada. O padrão é 5.
filter string Falso Filtro de pesquisa. Com suporte apenas se o índice do Azure Machine Learning for do tipo Azure Search.

Opções de autenticação do token de acesso

As opções de autenticação para o OpenAI do Azure Em Seus Dados ao usar o token de acesso.

Nome Digitar Obrigatória Descrição
access_token string Verdadeiro O token de acesso a ser utilizado para autenticação.
type string Verdadeiro Deve ser access_token.

Opções de autenticação de identidade gerenciada atribuída pelo sistema

As opções de autenticação do Azure OpenAI On Your Data ao usar uma identidade gerenciada atribuída pelo sistema.

Nome Digitar Obrigatória Descrição
type string Verdadeiro Deve ser system_assigned_managed_identity.

Opções de autenticação de identidade gerenciada atribuída pelo usuário

As opções de autenticação do Azure OpenAI On Your Data ao usar uma identidade gerenciada atribuída pelo usuário.

Nome Digitar Obrigatória Descrição
managed_identity_resource_id string Verdadeiro A ID do recurso da identidade gerenciada atribuída pelo usuário a ser usada para autenticação.
type string Verdadeiro Deve ser user_assigned_managed_identity.

Exemplos

Pré-requisitos:

  • Configure as atribuições de função da identidade gerenciada atribuída pelo sistema do OpenAI do Azure para o recurso de workspace do Azure Machine Learning. Função necessária: AzureML Data Scientist.
  • Configure as atribuições de função do usuário para o recurso do Azure OpenAI. Função necessária: Cognitive Services OpenAI User.
  • Instale Az CLI e execute az login.
  • Defina as seguintes variáveis de ambiente: AzureOpenAIEndpoint, ChatCompletionsDeploymentName, ProjectResourceId, IndexName, IndexVersion.
  • Execute export MSYS_NO_PATHCONV=1 se estiver usando o 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 os pacotes pip openai e azure-identity mais recentes.

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))