Textdokumente hochladen
Lade mehrere Textdokumente gleichzeitig im Stapel hoch. Die Dokumente werden nacheinander durch Segmentierung (Chunking/Slicing), Vektorisierung (Embedding) und Speicherung verarbeitet, sodass neue Dokument-IDs generiert werden.
Hinweis:
Das Embedding-Modell kann überembedding_model_version_idfestgelegt werden; ohne Angabe wird das Standard-Embedding-Modell des Systems verwendet.
Es werden nur die Upload-Ergebnisse zurückgegeben, nicht die abschließenden Vektorisierungsergebnisse. Diese können Sie über die API „Dokumentenstatus abfragen“ einsehen.
HTTP-Methode
POST
Anfrage-URL
https://api-${endpoint}.gptbots.ai/v1/bot/doc/text/add
Authentifizierung
Siehe Übersicht für Details zur Authentifizierung.
Anfrage
Beispielanfrage
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/bot/doc/text/add' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"knowledge_base_id": "67457fea6f658672d6482542",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"chunk_token": 700,
"splitter": "\n",
"files": [
{
"file_url": "https://www.gptbots.ai/de_DE/docs/article_1.pdf",
"file_base64": "SGVsbG8sIEJhc2U2NCBFbmNvZGluZyE=",
"source_url": "https://www.gptbots.ai/de_DE/docs/article_1.pdf",
"file_name": "article_1.pdf"
}
]
}'
HTTP-Header
| Feld | Typ | Beschreibung |
|---|---|---|
| Authorization | Bearer ${API Key} | Für die Authentifizierung verwenden Sie Authorization: Bearer ${API Key}. Den API Key erhalten Sie auf der API Key-Seite. |
| Content-Type | application/json | Datentyp, auf application/json setzen. |
Anfrageparameter
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| knowledge_base_id | String | Nein | Die Ziel-Wissensdatenbank, zu der das Dokument hochgeladen wird. Wenn nicht angegeben, wird die „Standard“-Wissensdatenbank verwendet. |
| files | Array<Object> | Ja | Liste der hochzuladenden Dokumente. Es können bis zu 20 Dokumente gleichzeitig hochgeladen werden. |
| file_url | String | Nein | Die URL des hochzuladenden Dokuments. Unterstützte Formate: pdf/txt/md/doc/docx. Maximale Dateigröße: PDF bis zu 30 MB, andere Formate bis zu 10 MB. Hinweis: Entweder URL oder Base64 muss angegeben werden. Wenn beides vorhanden ist, hat Base64 Vorrang. |
| file_base64 | String | Nein | Base64-kodiertes Dokument. Unterstützte Formate: pdf/txt/md/doc/docx. Maximale Dateigröße: PDF bis zu 30 MB, andere Formate bis zu 10 MB. Hinweis: Entweder URL oder Base64 muss angegeben werden. Wenn beides vorhanden ist, hat Base64 Vorrang. |
| file_name | String | Ja | Name des hochzuladenden Dokuments. 1–200 Zeichen. |
| source_url | String | Nein | Quell-URL des hochzuladenden Dokuments. Muss den URL-Formatvorgaben entsprechen. |
| 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. |
| chunk_token | Integer | Nein | Maximale Anzahl an Tokens pro Wissens-Chunk bei der Segmentierung. Standardwert ist 600. Gültiger Bereich: 1–1000. Hinweis: Entweder chunk_token oder splitter muss angegeben werden. Wenn beides angegeben ist, hat der Splitter Vorrang. Wenn keines angegeben ist, ist die Anfrage zwar erfolgreich, das Dokument schlägt jedoch bei der Vektorisierung fehl (Status FAIL_STORE); geben Sie daher immer mindestens einen der beiden Parameter an. |
| splitter | String | Nein | Trennzeichen für die Textsegmentierung. Standard ist leer. Sie können einen benutzerdefinierten String als Trennzeichen verwenden. Hinweis: Entweder chunk_token oder splitter muss angegeben werden. Wenn beides angegeben ist, hat der Splitter Vorrang. Wenn keines angegeben ist, ist die Anfrage zwar erfolgreich, das Dokument schlägt jedoch bei der Vektorisierung fehl (Status FAIL_STORE); geben Sie daher immer mindestens einen der beiden Parameter an. |
Antwort
Beispielantwort
{
"doc": [
{
"doc_id": "xxxxxx",
"doc_name": "test_1.txt"
},
{
"doc_id": "xxxxxx",
"doc_name": "test_2.pdf"
}
],
"failed": [
"file_1",
"file_2"
]
}
Erfolgsantwort
| Feld | Typ | Beschreibung |
|---|---|---|
| doc | Array<Object> | Liste der erfolgreich hinzugefügten Dokumente. |
| doc_id | String | ID des hinzugefügten Dokuments. |
| doc_name | String | Name des hinzugefügten Dokuments. |
| failed | Array<Object> | Liste der fehlgeschlagenen Dokumente. |
Fehlerantwort
| Feld | Typ | Beschreibung |
|---|---|---|
| code | Int | Fehlercode. |
| message | String | Fehlerdetails. |
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 |
| 40127 | Entwicklerauthentifizierung fehlgeschlagen |
| 20059 | Agent gelöscht |
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.
