Fonte de dados - Elasticsearch (pré-visualização) (clássico)

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 para Elasticsearch ao usar Azure OpenAI On Your Data. Esta fonte de dados é suportada a partir da versão 2024-02-15-previewda API.

Name Tipo Required Description
parameters Parameters True Os parâmetros a usar ao configurar o Elasticsearch.
type cadeia (de caracteres) True Deve ser elasticsearch.

Parameters

Name Tipo Required Description
endpoint cadeia (de caracteres) True O caminho de endpoint absoluto para o recurso Elasticsearch usar.
index_name cadeia (de caracteres) True O nome do índice a usar no Elasticsearch referenciado.
authentication Uma das KeyAndKeyIdAuthenticationOptions, EncodedApiKeyKeyAuthenticationOptions True O método de autenticação a usar ao aceder à fonte de dados definida.
embedding_dependency Um dos DeploymentNameVectorizationSource, EndpointVectorizationSource, ModelIdVectorizationSource False A dependência de embedding para pesquisa vetorial. Obrigatório quando query_type é vector.
fields_mapping FieldsMappingOptions False Comportamento personalizado de mapeamento de campos para usar ao interagir com o índice de pesquisa.
in_scope boolean False Se as consultas devem ser restringidas ao uso de dados indexados. O padrão é True.
query_type QueryType False O tipo de consulta a usar com o Elasticsearch. O padrão é simple
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.

Authentication Options

O Azure OpenAI On Your Data suporta múltiplos tipos de autenticação:

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

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 Elasticsearch para usar na autenticação.
key_id cadeia (de caracteres) True O ID da chave Elasticsearch para usar na autenticação.
type cadeia (de caracteres) True Deve ser key_and_key_id.

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

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

Name Tipo Required Description
encoded_api_key cadeia (de caracteres) True A chave API codificada pelo Elasticsearch para usar na autenticação.
type cadeia (de caracteres) True Deve ser encoded_api_key.

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.

Fonte de vetorização do ID do modelo

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 ID do modelo Elasticsearch.

Name Tipo Required Description
model_id cadeia (de caracteres) True Especifica o ID do modelo a usar para vetorização. Este ID de modelo deve ser definido no Elasticsearch.
type cadeia (de caracteres) True Deve ser model_id.

Opções de mapeamento de campos

Definições opcionais para controlar como os campos são processados ao usar um recurso 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 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.

Query type

O tipo de consulta de recuperação Elasticsearch que deve ser executada ao utilizá-la com Azure OpenAI On Your Data.

Enum Value Description
simple Representa o parser de consultas simples e predefinido.
vector Representa a pesquisa vetorial sobre dados calculados.

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, 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))