Fonte de dados – Elasticsearch (versão prévia) (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 para o Elasticsearch ao usar o Azure OpenAI em seus dados. Essa fonte de dados tem suporte a partir da versão 2024-02-15-previewda API.

Name Tipo Required Description
parameters Parameters True Os parâmetros a serem usados ao configurar o Elasticsearch.
type cadeia True Deve ser elasticsearch.

Parameters

Name Tipo Required Description
endpoint cadeia True O caminho de ponto de extremidade absoluto para o recurso Elasticsearch a ser usado.
index_name cadeia True O nome do índice a ser usado no Elasticsearch referenciado.
authentication Um dos KeyAndKeyIdAuthenticationOptions, EncodedApiKeyAuthenticationOptions True O método de autenticação a ser usado ao acessar a fonte de dados definida.
embedding_dependency Um de DeploymentNameVectorizationSource, EndpointVectorizationSource, ModelIdVectorizationSource False A dependência de inserção para pesquisa de vetor. Necessário quando query_type for vector.
fields_mapping FieldsMappingOptions False Comportamento personalizado de mapeamento de campo a ser usado ao interagir com o índice de pesquisa.
in_scope boolean False Se as consultas devem ser restritas ao uso de dados indexados. O padrão é True.
query_type QueryType False O tipo de consulta a ser usado com o Elasticsearch. O padrão é simple
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.

Authentication Options

O Azure OpenAI em seus dados dá suporte a vários tipos de autenticação:

Opções de autenticação de chave e ID de chave

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 Elasticsearch a ser usada para autenticação.
key_id cadeia True A ID da chave Elasticsearch a ser usada para autenticação.
type cadeia True Deve ser key_and_key_id.

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

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

Name Tipo Required Description
encoded_api_key cadeia True A chave de API codificada do Elasticsearch a ser usada para autenticação.
type cadeia True Deve ser encoded_api_key.

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.

Origem da vetorização da ID do modelo

Os detalhes da fonte de vetor, usada pelo Azure OpenAI em seus dados ao aplicar a pesquisa de vetor. Essa origem de vetorização baseia-se na ID do modelo Elasticsearch.

Name Tipo Required Description
model_id cadeia True Especifica a ID do modelo a ser usada para vetorização. Essa ID do modelo deve ser definida no Elasticsearch.
type cadeia True Deve ser model_id.

Opções de mapeamento de campos

Configurações opcionais para controlar como os campos são processados ao usar um recurso do Elasticsearch configurado.

Name Tipo Required Description
content_fields string[] False Os nomes dos campos de índice que devem ser tratados como conteúdo.
vector_fields string[] False 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.

Query type

O tipo de consulta de recuperação do Elasticsearch que deve ser executada ao usá-la com o Azure OpenAI em seus dados.

Enum Value Description
simple Representa o analisador de consulta simples e padrão.
vector Representa a pesquisa de vetor em relação aos dados computados.

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, , ChatCompletionsDeploymentName, SearchEndpoint, IndexName, 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='***'

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")
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://ai.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))