Origine dati - Azure Cosmos DB for MongoDB vCore
Opzioni configurabili di Azure Cosmos DB for MongoDB vCore 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 Azure Cosmos DB for MongoDB vCore. |
type |
string | True | Deve essere azure_cosmos_db . |
Parametri
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
database_name |
stringa | True | Il nome del database MongoDB vCore da usare con Azure Cosmos DB. |
container_name |
string | True | Il nome del contenitore della risorsa di Azure Cosmos DB. |
index_name |
string | True | Nome dell'indice MongoDB vCore da usare con Azure Cosmos DB. |
fields_mapping |
FieldsMappingOptions | Vero | Comportamento personalizzato di mapping dei campi da usare durante l'interazione con l'indice di ricerca. |
authentication |
ConnectionStringAuthenticationOptions | Vero | Metodo di autenticazione da usare per l'accesso all'origine dati definita. |
embedding_dependency |
DeploymentNameVectorizationSource o EndpointVectorizationSource | Vero | Dipendenza di incorporamento per la ricerca vettoriale. |
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 . |
Opzioni di autenticazione delle stringhe di connessione
Le opzioni di autenticazione per Azure OpenAI On Your Data quando si usa una stringa di connessione.
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
connection_string |
stringa | True | La stringa di connessione da usare per l'autenticazione. |
type |
string | True | Deve essere connection_string . |
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 . |
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 . |
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 mapping dei campi
Impostazioni per controllare la modalità di elaborazione dei campi.
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
content_fields |
string[] | Vero | I nomi dei campi di indice che devono essere gestiti come contenuto. |
vector_fields |
string[] | Vero | 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. |
Esempi
Prerequisiti:
- 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 Az ed eseguire
az login
. - Definire le variabili di ambiente seguenti:
AzureOpenAIEndpoint
,ChatCompletionsDeploymentName
,ConnectionString
,Database
,Container
,Index
,EmbeddingDeploymentName
.
Nota
L'elemento seguente è solo di esempio. Se si usa una stringa di connessione, archiviarla in modo sicuro in un'altra posizione, ad esempio in Azure Key Vault. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export ConnectionString='<db-connection-string>'
export Database=testdb
export Container=testcontainer
export Index=testindex
export EmbeddingDeploymentName=ada
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")
connection_string = os.environ.get("ConnectionString")
database = os.environ.get("Database")
container = os.environ.get("Container")
index = os.environ.get("Index")
embedding_deployment_name = os.environ.get("EmbeddingDeploymentName")
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_cosmos_db",
"parameters": {
"authentication": {
"type": "connection_string",
"connection_string": connection_string
},
"database_name": database,
"container_name": container,
"index_name": index,
"fields_mapping": {
"content_fields": [
"content"
],
"vector_fields": [
"contentvector"
]
},
"embedding_dependency": {
"type": "deployment_name",
"deployment_name": embedding_deployment_name
}
}
}
],
}
)
print(completion.model_dump_json(indent=2))