Opgenomen documenten opvragen met behulp van de Inference-API
Belangrijk
Dit is een preview-functie. Deze informatie heeft betrekking op een pre-releasefunctie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garantie met betrekking tot de informatie die hier wordt verstrekt.
Om het corpus te bevragen nadat de documenten zijn geconfigureerd en opgenomen, geeft u de volgende gegevens op:
Verificatie
U moet een autorisatieheader aan uw aanvraag toevoegen. Verder heeft u een token nodig voor uw applicatie. Zie het volgende voorbeeld om te zien hoe u een token in het voorbeeld genereert.
{'Content-Type': 'application/json', 'Authorization': 'Bearer {token}'}
Vraag API Topniveau
Ga naar de geïmplementeerde resourcegroep en zoek api_management_name
.
https://{api_management_name}.azure-api.net/inference/v1/Ask
Aanvraagvelden
Het verzoek bevat de volgende hoofdvelden:
Veldnaam | Type | Vereist | Beschrijving/Voorbeeld |
---|---|---|---|
vraag | snaar | Ja | Voorbeeld: Wanneer maakt Campbell Soup haar winstcijfers bekend? |
filter | snaar | Nee | Een webpagina met meer informatie over het filteren van Azure AI Search. https://learn.microsoft.com/azure/search/search-filters |
systeemBericht | snaar | Nee | Uw systeembericht. Let op: Dit systeembericht vervangt ons standaard systeembericht en kan de prestaties beïnvloeden. Wij raden het gebruik ervan af. |
Respons velden
Veldnaam | Type | Beschrijving |
---|---|---|
bericht | snaar | Het resultaat van de query |
citatenResultaat | CitationsResult-object | Een citaat in het bericht dat verwijst naar een specifiek citaat uit een bestand dat is gekoppeld aan Assistent of het bericht. |
CitationsResult-object
Veldnaam | Type | Beschrijving |
---|---|---|
citaten | Woordenboek. Sleutel: string, waarde: Citatieobject | Sleutel vertegenwoordigt het document, bijvoorbeeld doc1. |
bedoeling | Array van snaren | Erkende intenties. |
Citatie object
Veldnaam | Type | Beschrijving |
---|---|---|
inhoud | Lijst met stukken | De geretourneerde chunkinhoud |
titel | snaar | De titel van het document |
URL | Tekenreeks | De URL naar het document |
bestandsnaam | Tekenreeks | De bestandsnaam |
paginanummer | Int | Het paginanummer van het stuk |
stukId | Tekenreeks | De chunk-ID |
Mogelijke filters
Veldnaam | Type | Reacties |
---|---|---|
bestandspad | Tekenreeks | filepath eq 'morningstar ford report.pdf' |
paginanummer | Int32 | |
bevat_afbeelding | Booleaans | |
titel | Tekenreeks | |
document_metadata/auteur | Tekenreeks | |
document_metadata/samenvatting | Tekenreeks | |
document_metadata/trefwoorden | Tekenreeks | |
document_metadata/creatiedatum | DatumtijdOffset | Gebruik dit veld om te filteren op bepaalde criteria, bijvoorbeeld de laatste drie maanden: document_metadata/creation_date ge 2023-12-19T00:00:00Z |
document_metadata/titel | Tekenreeks | |
document_metadata/aanvullende_metadata/financieel_kwartaal | Tekenreeks | |
document_metadata/aanvullende_metadata/financieel_jaar | Tekenreeks | |
document_metadata/aanvullende_metadata/organisatie | Tekenreeks |
Test de API
U kunt de Inference API testen met behulp van de API Management-service Azure op de portal Azure. U moet de API eindpunt in uw code gebruiken om de gegevens op te vragen. De volgende stappen leggen het volledige proces van het testen van de API uit:
Notitie
De URL van de API Management Gateway is beschikbaar op de pagina API Management Overview.
- Ga op het Azure-portaal naar uw resourcegroep en selecteer de resource API Management .
- Ga in de API Management-bron naar API's > API's > Inference > v1. U zou de ASK API voor de analyse van financiële documenten moeten zien.
- Selecteer Test > Post ASK.
Vraag een toegangstoken aan voor de app-registratie die u hebt gemaakt.
a. Gebruik de CLI Azure en meld u aan bij de tenant die de implementatie bevat, als een gebruiker met machtigingen om de API aan te roepen.
Voer de volgende opdracht uit:
az account get-access-token --resource <app-reg cli id>
Hier betekent
app-reg cli-id
de toepassings-ID (client).U zou een respons moeten ontvangen die lijkt op de volgende opdrachtuitvoer:
{ "accessToken": "<JWT-Token>" "expiresOn": "2024-11-11 16:13:11.000000", "expires_on": 1731334391, "subscription": "<subscription_id>", "tenant": "<tenant_id>" "tokenType": "Bearer" }
b. Om toegang te krijgen tot de API, moet u de JWT-token in de aanvraag opnemen. Kopieer het JWT-token uit de opdracht respons en voeg het toe als autorisatieheader in de aanvraag.
az
De waarde van de header moet Bearer<JWT-Token>
zijn. Wijzig dequery
waarde inHi
en selecteer Verzenden.U zou een respons moeten ontvangen die lijkt op het volgende HTTP-bericht:
c. Om de API te testen, wijzigt u de
query
waarde in een tekstreeks die kan leiden tot een respons op basis van de inhoud van de opgenomen documenten en selecteert u Verzenden.Test het proces van het rechtstreeks vanuit uw code uitvoeren van de API-aanroep. De volgende Python-code fragment laat zien hoe u de API in uw code kunt gebruiken.
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())