Origine dati - Azure Cosmos DB per MongoDB vCore (versione classica)

Si applica solo a:Portale di Foundry (versione classica). Questo articolo non è disponibile per il nuovo portale foundry. Altre informazioni sul nuovo portale.

Note

I collegamenti in questo articolo potrebbero aprire contenuto nella nuova documentazione di Microsoft Foundry anziché nella documentazione di Foundry (classica) visualizzata.

Important

Azure OpenAI nei dati è deprecato e si avvicina al ritiro.

Microsoft ha interrotto l'onboarding di nuovi modelli in Azure OpenAI nei dati. Questa funzionalità supporta solo i modelli seguenti:

  • GPT-4o (versioni 2024-05-13, 2024-08-06 e 2024-11-20)
  • GPT-4o-mini (versione 2024-07-18)
  • GPT-4.1, GPT-4.1-mini e GPT-4.1-nano (versione 2025-04-14)

Una volta ritirati i modelli GPT-4.1, tutti gli endpoint dell'API dati di Azure OpenAI e i connettori dell'origine dati supportati smetteranno di funzionare.

È consigliabile eseguire la migrazione di Azure OpenAI nei carichi di lavoro dati al servizio Agente Foundry con L'IQ foundry per recuperare il contenuto e generare risposte a terra dai dati. Per iniziare, vedere Connettere una Knowledge Base di IQ Foundry.

Le opzioni configurabili di Azure Cosmos DB per MongoDB vCore quando si usa Azure OpenAI nei dati. Questa origine dati è supportata nella versione 2024-02-01dell'API .

Name Type Required Description
parameters Parameters True Parametri da usare durante la configurazione di Azure Cosmos DB per MongoDB vCore.
type string True Deve essere azure_cosmos_db.

Parameters

Name Type Required Description
database_name string True Nome del database vCore mongoDB da usare con Azure Cosmos DB.
container_name string True Nome del contenitore di risorse di Azure Cosmos DB.
index_name string True Nome dell'indice vCore di MongoDB da usare con Azure Cosmos DB.
fields_mapping FieldsMappingOptions True Comportamento personalizzato di mapping dei campi da usare durante l'interazione con l'indice di ricerca.
authentication ConnectionStringAuthenticationOptions True Metodo di autenticazione da utilizzare per l'accesso all'origine dati definita.
embedding_dependency Uno di DeploymentNameVectorizationSource, EndpointVectorizationSource True Dipendenza di incorporamento per la ricerca vettoriale.
in_scope boolean False Indica se le query devono essere limitate all'uso di dati indicizzati. Il valore predefinito è True.
role_information string False 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 False 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 False Numero massimo di documenti configurato per la funzionalità per la query configurata. Il valore predefinito è 5.

Opzioni di autenticazione delle stringhe di connessione

Opzioni di autenticazione per Azure OpenAI sui dati quando si usa una stringa di connessione.

Name Type Required Description
connection_string string True Stringa di connessione da usare per l'autenticazione.
type string True Deve essere connection_string.

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.

Name Type Required Description
deployment_name string 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.

Name Type Required Description
endpoint string 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 True Specifica le opzioni di autenticazione da utilizzare per il recupero di incorporamenti dall'endpoint specificato.
type string True Deve essere endpoint.

Opzioni di autenticazione della chiave API

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

Name Type Required Description
key string True 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.

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

Examples

Prerequisites:

  • 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, , ConnectionStringDatabaseContainer, Index, . EmbeddingDeploymentName

Note

Di seguito è riportato solo un 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 pubblicarla 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 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")
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://ai.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))