Origine dati - Azure AI Search
Opzioni configurabili di Azure AI Search quando si usa Azure OpenAI sui dati. Questa origine dati è supportata nella versione dell'API 2024-02-01
.
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 assoluto dell'endpoint 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 |
ApiKeyAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions o onYourDataAccessTokenAuthenticationOptions | Vero | Metodo di autenticazione da usare per l'accesso all'origine dati definita. |
embedding_dependency |
DeploymentNameVectorizationSource o EndpointVectorizationSource | Falso | Dipendenza di incorporamento per la ricerca vettoriale. Obbligatorio quando query_type è vector , vector_simple_hybrid o 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 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. |
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 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 . |
max_search_queries |
integer | Falso | Il numero massimo di query riscritte deve essere inviato al provider di ricerca per un messaggio utente. Se non è specificato, il sistema deciderà il numero di richieste da inviare. |
allow_partial_result |
integer | Falso | Se specificato come true, il sistema consentirà l'uso di risultati parziali della ricerca e la richiesta avrà esito negativo se tutte le query hanno esito negativo. Se non specificato, o specificato come false, la richiesta avrà esito negativo se una query di ricerca ha esito negativo. |
include_contexts |
array | Falso | Le proprietà include del contesto di output. Se non specificato, il valore predefinito è citations e intent . I valori possono essere citations , intent , all_retrieved_documents . |
Opzioni di autenticazione della chiave API
Le opzioni di autenticazione per Azure OpenAI On Your Data quando si usa una chiave API.
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
key |
stringa | True | La 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 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 . |
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 . |
Origine di vettorizzazione del nome della distribuzione
Dettagli dell'origine di vettorizzazione, usati da Azure OpenAI sui dati quando si applica la ricerca vettoriale. Questa origine di vettorizzazione si basa sul nome della distribuzione di un modello di incorporamento interno nella stessa risorsa Azure OpenAI. Questa origine di vettorizzazione consente di usare la ricerca vettoriale senza chiave API di Azure OpenAI e senza accesso alla rete pubblica di Azure OpenAI.
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
deployment_name |
stringa | True | Nome della distribuzione del modello di incorporamento nella stessa risorsa Azure OpenAI. |
type |
string | True | Deve essere deployment_name . |
dimensions |
integer | Falso | Numero di dimensioni che devono essere presenti negli incorporamenti. Supportata solo in text-embedding-3 e versioni successive. |
Origine di vettorizzazione endpoint
Dettagli dell'origine di vettorizzazione, usati da Azure OpenAI sui dati quando si applica la ricerca vettoriale. Questa origine di vettorizzazione si basa sull'endpoint dell'API di incorporamento di Azure OpenAI.
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
endpoint |
stringa | True | Specifica l'URL dell'endpoint della risorsa da cui recuperare gli incorporamenti. Dovrebbe avere il 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 usare per il recupero di incorporamenti dall'endpoint specificato. |
type |
string | True | Deve essere endpoint . |
dimensions |
integer | Falso | Numero di dimensioni che devono essere presenti negli incorporamenti. Supportata solo in text-embedding-3 e versioni successive. |
Opzioni di mapping dei campi
Impostazioni opzionali per controllare il modo in cui i campi vengono elaborati quando si usa una risorsa di Ricerca di Azure configurata.
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
content_fields |
string[] | Falso | I nomi dei campi di indice che devono essere gestiti come contenuto. |
vector_fields |
string[] | Falso | Nomi dei campi che rappresentano dati vettoriali. |
content_fields_separator |
string | Falso | Il modello separatore che devono usare i campi di contenuto. Il valore predefinito è \n . |
filepath_field |
string | Falso | Il nome del campo di indice da usare come percorso file. |
title_field |
string | Falso | Il nome del campo indice da usare 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 query di Azure OpenAI sui dati.
Valore di 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 strategia di query semplice con dati vettoriali. |
vector_semantic_hybrid |
Rappresenta una combinazione di query di ricerca semantica e 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 richiesti:
Search Index Data Reader
,Search Service Contributor
. - 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 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 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")
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))