Fonte de dados – Azure Cosmos DB para MongoDB vCore (clássico)

Aplica-se somente a:Portal de fundimento (clássico). Este artigo não está disponível para o novo portal do 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 do Foundry (clássico) que você está exibindo agora.

Important

O Azure OpenAI em seus dados foi preterido e está se aproximando da desativação.

A Microsoft parou de integrar novos modelos ao Azure OpenAI On Your Data. Esse recurso só dá suporte aos seguintes modelos:

  • GPT-4o (versões 2024-05-13, 2024-08-06 e 2024-11-20)
  • 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)

Depois que os modelos GPT-4.1 se desativarem, todos os pontos de extremidade da API de Dados do Azure OpenAI e conectores de fonte de dados compatíveis param de funcionar.

Recomendamos que você migre cargas de trabalho do Azure OpenAI On Your Data para o Foundry Agent Service com o Foundry IQ para recuperar conteúdo e gerar respostas aterradas de seus dados. Para começar, consulte Conectar uma base de dados de conhecimento do IQ do Foundry.

As opções configuráveis do Azure Cosmos DB para MongoDB vCore ao usar o Azure OpenAI em seus dados. Essa fonte de dados tem suporte na versão 2024-02-01da API.

Name Tipo Required Description
parameters Parameters True Os parâmetros a serem usados ao configurar o Azure Cosmos DB para MongoDB vCore.
type cadeia True Deve ser azure_cosmos_db.

Parameters

Name Tipo Required Description
database_name cadeia True O nome do banco de dados vCore do MongoDB a ser usado com o Azure Cosmos DB.
container_name cadeia True O nome do contêiner de recursos do Azure Cosmos DB.
index_name cadeia True O nome do índice vCore do MongoDB a ser usado com o Azure Cosmos DB.
fields_mapping FieldsMappingOptions True Comportamento personalizado de mapeamento de campo a ser usado ao interagir com o índice de pesquisa.
authentication ConnectionStringAuthenticationOptions True O método de autenticação a ser usado ao acessar a fonte de dados definida.
embedding_dependency Um de DeploymentNameVectorizationSource, EndpointVectorizationSource True A dependência de inserção para pesquisa de vetor.
in_scope boolean False Se as consultas devem ser restritas ao uso de dados indexados. O padrão é True.
role_information cadeia False Forneça as instruções do modelo sobre como ele deve se comportar e qualquer contexto que ele deve referenciar ao gerar uma resposta. Você pode descrever a personalidade do assistente e informá-la como formatar respostas.
strictness inteiro False A rigidez configurada da filtragem de relevância da pesquisa. Quanto maior a rigidez, maior a precisão, mas menor a recuperação da resposta. O padrão é 3.
top_n_documents inteiro False O número superior configurado de documentos a serem apresentados para a consulta configurada. O padrão é 5.

Opções de autenticação de cadeia de conexão

As opções de autenticação do Azure OpenAI em seus dados ao usar uma cadeia de conexão.

Name Tipo Required Description
connection_string cadeia True A cadeia de conexão a ser usada para autenticação.
type cadeia True Deve ser connection_string.

Origem da vetorização do nome da implantação

Os detalhes da fonte de vetor, usada pelo Azure OpenAI em seus dados ao aplicar a pesquisa de vetor. Essa fonte de vetorização baseia-se em um nome de implantação de modelo de inserções internas no mesmo recurso do Azure OpenAI. Essa fonte de vetorização permite que você use a pesquisa de vetor sem a chave de api do Azure OpenAI e sem acesso à rede pública do Azure OpenAI.

Name Tipo Required Description
deployment_name cadeia True O nome da implantação do modelo de inserção no mesmo recurso do Azure OpenAI.
type cadeia True Deve ser deployment_name.

Origem de vetorização de ponto de extremidade

Os detalhes da fonte de vetor, usada pelo Azure OpenAI em seus dados ao aplicar a pesquisa de vetor. Essa fonte de vetorização baseia-se no ponto de extremidade da API de inserção do Azure OpenAI.

Name Tipo Required Description
endpoint cadeia True Especifica a URL do ponto de extremidade de recurso da qual as inserções devem ser recuperadas. Ele deve estar no formato de https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings. O parâmetro de consulta de versão de api não é permitido.
authentication ApiKeyAuthenticationOptions True Especifica as opções de autenticação a serem usadas ao recuperar inserções do ponto de extremidade especificado.
type cadeia True Deve ser endpoint.

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

As opções de autenticação do Azure OpenAI em seus dados ao usar uma chave de API.

Name Tipo Required Description
key cadeia True A chave de API a ser usada para autenticação.
type cadeia True Deve ser api_key.

Opções de mapeamento de campos

As configuraçõ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 de vetor.
content_fields_separator cadeia False O padrão separador que os campos de conteúdo devem usar. O padrão é \n.
filepath_field cadeia False O nome do campo de índice a ser usado como um caminho de arquivo.
title_field cadeia False O nome do campo de índice a ser usado como um título.
url_field cadeia False O nome do campo de índice a ser usado como UMA URL.

Examples

Prerequisites:

  • Configure as atribuições de função do usuário para o recurso do Azure OpenAI. Função necessária: Cognitive Services OpenAI User.
  • Instalar a CLI do Az e executar az login.
  • Defina as seguintes variáveis de ambiente: AzureOpenAIEndpoint, ,ChatCompletionsDeploymentNameConnectionString, , Database, Container, . IndexEmbeddingDeploymentName

Note

O exemplo a seguir é apenas por exemplo. Se você usar uma cadeia de conexão, armazene-a com segurança em outro lugar, como no Azure Key Vault. Não inclua a chave de API diretamente em seu código e nunca a publique 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))