AI Answers – API-Referenz
Auf dieser Seite wird beschrieben, wie man eine Frage an die AI Answers-API sendet und wie man die zurückgesendete Antwort ausliest.
Bevor Sie beginnen, aktivieren Sie die API und kopieren Sie die API-Adresse, die Mandanten-ID und die Projekt-ID aus dem Reiter Zugriff . Falls für die API ein Schlüssel erforderlich ist, benötigen Sie außerdem einen der API-Schlüssel des Projekts. Weitere Informationen finden Sie unter API-Zugriff für AI Answers einrichten.
Eine Frage senden
Senden Sie eine POST-Anfrage an die API-Adresse des Projekts mit einem JSON-Hauptteil. Verwenden Sie dabei folgende Header:
Kopfzeile | Wert |
|---|---|
| |
|
|
Der Textkörper enthält folgende Felder. Alle Felder sind Pflichtfelder, mit Ausnahme von history:
Feld | Wert |
|---|---|
| Die Mieter-ID auf der Registerkarte Zugriff . |
| Die Projekt-ID auf der Registerkarte Zugriff . |
| Der Sprachcode des Inhalts, auf den geantwortet werden soll. Zum Beispiel: |
| Die Frage als Klartext. |
| Frühere Fragen und Antworten aus der Unterhaltung, beginnend mit der ältesten. Jeder Eintrag enthält eine |
Die API speichert keine Unterhaltungen. Um eine Folgefrage zu stellen, senden Sie bitte die früheren Fragen und Antworten aus history.
Zum Beispiel:
curl -N -X POST "<API address>" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <API key>" \
-d '{
"tenantId": "<tenant ID>",
"projectId": "<project ID>",
"language": "en",
"message": "Can I publish it to more than one channel?",
"history": [
{"role": "user", "content": "How do I publish a topic?"},
{"role": "assistant", "content": "To publish a topic, add it to a publication and select Publish."}
]
}'Antwort lesen
Die Antwort wird als Strom von vom Server gesendeten Ereignissen zurückgegeben, sodass Ihre Anwendung den Text bereits anzeigen kann, während er noch geschrieben wird. Jedes Ereignis besteht aus einer Zeile, die mit data: beginnt, gefolgt von einem JSON-Objekt. Das Feld type gibt an, um welche Art von Ereignis es sich handelt:
Typ | Inhalt |
|---|---|
| Das erste Ereignis. |
| Ein Teil der Antwort ist |
| The topics on which the answer is based are listed in the |
| Beim Verfassen der Antwort ist ein Fehler aufgetreten. Betrachten Sie die Antwort als fehlgeschlagen. |
| Das letzte Ereignis. Dafür kann es einen |
Wenn die Antwort vollständig ist, enthält das done -Ereignis keinen reason. Wenn es einen reason enthält, gibt dieser an, warum die Antwort beendet wurde:
Grund | Bedeutung |
|---|---|
| Nichts in den veröffentlichten Inhalten beantwortet die Frage. |
| Die Frage wurde abgelehnt. Zeige keinen Text an, der vor diesem Ereignis eingegangen ist. |
| Derzeit können keine Antworten gegeben werden. Versuchen Sie es später noch einmal. |
Zum Beispiel:
data: {"type": "answer", "answerId": "<answer ID>"}
data: {"type": "text", "content": "To publish a topic, add it to "}
data: {"type": "text", "content": "a publication and select Publish."}
data: {"type": "sources", "sources": [{"url": "en/publish/publish-a-publication", "title": "Publish a publication"}]}
data: {"type": "done"}Das Streamen einer Antwort dauert in der Regel 5 bis 20 Sekunden.
Fehler
Fehler werden als HTTP-Statuscode zurückgegeben, bevor Ereignisse gesendet werden:
Status | Bedeutung |
|---|---|
| Der API-Schlüssel fehlt oder wird nicht akzeptiert. |
| Verboten. |
| Die API ist für dieses Projekt deaktiviert, oder es wurde noch nichts daraus veröffentlicht. |