Consultar documentos ingeridos usando a API de Inferência
Importante
Este é um recurso em versão preliminar. Estas informações estão relacionadas a um recurso de pré-lançamento que pode ser substancialmente modificado antes de ser lançado. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Para consultar o corpus depois que os documentos forem configurados e ingeridos, forneça os seguintes detalhes:
Autenticação
Você precisa adicionar um cabeçalho de autorização à sua solicitação. Além disso, você precisa obter um token para seu aplicativo. Veja o exemplo a seguir para saber como gerar um token no exemplo.
{'Content-Type': 'application/json', 'Authorization': 'Bearer {token}'}
Pergunte ao nível superior da API
Vá até o grupo de recursos implantado e encontre api_management_name
.
https://{api_management_name}.azure-api.net/inference/v1/Ask
Campos de solicitação
A solicitação contém os seguintes campos de nível superior:
Nome do campo | Tipo | Obrigatório | Descrição/Exemplo |
---|---|---|---|
consulta | corda | Sim | Exemplo: Quando a Campbell Soup divulgará os resultados? |
filter | corda | Não | Uma página da web para aprender sobre filtragem de Azure AI Search. https://learn.microsoft.com/azure/search/search-filters |
Mensagem do sistema | corda | Não | Sua mensagem do sistema. Observação: Esta mensagem do sistema substitui nossa mensagem padrão do sistema e pode afetar o desempenho. Não recomendamos usá-lo. |
Campos resposta
Nome do campo | Tipo | Descrição |
---|---|---|
mensagem | corda | O resultado da consulta |
citaçõesResultado | Objeto CitationsResult | Uma citação dentro da mensagem que aponta para uma citação específica de um arquivo associado ao Assistente ou à mensagem. |
Objeto CitationsResult
Nome do campo | Tipo | Descrição |
---|---|---|
citações | Dicionário. Chave: string, valor: objeto de citação | A chave representa o documento, por exemplo, doc1. |
intenção | Matriz de Strings | Intenções reconhecidas. |
Objeto de citação
Nome do campo | Tipo | Descrição |
---|---|---|
contente | Lista de pedaços | O conteúdo do bloco retornado |
título | corda | O título do documento |
URL | Cadeia de caracteres | A URL para o documento |
Nome do arquivo | Cadeia de caracteres | O nome do arquivo |
Número da página | Inteiro | O número da página do pedaço |
chunkId | Cadeia de caracteres | O ID do pedaço |
Possíveis filtros
Nome do campo | Tipo | Comentários |
---|---|---|
Caminho do arquivo | Cadeia de caracteres | filepath eq 'morningstar ford report.pdf' |
número_da_página | Int32 | |
contém_imagem | booliano | |
título | Cadeia de caracteres | |
Metadados do documento/autor | Cadeia de caracteres | |
documento_metadados/resumo | Cadeia de caracteres | |
Metadados do documento/palavras-chave | Cadeia de caracteres | |
metadados_do_documento/data_de_criação | DataHoraDeslocamento | Use este campo para filtrar por determinados critérios, por exemplo, os últimos três meses: document_metadata/creation_date ge 2023-12-19T00:00:00Z |
metadados_do_documento/título | Cadeia de caracteres | |
metadados_do_documento/metadados_adicionais/trimestre_financeiro | Cadeia de caracteres | |
metadados_do_documento/metadados_adicionais/ano_financeiro | Cadeia de caracteres | |
metadados_do_documento/metadados_adicionais/organização | Cadeia de caracteres |
Teste a API
Você pode testar a API de inferência usando o serviço de geranciamento de API Azure no portal Azure. Você precisa usar o ponto de extremidade da API no seu código para consultar os dados. As etapas a seguir explicam todo o processo de teste da API:
Observação
O URL do API Management Gateway está disponível na página Visão geral do API Management.
- No portal Azure, acesse seu grupo de recursos e Select o recurso Gerenciamento de API .
- No recurso Gerenciamento de API, acesse APIs > APIs > Inferência > v1. Você deverá ver a API ASK de análise de documentos financeiros.
- Select Teste > Publique PERGUNTA.
Solicite um token de acesso para o registro do aplicativo que você criou.
a. Use a CLI Azure e efetue login no locatário que inclui a implantação, como um usuário com permissões para chamar a API.
Execute o seguinte comando:
az account get-access-token --resource <app-reg cli id>
Here,
app-reg cli-id
significa o ID do aplicativo (cliente).Você deve receber um resposta semelhante à seguinte saída de comando:
{ "accessToken": "<JWT-Token>" "expiresOn": "2024-11-11 16:13:11.000000", "expires_on": 1731334391, "subscription": "<subscription_id>", "tenant": "<tenant_id>" "tokenType": "Bearer" }
b. Para acessar a API, inclua o token JWT na solicitação. Copie o token JWT do comando resposta e adicione-o como cabeçalho de autorização na solicitação.
az
O valor do cabeçalho deve ser Bearer<JWT-Token>
. Altere oquery
valor paraHi
e Select Enviar.Você deve receber uma mensagem resposta semelhante à seguinte mensagem HTTP:
c. Para testar a API, altere o
query
valor para uma sequência de texto que pode levar a um resposta com base no conteúdo dos documentos ingeridos e Select Enviar.Teste o processo de fazer a chamada da API diretamente do seu código. O código Python a seguir trecho mostra como você pode usar a API no seu código.
from azure.identity import DefaultAzureCredential
import requests
# Get Credentials
credentials = DefaultAzureCredential()
# Get the access token
access_token = credentials.get_token("<App Registration Scope>",tenant_id="<your tenant id>")
# Define the URL, headers, and payload
url = "https://<api managment url>/inference/v1/Ask"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {access_token.token}"
}
payload = {
"query": "<your query>"
}
# Execute the POST request
response = requests.post(url, headers=headers, json=payload)
# Print the response
print(response.status_code)
print(response.json())