Compartilhar via


Fonte de dados - Pesquisa de IA do Azure

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

Nome Digitar Obrigatória Descrição
parameters Parâmetros Verdadeiro Os parâmetros a serem usados ao configurar o Azure Search.
type string Verdadeiro Deve ser azure_search.

Parâmetros

Nome Digitar Obrigatória Descrição
endpoint string Verdadeiro O caminho de ponto de extremidade absoluto para o recurso do Azure Search a ser usado.
index_name string Verdadeiro O nome do índice a ser usado no recurso referenciado do Azure Search.
authentication Uma opção entre ApiKeyAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions, onYourDataAccessTokenAuthenticationOptions Verdadeiro O método de autenticação a ser usado ao acessar a fonte de dados definida.
embedding_dependency Uma opção entre DeploymentNameVectorizationSource, EndpointVectorizationSource Falso A dependência de inserção para a busca em vetores. Necessário quando query_type é vector, vector_simple_hybrid ou vector_semantic_hybrid.
fields_mapping FieldsMappingOptions Falso Comportamento personalizado de mapeamento de campo a ser usado ao interagir com o índice de pesquisa.
filter string Falso Filtro de pesquisa.
in_scope boolean Falso Se as consultas devem ser restritas ao uso de dados indexados. O padrão é True.
query_type QueryType Falso O tipo de consulta a ser usado com o Azure Search. O padrão é simple
role_information string 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 como formatar as respostas.
semantic_configuration string Falso A configuração semântica da consulta. Necessário quando query_type é semantic ou vector_semantic_hybrid.
strictness Número inteiro Falso A rigorosidade configurada da filtragem de relevância da pesquisa. Quanto maior a rigorosidade, maior a precisão, mas menor a recuperação da resposta. O padrão é 3.
top_n_documents Número inteiro Falso O número máximo de documentos configurados a serem apresentados para a consulta configurada. O padrão é 5.
max_search_queries Número inteiro Falso O número máximo de consultas reescritas deve ser enviado ao provedor de pesquisa para uma mensagem de usuário. Se isso não for especificado, o sistema decidirá o número de consultas a serem enviadas.
allow_partial_result Número inteiro Falso Se for especificado como true, o sistema permitirá que os resultados parciais da pesquisa sejam usados e a solicitação falhará se todas as consultas falharem. Se isso não for especificado ou especificado como false, a solicitação falhará caso uma consulta de pesquisa falhe.
include_contexts matriz Falso As propriedades incluídas do contexto de saída. Se não for especificado, o valor padrão será citations e intent. Os valores podem ser citations, intent, all_retrieved_documents.

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

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

Nome Digitar Obrigatória Descrição
key string Verdadeiro A chave de API a ser usada para autenticação.
type string Verdadeiro Deve ser api_key.

Opções de autenticação de identidade gerenciada atribuída pelo sistema

As opções de autenticação do Azure OpenAI On Your Data ao usar uma identidade gerenciada atribuída pelo sistema.

Nome Digitar Obrigatória Descrição
type string Verdadeiro Deve ser system_assigned_managed_identity.

Opções de autenticação de identidade gerenciada atribuída pelo usuário

As opções de autenticação do Azure OpenAI On Your Data ao usar uma identidade gerenciada atribuída pelo usuário.

Nome Digitar Obrigatória Descrição
managed_identity_resource_id string Verdadeiro A ID do recurso da identidade gerenciada atribuída pelo usuário a ser usada para autenticação.
type string Verdadeiro Deve ser user_assigned_managed_identity.

Opções de autenticação do token de acesso

As opções de autenticação para o OpenAI do Azure Em Seus Dados ao usar o token de acesso.

Nome Digitar Obrigatória Descrição
access_token string Verdadeiro O token de acesso a ser utilizado para autenticação.
type string Verdadeiro Deve ser access_token.

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

Os detalhes da fonte de vetorização, usada pelo OpenAI do Azure em seus dados ao aplicar a busca em vetores. Essa fonte de vetorização baseia-se em um nome de implantação de modelo de incorporação interno no mesmo recurso do OpenAI do Azure. A fonte de vetorização permite que você use a busca em vetores sem uma chave de API do OpenAI do Azure e sem acesso à rede pública do OpenAI do Azure.

Nome Digitar Obrigatória Descrição
deployment_name string Verdadeiro O nome de implantação do modelo de inserção no mesmo recurso do Azure OpenAI.
type string Verdadeiro Deve ser deployment_name.
dimensions Número inteiro Falso O número de dimensões que as inserções devem ter. Só há suporte em modelos text-embedding-3 e posteriores.

A fonte da vetorização do ponto de extremidade

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

Nome Digitar Obrigatória Descrição
endpoint string Verdadeiro Especifica a URL do ponto de extremidade do recurso da qual as incorporações devem ser recuperadas. O número da porta deve estar no formato https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings. O parâmetro de consulta api-version não é permitido.
authentication ApiKeyAuthenticationOptions Verdadeiro Especifica as opções de autenticação a serem usadas ao recuperar incorporações do ponto de extremidade especificado.
type string Verdadeiro Deve ser endpoint.
dimensions Número inteiro Falso O número de dimensões que as inserções devem ter. Só há suporte em modelos text-embedding-3 e posteriores.

Opções de mapeamento de campos

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

Nome Digitar Obrigatória 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 string Falso O padrão separador que os campos de conteúdo devem usar. O padrão é \n.
filepath_field string Falso O nome do campo de índice a ser utilizado como um caminho de arquivo.
title_field string Falso O nome do campo de índice a ser utilizado como título.
url_field string Falso O nome do campo de índice a ser utilizado como URL.

Tipo de consulta

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

Valor de enumeração Descrição
simple Representa o analisador de consulta simples e padrão.
semantic Representa o analisador de consulta semântica para modelagem semântica avançada.
vector Representa a busca em vetores em relação aos dados computados.
vector_simple_hybrid Representa uma combinação da estratégia de consulta simples com dados de vetor.
vector_semantic_hybrid Representa uma combinação de pesquisa semântica e consulta de dados de vetor.

Exemplos

Pré-requisitos:

  • Configure as atribuições de função da identidade gerenciada atribuída pelo sistema Azure OpenAI ao serviço de pesquisa do Azure. Funções necessárias: Search Index Data Reader, Search Service Contributor.
  • Configure as atribuições de função do usuário para o recurso do Azure OpenAI. Função necessária: Cognitive Services OpenAI User.
  • Instale CLI do Azure e execute az login.
  • Defina as seguintes variáveis de ambiente: AzureOpenAIEndpoint, ChatCompletionsDeploymentName,SearchEndpoint, SearchIndex.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export SearchEndpoint=https://example.search.windows.net
export SearchIndex=example-index

Instale os pacotes pip openai e azure-identity mais recentes.

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")
search_endpoint = os.environ.get("SearchEndpoint")
search_index = os.environ.get("SearchIndex")

token_provider = get_bearer_token_provider(DefaultAzureCredential(), "https://cognitiveservices.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_search",
                "parameters": {
                    "endpoint": search_endpoint,
                    "index_name": search_index,
                    "authentication": {
                        "type": "system_assigned_managed_identity"
                    }
                }
            }
        ]
    }
)

print(completion.model_dump_json(indent=2))