Fonte de dados - Elasticsearch (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.

Observação

Links neste artigo podem abrir conteúdo na nova documentação do Microsoft Foundry em vez da documentação da Foundry (clássica) que você está exibindo agora.

Importante

O Azure OpenAI On Your Data está obsoleto e se aproximando da aposentadoria. O serviço será desativado em 14 de outubro de 2026

A Microsoft parou de integrar novos modelos no Azure OpenAI On Your Data. Esse recurso 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)

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

As opções configuráveis para Elasticsearch ao usar o Azure OpenAI On Your Data. Essa fonte de dados é suportada a partir da versão 2024-02-15-previewda API .

Name Tipo Obrigatório Descrição
parameters Parâmetros Verdade Os parâmetros a serem usados ao configurar o Elasticsearch.
type cadeia Verdade Deve ser elasticsearch.

Parameters

Name Tipo Obrigatório Descrição
endpoint cadeia Verdade O caminho de endpoint absoluto para o recurso do Elasticsearch usar.
index_name cadeia Verdade O nome do índice a ser usado no Elasticsearch referenciado.
authentication Uma das KeyAndKeyIdAuthenticationOptions, EncodedApiKeyKeyAuthenticationOptions Verdade O método de autenticação a ser usado ao acessar a fonte de dados definida.
embedding_dependency Um dos DeploymentNameVectorizationSource, EndpointVectorizationSource, ModelIdVectorizationSource Falso A dependência de embedding para busca vetorial. Necessário quando query_type é vector.
fields_mapping FieldsMappingOptions Falso Comportamento personalizado de mapeamento de campos para usar ao interagir com o índice de busca.
in_scope booleano Falso Se consultas deveriam ser restritas ao uso de dados indexados. O padrão é True.
query_type QueryType Falso O tipo de consulta a usar com o Elasticsearch. O padrão é simple
role_information cadeia Falso Forneça ao modelo instruções 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 explicar como formatar as respostas.
strictness inteiro Falso A rigidez configurada do filtro de relevância de busca. Quanto maior a rigor, maior a precisão, mas menor a recordação da resposta. O padrão é 3.
top_n_documents inteiro Falso O número superior configurado de documentos a serem destacados para a consulta configurada. O padrão é 5.

Opções de Autenticação

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 Obrigatório Descrição
key cadeia Verdade A chave Elasticsearch para usar na autenticação.
key_id cadeia Verdade O ID da chave Elasticsearch para usar na autenticação.
type cadeia Verdade 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 Obrigatório Descrição
encoded_api_key cadeia Verdade A chave de API codificada pelo Elasticsearch para usar na autenticação.
type cadeia Verdade Deve ser encoded_api_key.

Fonte de vetorização do nome da implantação

Os detalhes da fonte de vetorização usada pelo Azure OpenAI On Your Data ao aplicar busca vetorial. Essa fonte de vetorização é baseada em um nome de implantação de modelo interno de embeddings no mesmo recurso do Azure OpenAI. Essa fonte de vetorização permite que você use busca vetorial sem a chave API do Azure OpenAI e sem acesso à rede pública do Azure OpenAI.

Name Tipo Obrigatório Descrição
deployment_name cadeia Verdade O nome de implantação do modelo de embedding dentro do mesmo recurso Azure OpenAI.
type cadeia Verdade Deve ser deployment_name.

Fonte de vetorização de pontos finais

Os detalhes da fonte de vetorização usada pelo Azure OpenAI On Your Data ao aplicar busca vetorial. Essa fonte de vetorização é baseada no endpoint da API de embedding do Azure OpenAI.

Name Tipo Obrigatório Descrição
endpoint cadeia Verdade Especifica a URL do endpoint de recurso 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 de versão da API não é permitido.
authentication ApiKeyAuthenticationOptions Verdade Especifica as opções de autenticação a serem usadas ao recuperar embeddings do endpoint especificado.
type cadeia Verdade 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 Obrigatório Descrição
key cadeia Verdade A chave de API para usar para autenticação.
type cadeia Verdade Deve ser api_key.

Fonte de vetorização do ID do modelo

Os detalhes da fonte de vetorização usada pelo Azure OpenAI On Your Data ao aplicar busca vetorial. Essa fonte de vetorização é baseada no ID do modelo Elasticsearch.

Name Tipo Obrigatório Descrição
model_id cadeia Verdade Especifica o ID do modelo a ser usado para vetorização. Esse ID de modelo deve ser definido no Elasticsearch.
type cadeia Verdade 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 Elasticsearch configurado.

Name Tipo Obrigatório Descrição
content_fields string[] Falso Os nomes dos campos de índice que devem ser tratados como conteúdo.
vector_fields string[] Falso Os nomes dos campos que representam dados vetoriais.
content_fields_separator cadeia Falso O padrão de separação que os campos de conteúdo devem usar. O padrão é \n.
filepath_field cadeia Falso O nome do campo índice a usar como caminho de arquivo.
title_field cadeia Falso O nome do campo índice para usar como título.
url_field cadeia Falso O nome do campo índice a usar como URL.

Tipo de consulta

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

Valor de enumeração Descrição
simple Representa o parser de consultas padrão e simples.
vector Representa busca vetorial sobre dados calculados.

Exemplos

Pré-requisitos:

  • Configure as atribuições de funções do usuário para o recurso Azure OpenAI. Função obrigatória: Cognitive Services OpenAI User.
  • Instale a CLI do Arizona e execute az logino arquivo .
  • 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))