Condividi tramite


Origine dati - Indice di 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 2024-02-15-previewdell'API .

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 ID risorsa del progetto di Azure Machine Learning.
name string True Nome dell'indice di Azure Machine Learning.
version string True Versione dell'indice di Azure Machine Learning.
authentication Uno di 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 le istruzioni del modello sul comportamento e su qualsiasi contesto a cui deve fare riferimento durante la generazione di una risposta. È possibile descrivere la personalità dell'assistente e dirgli come formattare le risposte.
strictness integer Falso La rigidità configurata del filtro per pertinenza della ricerca. Maggiore è la rigidità, maggiore è la precisione ma il richiamo inferiore 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 sui dati quando si usa il 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 nei dati 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

Opzioni di autenticazione per Azure OpenAI nei dati quando si usa un'identità gestita assegnata dall'utente.

Nome Digita Obbligatorio Descrizione
managed_identity_resource_id stringa True 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 obbligatorio: AzureML Data Scientist.
  • Configurare le assegnazioni di ruolo dall'utente alla risorsa OpenAI di Azure. Ruolo obbligatorio: Cognitive Services OpenAI User.
  • Installare l'interfaccia della riga di comando di Az 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 openaipip più recenti , 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))