Share via


Origine dati - Ricerca di intelligenza artificiale di Azure

Opzioni configurabili di Ricerca di intelligenza artificiale di Azure quando si usa Azure OpenAI nei dati. Questa origine dati è supportata nella versione 2024-02-01dell'API .

Nome Digita Obbligatorio Descrizione
parameters Parametri Vero Parametri da usare durante la configurazione di Ricerca di Azure.
type string True Deve essere azure_search.

Parametri

Nome Digita Obbligatorio Descrizione
endpoint stringa True Percorso endpoint assoluto per la risorsa di Ricerca di Azure da usare.
index_name string True Nome dell'indice da usare nella risorsa ricerca di Azure a cui si fa riferimento.
authentication Uno di ApiKeyAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions Vero Metodo di autenticazione da utilizzare per l'accesso all'origine dati definita.
embedding_dependency Uno di DeploymentNameVectorizationSource, EndpointVectorizationSource Falso Dipendenza di incorporamento per la ricerca vettoriale. Obbligatorio quando query_type è vector, vector_simple_hybrido vector_semantic_hybrid.
fields_mapping FieldsMappingOptions Falso Comportamento personalizzato di mapping dei campi da usare durante l'interazione con l'indice di ricerca.
filter string Falso Filtro di ricerca.
in_scope boolean Falso Indica se le query devono essere limitate all'uso di dati indicizzati. Il valore predefinito è True.
query_type QueryType Falso Tipo di query da usare con Ricerca di Azure. L'impostazione predefinita è simple
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.
semantic_configuration string Falso Configurazione semantica per la query. Obbligatorio quando query_type è semantic o vector_semantic_hybrid.
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.

Opzioni di autenticazione della chiave API

Opzioni di autenticazione per Azure OpenAI nei dati quando si usa una chiave API.

Nome Digita Obbligatorio Descrizione
key stringa True Chiave API da usare per l'autenticazione.
type string True Deve essere api_key.

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.

Origine vettorializzazione del nome della distribuzione

I dettagli dell'origine di vettorizzazione, usati da Azure OpenAI on Your Data quando si applica la ricerca vettoriale. Questa origine di vettorizzazione si basa su un nome di distribuzione del modello di incorporamento interno nella stessa risorsa OpenAI di Azure. Questa origine di vettorizzazione consente di usare la ricerca vettoriale senza chiave API OpenAI di Azure e senza accesso alla rete pubblica di Azure OpenAI.

Nome Digita Obbligatorio Descrizione
deployment_name stringa True Nome della distribuzione del modello di incorporamento all'interno della stessa risorsa OpenAI di Azure.
type string True Deve essere deployment_name.

Origine di vettorizzazione degli endpoint

I dettagli dell'origine di vettorizzazione, usati da Azure OpenAI on Your Data quando si applica la ricerca vettoriale. Questa origine di vettorizzazione si basa sull'endpoint dell'API di incorporamento OpenAI di Azure.

Nome Digita Obbligatorio Descrizione
endpoint stringa True Specifica l'URL dell'endpoint della risorsa da cui recuperare gli incorporamenti. Deve essere nel formato .https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings Il parametro di query api-version non è consentito.
authentication ApiKeyAuthenticationOptions Vero Specifica le opzioni di autenticazione da utilizzare per il recupero di incorporamenti dall'endpoint specificato.
type string True Deve essere endpoint.

Opzioni di mapping dei campi

Impostazioni facoltative per controllare la modalità di elaborazione dei campi quando si usa una risorsa di Ricerca di Azure configurata.

Nome Digita Obbligatorio Descrizione
content_fields string[] Falso Nomi dei campi di indice che devono essere considerati come contenuto.
vector_fields string[] Falso Nomi dei campi che rappresentano i dati vettoriali.
content_fields_separator string Falso Modello separatore che i campi di contenuto devono usare. Il valore predefinito è \n.
filepath_field string Falso Nome del campo di indice da utilizzare come percorso file.
title_field string Falso Nome del campo di indice da utilizzare come titolo.
url_field string Falso Nome del campo di indice da usare come URL.

Tipo di query

Tipo di query di recupero di Ricerca di Azure che deve essere eseguita quando viene usata come OpenAI di Azure nei dati.

Valore enumerazione Descrizione
simple Rappresenta il parser di query semplice predefinito.
semantic Rappresenta il parser di query semantico per la modellazione semantica avanzata.
vector Rappresenta la ricerca vettoriale sui dati calcolati.
vector_simple_hybrid Rappresenta una combinazione della semplice strategia di query con i dati vettoriali.
vector_semantic_hybrid Rappresenta una combinazione di query di ricerca semantica e di dati vettoriali.

Esempi

Prerequisiti:

  • Configurare le assegnazioni di ruolo dall'identità gestita assegnata dal sistema OpenAI di Azure al servizio di ricerca di Azure. Ruoli obbligatori: Search Index Data Reader, Search Service Contributor.
  • 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,SearchEndpoint , SearchIndex.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export SearchEndpoint=https://example.search.windows.net
export SearchIndex=example-index

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")
search_endpoint = os.environ.get("SearchEndpoint")
search_index = os.environ.get("SearchIndex")

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-01",
)

completion = client.chat.completions.create(
    model=deployment,
    messages=[
        {
            "role": "user",
            "content": "Who is DRI?",
        },
    ],
    extra_body={
        "data_sources": [
            {
                "type": "azure_search",
                "parameters": {
                    "endpoint": search_endpoint,
                    "index_name": search_index,
                    "authentication": {
                        "type": "system_assigned_managed_identity"
                    }
                }
            }
        ]
    }
)

print(completion.model_dump_json(indent=2))