Erfasste Dokumente mithilfe der Inferenz-API abfragen
Wichtig
Dies ist eine Vorschauversion. Diese Informationen beziehen sich auf eine Vorabversionsfunktion, die vor ihrer Veröffentlichung möglicherweise erheblich geändert wird. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Um das Korpus abzufragen, nachdem die Dokumente konfiguriert und aufgenommen wurden, geben Sie die folgenden Details an:
Authentifizierung
Sie müssen Ihrer Anfrage einen Autorisierungsheader hinzufügen. Außerdem müssen Sie ein Token für Ihre Anwendung erhalten. Im folgenden Beispiel erfahren Sie, wie im Beispiel ein Token generiert wird.
{'Content-Type': 'application/json', 'Authorization': 'Bearer {token}'}
Ask API – oberste Ebene
Gehen Sie zur bereitgestellten Ressourcengruppe und suchen Sie api_management_name
.
https://{api_management_name}.azure-api.net/inference/v1/Ask
Anfragefelder
Die Anfrage enthält die folgenden Felder der obersten Ebene:
Feldname | Geben Sie | Erforderlich | Beschreibung/Beispiel |
---|---|---|---|
Abfrage | Schnur | Ja | Beispiel: Wann veröffentlicht Campbell Soup seine Ergebnisse? |
Filter | Schnur | Nein | Eine Webseite mit Informationen zum Filtern der KI-Suche Azure. https://learn.microsoft.com/azure/search/search-filters |
Systemnachricht | Schnur | Nein | Ihre Systemnachricht. Hinweis: Diese Systemnachricht ersetzt unsere Standard-Systemnachricht und kann die Leistung beeinträchtigen. Wir empfehlen, es nicht zu verwenden. |
Antwort Felder
Feldname | Geben Sie | Beschreibung |
---|---|---|
Nachricht | Schnur | Das Ergebnis der Abfrage |
ZitateErgebnis | CitationsResult-Objekt | Ein Zitat innerhalb der Nachricht, das auf ein bestimmtes Zitat aus einer mit Assistent oder der Nachricht verknüpften Datei verweist. |
CitationsResult-Objekt
Feldname | Geben Sie | Beschreibung |
---|---|---|
Zitate | Wörterbuch. Schlüssel: Zeichenfolge, Wert: Zitatobjekt | Der Schlüssel stellt das Dokument dar, z. B. doc1. |
Absicht | Array von Zeichenfolgen | Anerkannte Absichten. |
Zitationsobjekt
Feldname | Geben Sie | Beschreibung |
---|---|---|
Inhalt | Liste der Brocken | Der zurückgegebene Chunk-Inhalt |
Titel | Schnur | Der Titel des Dokuments |
URL (URL) | Zeichenfolge | Die URL zum Dokument |
Dateiname | Zeichenfolge | Der Dateiname |
Seitennummer | Int | Die Seitenzahl des Blocks |
Chunk-ID | Zeichenfolge | Die Chunk-ID |
Mögliche Filter
Feldname | Geben Sie | Kommentare |
---|---|---|
Dateipfad | Zeichenfolge | filepath eq 'morningstar ford report.pdf' |
Seitenzahl | Int32 | |
enthält_Bild | boolesch | |
Titel | Zeichenfolge | |
Dokumentmetadaten/Autor | Zeichenfolge | |
Dokumentmetadaten/Zusammenfassung | Zeichenfolge | |
Dokumentmetadaten/Schlüsselwörter | Zeichenfolge | |
Dokumentmetadaten/Erstellungsdatum | Datum/Uhrzeit-Offset | Nutzen Sie dieses Feld um nach bestimmten Kriterien zu filtern, zum Beispiel nach den letzten drei Monaten: document_metadata/creation_date ge 2023-12-19T00:00:00Z |
Dokumentmetadaten/Titel | Zeichenfolge | |
Dokumentmetadaten/zusätzliche_metadaten/Finanzquartal | Zeichenfolge | |
Dokumentmetadaten/zusätzliche_metadaten/Geschäftsjahr | Zeichenfolge | |
Dokumentmetadaten/zusätzliche_Metadaten/Organisation | Zeichenfolge |
Testen der API
Sie können die Inference-API mit dem Azure API Management-Dienst auf dem Azure-Portal testen. Sie müssen die API Endpunkt in Ihrem Code verwenden, um die Daten abzufragen. Die folgenden Schritte erläutern den gesamten Prozess des API-Tests:
Anmerkung
Die URL des API Management-Gateways ist auf der Übersichtsseite zu API Management verfügbar.
- Gehen Sie im Azure-Portal zu Ihrer Ressourcengruppe und Auswählen zur API Management -Ressource.
- Gehen Sie in der API-Verwaltungsressource zu APIs > APIs > Inference > v1. Sie sollten die ASK-API zur Analyse von Finanzdokumenten sehen.
- Auswählen Test > Post ASK.
Fordern Sie ein Zugriffstoken für die von Ihnen erstellte App-Registrierung an.
a. Verwenden Sie die CLI Azure und melden Sie sich beim Mandanten, der die Bereitstellung enthält, als Benutzer mit Berechtigungen zum Aufrufen der API an.
Führen Sie den folgenden Befehl aus:
az account get-access-token --resource <app-reg cli id>
Hiermit ist die
app-reg cli-id
Anwendungs-(Client-)ID gemeint.Sie sollten eine Antwort erhalten, die der folgenden Befehlsausgabe ähnelt:
{ "accessToken": "<JWT-Token>" "expiresOn": "2024-11-11 16:13:11.000000", "expires_on": 1731334391, "subscription": "<subscription_id>", "tenant": "<tenant_id>" "tokenType": "Bearer" }
b. Um auf die API zuzugreifen, schließen Sie das JWT-Token in die Anfrage ein. Kopieren Sie das JWT-Token aus dem
az
Befehl Antwort und fügen Sie es der Anfrage als Autorisierungsheader hinzu. Der Wert des Headers sollte Bearer<JWT-Token>
sein. Ändern Sie denquery
Wert inHi
und Auswählen Senden.Sie sollten eine Antwort erhalten, die der folgenden HTTP-Nachricht ähnelt:
c. Um die API zu testen, ändern Sie den
query
Wert in eine Textzeichenfolge, die basierend auf dem Inhalt der aufgenommenen Dokumente zu einem Antwort führen kann, und Auswählen Senden.Testen Sie den Vorgang des API-Aufrufs direkt aus Ihrem Code. Der folgende Python-Code Ausschnitt zeigt, wie Sie die API in Ihrem Code verwenden können.
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())