Origine dati - Elasticsearch (anteprima)
Opzioni configurabili per Elasticsearch quando si usa Azure OpenAI nei dati. Questa origine dati è supportata nella versione 2024-02-15-preview
dell'API .
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
parameters |
Parametri | Vero | Parametri da usare durante la configurazione di Elasticsearch. |
type |
string | True | Deve essere elasticsearch . |
Parametri
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
endpoint |
stringa | True | Percorso endpoint assoluto da usare per la risorsa Elasticsearch. |
index_name |
string | True | Nome dell'indice da usare in Elasticsearch a cui si fa riferimento. |
authentication |
Una delle opzioni KeyAndKeyIdAuthenticationOptions, EncodedApiKeyAuthenticationOptions | Vero | Metodo di autenticazione da utilizzare per l'accesso all'origine dati definita. |
embedding_dependency |
Uno di DeploymentNameVectorizationSource, EndpointVectorizationSource, ModelIdVectorizationSource | Falso | Dipendenza di incorporamento per la ricerca vettoriale. Obbligatorio quando query_type è vector . |
fields_mapping |
FieldsMappingOptions | Falso | Comportamento personalizzato di mapping dei campi da usare durante l'interazione con l'indice 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 Elasticsearch. 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. |
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 chiave e ID chiave
Opzioni di autenticazione per Azure OpenAI nei dati quando si usa una chiave API.
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
key |
stringa | True | Chiave elasticsearch da usare per l'autenticazione. |
key_id |
string | True | ID chiave elasticsearch da usare per l'autenticazione. |
type |
string | True | Deve essere key_and_key_id . |
Opzioni di autenticazione della chiave API codificata
Le opzioni di autenticazione per Azure OpenAI sui dati quando si usa una chiave API con codifica Elasticsearch.
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
encoded_api_key |
stringa | True | Chiave API con codifica Elasticsearch da usare per l'autenticazione. |
type |
string | True | Deve essere encoded_api_key . |
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 . |
Origine vettorializzazione ID modello
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'ID del modello Elasticsearch.
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
model_id |
stringa | True | Specifica l'ID modello da utilizzare per la vettorializzazione. Questo ID modello deve essere definito in Elasticsearch. |
type |
string | True | Deve essere model_id . |
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 mapping dei campi
Impostazioni facoltative per controllare la modalità di elaborazione dei campi quando si usa una risorsa Elasticsearch 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 Elasticsearch che deve essere eseguita quando viene usata con Azure OpenAI sui dati.
Valore enumerazione | Descrizione |
---|---|
simple |
Rappresenta il parser di query semplice predefinito. |
vector |
Rappresenta la ricerca vettoriale sui dati calcolati. |
Esempi
Prerequisiti:
- 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
,IndexName
SearchEndpoint
, ,Key
,KeyId
.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export SearchEndpoint='https://example.eastus.azurecontainer.io'
export IndexName=testindex
export Key='***'
export KeyId='***'
Installare i pacchetti openai
pip 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")
index_name = os.environ.get("IndexName")
search_endpoint = os.environ.get("SearchEndpoint")
key = os.environ.get("Key")
key_id = os.environ.get("KeyId")
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": "elasticsearch",
"parameters": {
"endpoint": search_endpoint,
"index_name": index_name,
"authentication": {
"type": "key_and_key_id",
"key": key,
"key_id": key_id
}
}
}
]
}
)
print(completion.model_dump_json(indent=2))