QA-Wissensdokumente hinzufügen
Über diese Schnittstelle können Sie QA-Wissensdokumente (Frage-Antwort-Paare) zur Wissensdatenbank eines Agent hinzufügen. Es werden drei Methoden unterstützt: die direkte Übergabe von QA-Text, das Hochladen einer Datei im QA-Format (CSV) oder das Hochladen eines Dokuments, das automatisch in QA-Paare umgewandelt wird.
HTTP-Methode
POST
Anfrage-URL
https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add
Authentifizierung
Details zur Authentifizierung finden Sie in der API-Übersicht.
Anfrage
Beispielanfrage
Per QA-Text:
curl -X POST https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"purpose": "QA_TEXT",
"name": "Häufig gestellte Fragen",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"qaList": [
{
"question": "Wie registriere ich ein Konto?",
"answer": "Klicken Sie oben rechts auf der Startseite auf die Schaltfläche „Registrieren“ und geben Sie E-Mail-Adresse und Passwort ein, um die Registrierung abzuschließen."
},
{
"question": "Wie setze ich mein Passwort zurück?",
"answer": "Klicken Sie auf der Anmeldeseite auf „Passwort vergessen“ und folgen Sie den Anweisungen, um es zurückzusetzen."
}
]
}'
Per QA-Datei:
curl -X POST https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"purpose": "QA_FILE",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"files": [
{
"file_url": "https://example.com/qa.csv",
"file_name": "qa_data.csv"
}
]
}'
Per Umwandlung von Dokument zu QA:
curl -X POST https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"purpose": "FILE_2_QA",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"files": [
{
"source_url": "https://example.com/product_manual.pdf",
"file_name": "Produkthandbuch.pdf"
}
]
}'
HTTP-Header
| Feld | Typ | Beschreibung |
|---|---|---|
| Authorization | Bearer ${token} | Für die Authentifizierung verwenden Sie Authorization: Bearer ${token}. Den API Key erhalten Sie auf der API Key-Seite und verwenden ihn als Token. |
| Content-Type | application/json | Datentyp, auf application/json setzen. |
Anfrageparameter
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| purpose | string | Ja | Datentyp, mögliche Werte: QA_TEXT (QA-Text), QA_FILE (Datei im QA-Format), FILE_2_QA (Dokument zu QA). |
| knowledge_base_id | string | Nein | ID der Wissensdatenbank. Ohne Angabe wird die Standard-Wissensdatenbank verwendet. |
| name | string | Bedingt | Dokumentname; erforderlich, wenn purpose gleich QA_TEXT ist. |
| qaList | list | Bedingt | Liste der QA-Paare; erforderlich, wenn purpose gleich QA_TEXT ist. |
| question | string | Ja | Inhalt der Frage. |
| answer | string | Ja | Inhalt der Antwort. |
| files | list | Bedingt | Dateiliste; erforderlich, wenn purpose gleich QA_FILE oder FILE_2_QA ist. Maximal 20 Dateien. |
| source_url | string | Ja | Quell-URL der Datei. |
| file_name | string | Ja | Name der Datei. |
| doc_id | string | Nein | Dokument-ID. |
| file_url | string | Nein | URL der Datei. |
| file_base64 | string | Nein | Base64-kodierter Inhalt der Datei. |
| header_row | int | Nein | Zeilennummer der Kopfzeile. |
| chunk_token | int | Nein | Anzahl der Tokens pro Chunk, Standardwert 600. |
| splitter | string | Nein | Trennzeichen. |
| embedding_model_version_id | string | Nein | ID der Embedding-Modellversion, mit der dieser Dokumentenstapel vektorisiert wird. Ohne Angabe wird das Standard-Embedding-Modell des Systems verwendet. Einen gültigen Wert liefert das Feld modelId in der Gruppe EMBEDDING der API Modellliste abrufen. |
Wenn
purposegleichQA_TEXTist, müssennameundqaListangegeben werden.
WennpurposegleichQA_FILEoderFILE_2_QAist, mussfilesangegeben werden; es werden maximal 20 Dateien unterstützt.
Antwort
Beispielantwort
{
"doc": [
{
"doc_id": "680d1a2b3c4d5e6f7a8b9c0d",
"doc_name": "Häufig gestellte Fragen"
}
],
"failed": []
}
Erfolgsantwort
| Feld | Typ | Beschreibung |
|---|---|---|
| doc | list | Liste der erfolgreich hinzugefügten Dokumente. |
| doc_id | string | Dokument-ID. |
| doc_name | string | Dokumentname. |
| failed | list | Liste der Dateinamen, die nicht hinzugefügt werden konnten. |
Fehlerantwort
| Feld | Typ | Beschreibung |
|---|---|---|
| code | int | Fehlercode. |
| message | string | Fehlerbeschreibung. |
Fehlercodes
| Code | Message |
|---|---|
| 40000 | Ungültiger Parameter |
| 40000 | The embedding_model_version_id does not exist: die angegebene Modellversions-ID wurde im Modellkatalog der Plattform nicht gefunden |
| 40000 | The embedding_model_version_id is not an embedding model: die angegebene ID verweist auf ein Modell, das kein Embedding-Modell ist (z. B. die modelId eines Chat-Modells) |
| 40000 | The embedding_model_version_id is not an available embedding model: der Anbieter dieses Embedding-Modells unterstützt die Angabe über die API noch nicht |
| 50000 | Interner Systemfehler |
Hinweis: Schlägt die Validierung von
embedding_model_version_idfehl, wird kein Dokument des Stapels erstellt und keines erscheint in der Listefailed; stattdessen wird direkt die obige Fehlerantwort zurückgegeben.
