Interroger les documents ingérés à l’aide de l’API d’inférence
Important
Cette fonctionnalité est en version préliminaire. Ces informations concernent une fonctionnalité en préversion qui peut être considérablement modifiée avant son lancement. Microsoft n’offre aucune garantie, expresse ou implicite, concernant les informations fournies ici.
Pour interroger le corpus une fois les documents configurés et ingérés, fournissez les détails suivants :
Authentification
Vous devez ajouter un en-tête d’autorisation à votre demande. De plus, vous devez obtenir un jeton pour votre application. Consultez l’exemple suivant pour savoir comment générer un jeton dans l’exemple.
{'Content-Type': 'application/json', 'Authorization': 'Bearer {token}'}
API de niveau supérieur Ask
Accédez au groupe de ressources déployé et recherchez api_management_name
.
https://{api_management_name}.azure-api.net/inference/v1/Ask
Champs de demande
La demande contient les champs de niveau supérieur suivants :
Nom du champ | Saisissez | Requis | Description/Exemple |
---|---|---|---|
requête | chaîne | Oui | Exemple : Quand Campbell Soup publie-t-il ses résultats ? |
filtre | chaîne | Non | Une page Web pour en savoir plus sur le filtrage de la recherche AI Azure. https://learn.microsoft.com/azure/search/search-filters |
Message système | chaîne | Non | Votre message système. Remarque : Ce message système remplace notre message système standard et peut affecter les performances. Nous ne recommandons pas de l’utiliser. |
Champs réponse
Nom du champ | Saisissez | Description |
---|---|---|
message | chaîne | Le résultat de la requête |
citationsRésultat | CitationsObjet de résultat | Une citation dans le message qui pointe vers une citation spécifique d’un fichier associé au Assistant ou au message. |
CitationsObjet de résultat
Nom du champ | Saisissez | Description |
---|---|---|
citations | Dictionnaire. Clé : chaîne, valeur : objet de citation | La clé représente le document, par exemple, doc1. |
intention | Tableau de chaînes | Intentions reconnues. |
Objet de citation
Nom du champ | Saisissez | Description |
---|---|---|
contenu | Liste des morceaux | Le contenu du bloc renvoyé |
titre | chaîne | Le titre du document |
URL | Chaîne | L’URL du document |
Nom de fichier | Chaîne | Le nom du fichier |
Numéro de page | Int | Le numéro de page du bloc |
Identifiant de morceau | Chaîne | L’ID du bloc |
Filtres possibles
Nom du champ | Saisissez | Commentaires |
---|---|---|
Chemin de fichier | Chaîne | filepath eq 'morningstar ford report.pdf' |
numéro_de_page | Int32 | |
contient_image | booléen | |
titre | Chaîne | |
document_metadata/auteur | Chaîne | |
document_metadata/résumé | Chaîne | |
document_metadata/mots-clés | Chaîne | |
métadonnées_du_document/date_de_création | Décalage de date et d’heure | Utilisez ce champ pour filtrer selon certains critères, par exemple, les trois derniers mois : document_metadata/creation_date ge 2023-12-19T00:00:00Z |
document_metadata/titre | Chaîne | |
métadonnées_du_document/métadonnées_supplémentaires/trimestre_financier | Chaîne | |
métadonnées_du_document/métadonnées_supplémentaires/exercice_financier | Chaîne | |
métadonnées_du_document/métadonnées_supplémentaires/organisation | Chaîne |
Tester l’API
Vous pouvez tester l’API d’inférence à l’aide du service de gestion d’API Azure sur le portail Azure. Vous devez utiliser l’API point de terminaison dans votre code pour interroger les données. Les étapes suivantes expliquent l’ensemble du processus de test de l’API :
Note
L’URL de la passerelle de gestion des API est disponible sur la page de présentation de la gestion des API.
- Sur le portail Azure, accédez à votre groupe de ressources et Sélectionner la ressource Gestion des API .
- Sur la ressource Gestion des API, accédez à API > API > Inférence > v1. Vous devriez voir l’API ASK d’analyse des documents financiers.
- Sélectionner Test > Publier ASK.
Demandez un token pour l’ enregistrement de l’application que vous avez créée.
a. Utilisez la CLI Azure et connectez-vous au locataire qui inclut le déploiement, en tant qu’utilisateur disposant d’autorisations pour appeler l’API.
Exécutez la commande suivante :
az account get-access-token --resource <app-reg cli id>
Ici,
app-reg cli-id
signifie l’ ID de l’application (client).Vous devriez recevoir un réponse similaire à la sortie de commande suivante :
{ "accessToken": "<JWT-Token>" "expiresOn": "2024-11-11 16:13:11.000000", "expires_on": 1731334391, "subscription": "<subscription_id>", "tenant": "<tenant_id>" "tokenType": "Bearer" }
b. Pour accéder à l’API, incluez le jeton JWT dans la requête. Copiez le jeton JWT de la commande réponse et ajoutez-le comme en-tête d’autorisation dans la demande.
az
La valeur de l’en-tête doit être Bearer<JWT-Token>
. Modifiez laquery
valeur parHi
et Sélectionner Envoyer.Vous devriez recevoir un réponse similaire au message HTTP suivant :
c. Pour tester l’API, remplacez la
query
valeur par une chaîne de texte qui pourrait conduire à un réponse en fonction du contenu des documents ingérés, et à Sélectionner Envoyer.Testez le processus d’appel d’API directement à partir de votre code. Le code Python suivant extrait montre comment vous pouvez utiliser l’API dans votre code.
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())