Delen via


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.

  1. Ga op het Azure-portaal naar uw resourcegroep en selecteer de resource API Management .

Schermafbeelding van de pagina met de details van de resourcegroep

  1. 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.

Schermafbeelding van het API-beheerscherm

  1. Selecteer Test > Post ASK.

Screenshot van het API-beheerscherm met de POST-methode gemarkeerd

  1. 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 de query waarde in Hi en selecteer Verzenden.

    Screenshot van het API-beheerscherm met de aanvraagtekst gemarkeerd

    U zou een respons moeten ontvangen die lijkt op het volgende HTTP-bericht:

    Screenshot van de HTTP respons naar het verzonden verzoek

    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.

  2. 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())