Origine dati - Indice Azure Machine Learning (anteprima)

Opzioni configurabili dell'indice di Azure Machine Learning quando si usa Azure OpenAI nei dati. Questa origine dati è supportata nella versione dell'API 2024-02-15-preview.

Nome Digita Obbligatorio Descrizione
parameters Parametri Vero Parametri da usare durante la configurazione dell'indice di Azure Machine Learning.
type string True Deve essere azure_ml_index.

Parametri

Nome Digita Obbligatorio Descrizione
project_resource_id stringa True L’ID della risorsa del progetto di Azure Machine Learning.
name string True Nome dell'indice di Azure Machine Learning.
version string True La versione dell’indice di Azure Machine Learning.
authentication Uno fra AccessTokenAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions Vero Metodo di autenticazione da utilizzare per l'accesso all'origine dati definita.
in_scope boolean Falso Indica se le query devono essere limitate all'uso di dati indicizzati. Il valore predefinito è True.
role_information string Falso Fornire al modello le istruzioni sul comportamento e su qualsiasi contesto a cui deve fare riferimento durante la generazione di una risposta. È possibile descrivere la personalità dell'assistente e indicargli come formattare le risposte.
strictness integer Falso La rigidità configurata del filtro di pertinenza della ricerca. Maggiore è la rigidità, maggiore sarà la precisione, ma minore il richiamo della risposta. Il valore predefinito è 3.
top_n_documents integer Falso Numero massimo di documenti configurato per la funzionalità per la query configurata. Il valore predefinito è 5.
filter string Falso Filtro di ricerca. Supportato solo se l'indice di Azure Machine Learning è di tipo Ricerca di Azure.

Opzioni di autenticazione del token di accesso

Opzioni di autenticazione per Azure OpenAI On Your Data quando si usa un token di accesso.

Nome Digita Obbligatorio Descrizione
access_token stringa True Token di accesso da usare per l'autenticazione.
type string True Deve essere access_token.

Opzioni di autenticazione dell'identità gestita assegnata dal sistema

Le opzioni di autenticazione per Azure OpenAI On Your Data quando si usa un'identità gestita assegnata dal sistema.

Nome Digita Obbligatorio Descrizione
type stringa True Deve essere system_assigned_managed_identity.

Opzioni di autenticazione dell'identità gestita assegnata dall'utente

Le opzioni di autenticazione per Azure OpenAI On Your Data quando si usa un'identità gestita assegnata dall'utente.

Nome Digita Obbligatorio Descrizione
managed_identity_resource_id stringa True L'ID risorsa dell'identità gestita assegnata dall'utente da usare per l'autenticazione.
type string True Deve essere user_assigned_managed_identity.

Esempi

Prerequisiti:

  • Configurare le assegnazioni di ruolo dall'identità gestita assegnata dal sistema OpenAI di Azure alla risorsa dell'area di lavoro di Azure Machine Learning. Ruolo richiesto: AzureML Data Scientist.
  • Configurare le assegnazioni di ruolo dall'utente alla risorsa OpenAI di Azure. Ruolo richiesto: Cognitive Services OpenAI User.
  • Installare l’interfaccia della riga di comando di Azure ed eseguire az login.
  • Definire le variabili di ambiente seguenti: AzureOpenAIEndpoint, ChatCompletionsDeploymentName, ProjectResourceId, IndexName, IndexVersion.
  • Eseguire export MSYS_NO_PATHCONV=1 se si usa 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

Installare i pacchetti pip più recenti 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))