Data source - Azure Cosmos DB for MongoDB vCore (classic)

Aplica-se apenas a:Portal da fundição (clássico). Este artigo não está disponível para o novo portal da Foundry. Saiba mais sobre o novo portal.

Note

Os links neste artigo podem abrir conteúdo na nova documentação do Microsoft Foundry em vez da documentação clássica do Foundry que está a ver agora.

Important

O Azure OpenAI On Your Data está obsoleto e está a aproximar-se da reforma.

A Microsoft deixou de integrar novos modelos no Azure OpenAI On Your Data. Esta funcionalidade suporta apenas os seguintes modelos:

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

Quando os modelos GPT-4.1 se aposentam, todos os endpoints Azure OpenAI On Your Data API e conectores de fonte de dados suportados deixam de funcionar.

Recomendamos que migre cargas de trabalho Azure OpenAI On Your Data para o Foundry Agent Service com Foundry IQ , para recuperar conteúdos e gerar respostas fundamentadas a partir dos seus dados. Para começar, consulte a base de conhecimento Connect a Foundry IQ.

As opções configuráveis do Azure Cosmos DB para MongoDB vCore ao usar Azure OpenAI On Your Data. Esta fonte de dados é suportada na versão 2024-02-01API .

Name Tipo Required Description
parameters Parameters True Os parâmetros a usar ao configurar o Azure Cosmos DB para o MongoDB vCore.
type cadeia (de caracteres) True Deve ser azure_cosmos_db.

Parameters

Name Tipo Required Description
database_name cadeia (de caracteres) True O nome da base de dados MongoDB vCore para usar com o Azure Cosmos DB.
container_name cadeia (de caracteres) True O nome do contentor de recursos Azure Cosmos DB.
index_name cadeia (de caracteres) True O nome do índice MongoDB vCore para usar com o Azure Cosmos DB.
fields_mapping FieldsMappingOptions True Comportamento personalizado de mapeamento de campos para usar ao interagir com o índice de pesquisa.
authentication ConnectionStringAuthenticationOptions True O método de autenticação a usar ao aceder à fonte de dados definida.
embedding_dependency Um dos DeploymentNameVectorizationSource, EndpointVectorizationSource True A dependência de embedding para pesquisa vetorial.
in_scope boolean False Se as consultas devem ser restringidas ao uso de dados indexados. O padrão é True.
role_information cadeia (de caracteres) False Dê ao modelo instruções sobre como deve comportar-se e qualquer contexto que deve referir ao gerar uma resposta. Podes descrever a personalidade do assistente e dizer-lhe como formatar as respostas.
strictness número inteiro False A rigidez configurada do filtro de relevância de pesquisa. Quanto maior a rigor, maior a precisão mas menor a recordação da resposta. O padrão é 3.
top_n_documents número inteiro False O número superior configurado de documentos a apresentar para a consulta configurada. O padrão é 5.

Opções de autenticação de strings de ligação

As opções de autenticação para Azure OpenAI On Your Data ao usar uma string de ligação.

Name Tipo Required Description
connection_string cadeia (de caracteres) True A cadeia de ligação a usar para autenticação.
type cadeia (de caracteres) True Deve ser connection_string.

Fonte de vetorização de nomes de implementação

Os detalhes da fonte de vetorização, usados pelo Azure OpenAI On Your Data ao aplicar a pesquisa vetorial. Esta fonte de vetorização baseia-se num nome de implementação de modelo interno de embeddings no mesmo recurso Azure OpenAI. Esta fonte de vetorização permite-lhe usar pesquisa vetorial sem a chave API Azure OpenAI e sem acesso à rede pública Azure OpenAI.

Name Tipo Required Description
deployment_name cadeia (de caracteres) True O nome de implementação do modelo de embedding dentro do mesmo recurso Azure OpenAI.
type cadeia (de caracteres) True Deve ser deployment_name.

Fonte de vetorização do ponto final

Os detalhes da fonte de vetorização, usados pelo Azure OpenAI On Your Data ao aplicar a pesquisa vetorial. Esta fonte de vetorização baseia-se no endpoint da API de embedding Azure OpenAI.

Name Tipo Required Description
endpoint cadeia (de caracteres) True Especifica a URL do endpoint de recurso a partir da qual os embeddings devem ser recuperados. Deve estar no formato de https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings. O parâmetro de consulta versão da API não é permitido.
authentication ApiKeyAuthenticationOptions True Especifica as opções de autenticação a usar ao recuperar embeddings do endpoint especificado.
type cadeia (de caracteres) True Deve ser endpoint.

Opções de autenticação por chave API

As opções de autenticação para Azure OpenAI On Your Data ao usar uma chave API.

Name Tipo Required Description
key cadeia (de caracteres) True A chave da API a usar para autenticação.
type cadeia (de caracteres) True Deve ser api_key.

Opções de mapeamento de campos

As definições para controlar como os campos são processados.

Name Tipo Required Description
content_fields string[] True Os nomes dos campos de índice que devem ser tratados como conteúdo.
vector_fields string[] True Os nomes dos campos que representam dados vetoriais.
content_fields_separator cadeia (de caracteres) False O padrão separador que os campos de conteúdo devem usar. O padrão é \n.
filepath_field cadeia (de caracteres) False O nome do campo índice a usar como caminho de ficheiro.
title_field cadeia (de caracteres) False O nome do campo índice a usar como título.
url_field cadeia (de caracteres) False O nome do campo índice a usar como URL.

Examples

Prerequisites:

  • Configure as atribuições de funções do utilizador para o recurso Azure OpenAI. Função obrigatória: Cognitive Services OpenAI User.
  • Instale o Az CLI e execute az login.
  • Defina as seguintes variáveis de ambiente: AzureOpenAIEndpoint, ChatCompletionsDeploymentName,ConnectionString, Database, Container, Index, , . EmbeddingDeploymentName

Note

O seguinte é apenas um exemplo. Se usares uma string de ligação, guarda-a de forma segura noutro sítio, como no Azure Key Vault. Não incluas a chave API diretamente no teu código e nunca a publiques publicamente.

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

Instale os pacotes openaipip mais recentes , 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))