Eseguire query sui documenti inseriti utilizzando l'API di inferenza
Importante
Questa è una funzionalità di anteprima. Queste informazioni si riferiscono a una funzionalità non definitiva che potrebbe essere sostanzialmente modificata prima del rilascio. Microsoft non offre alcuna garanzia, esplicita o implicita, relativamente alle informazioni fornite.
Per interrogare il corpus dopo che i documenti sono stati configurati e acquisiti, fornire i seguenti dettagli:
Autenticazione
Devi aggiungere l'intestazione di autorizzazione alla tua richiesta. Inoltre, è necessario ottenere un token per la propria applicazione. Per sapere come generare un token nel campione, vedere l'esempio seguente.
{'Content-Type': 'application/json', 'Authorization': 'Bearer {token}'}
Chiedi API di livello superiore
Vai al gruppo di risorse distribuito e trova api_management_name
.
https://{api_management_name}.azure-api.net/inference/v1/Ask
Campi di richiesta
La richiesta contiene i seguenti campi di primo livello:
Nome del campo | Tipo | Necessario | Descrizione/Esempio |
---|---|---|---|
domandare | corda | Sì | Esempio: quando Campbell Soup pubblicherà i guadagni? |
filtro | corda | No | Una pagina web per imparare a filtrare la ricerca AI Azure. https://learn.microsoft.com/azure/search/search-filters |
Messaggio di sistema | corda | No | Il messaggio del tuo sistema. Nota: Questo messaggio di sistema sostituisce il nostro messaggio di sistema standard e potrebbe influire sulle prestazioni. Ne sconsigliamo l'utilizzo. |
Campi risposta
Nome del campo | Tipo | Descrizione |
---|---|---|
messaggio | corda | Il risultato della query |
citazioniRisultato | CitazioniOggetto risultato | Una citazione all'interno del messaggio che punta a una citazione specifica da un file associato a Assistente o al messaggio. |
CitazioniOggetto risultato
Nome del campo | Tipo | Descrizione |
---|---|---|
citazioni | Dizionario. Chiave: stringa, valore: oggetto Citazione | La chiave rappresenta il documento, ad esempio doc1. |
intento | Matrice di stringhe | Intenzioni riconosciute. |
Oggetto di citazione
Nome del campo | Tipo | Descrizione |
---|---|---|
contenuto | Elenco dei pezzi | Il contenuto del blocco restituito |
titolo | corda | Il titolo del documento |
url | Stringa | L'URL del documento |
Nome file | Stringa | Il nome del file |
Numero di pagina | Int | Il numero di pagina del pezzo |
ID pezzo | Stringa | L'ID del pezzo |
Filtri possibili
Nome del campo | Tipo | Commenti |
---|---|---|
Percorso file | Stringa | filepath eq 'morningstar ford report.pdf' |
numero_pagina | Int32 | |
contiene_immagine | booleano | |
titolo | Stringa | |
metadati_documento/autore | Stringa | |
metadati_documento/riepilogo | Stringa | |
metadati_documento/parole chiave | Stringa | |
metadati_documento/data_creazione | Offset data/ora | Utilizzare questo campo per filtrare in base a determinati criteri, ad esempio gli ultimi tre mesi: document_metadata/creation_date ge 2023-12-19T00:00:00Z |
metadati_documento/titolo | Stringa | |
document_metadata/additional_metadata/trimestre_finanziario | Stringa | |
document_metadata/additional_metadata/anno_finanziario | Stringa | |
metadati_documentali/metadati_aggiuntivi/organizzazione | Stringa |
Prova l'API
È possibile testare l'API di inferenza utilizzando il servizio di gestione API Azure sul portale Azure. Per interrogare i dati è necessario utilizzare l'API endpoint nel codice. I seguenti passaggi spiegano l'intero processo di test dell'API:
Nota
L'URL dell'API Management Gateway è disponibile nella pagina Panoramica di API Management.
- Sul portale Azure, vai al tuo gruppo di risorse e Seleziona la risorsa Gestione API .
- Nella risorsa Gestione API, vai a API > API > Inferenza > v1. Dovresti vedere l'API ASK per l'analisi dei documenti finanziari.
- Seleziona Test > Pubblica CHIEDI.
Richiedi un token di accesso per la registrazione dell'app che hai creato.
a. Utilizzare la CLI Azure e accedere al tenant che include la distribuzione, come utente con autorizzazioni per chiamare l'API.
Eseguire il seguente comando:
az account get-access-token --resource <app-reg cli id>
Qui,
app-reg cli-id
indica l' ID dell'applicazione (client).Dovresti ricevere un risposta simile al seguente output del comando:
{ "accessToken": "<JWT-Token>" "expiresOn": "2024-11-11 16:13:11.000000", "expires_on": 1731334391, "subscription": "<subscription_id>", "tenant": "<tenant_id>" "tokenType": "Bearer" }
b. Per accedere all'API, includere il token JWT nella richiesta. Copia il token JWT dal comando risposta e aggiungilo come intestazione di autorizzazione nella richiesta.
az
Il valore dell'intestazione dovrebbe essere Bearer<JWT-Token>
. Cambia il valorequery
inHi
e Seleziona Invia.Dovresti ricevere un risposta simile al seguente messaggio HTTP:
c. Per testare l'API, modifica il valore
query
in una stringa di testo che potrebbe generare un risposta in base al contenuto dei documenti acquisiti e Seleziona Invia.Prova il processo di chiamata API direttamente dal tuo codice. Il seguente codice Python frammento mostra come utilizzare l'API nel codice.
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())