logo
Développement
Rechercher
Ajouter des documents de type texte

Ajouter des documents de type texte

Téléversez en lot des documents de type texte, qui seront traités séquentiellement par découpage/segmentation, embedding/vectorisation, puis stockage afin d'obtenir de nouveaux identifiants de documents.

Remarque :
Vous pouvez spécifier le modèle d'embedding via embedding_model_version_id ; s'il est omis, le modèle d'embedding par défaut du système est utilisé.
Seuls les résultats du téléversement sont renvoyés, et non les résultats finaux de l'embedding. Vous pouvez obtenir les résultats finaux via l'API "Interroger le statut du document".

Méthode de requête

POST

URL de la requête

https://api-${endpoint}.gptbots.ai/v1/bot/doc/text/add

Authentification de la requête

Voir la section Présentation pour les détails d'authentification.

Requête

Exemple de requête

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/fr_FR/docs/article_1.pdf", "file_base64": "SGVsbG8sIEJhc2U2NCBFbmNvZGluZyE=", "source_url": "https://www.gptbots.ai/fr_FR/docs/article_1.pdf", "file_name": "article_1.pdf" } ] }'
                      
                      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/fr_FR/docs/article_1.pdf",
            "file_base64": "SGVsbG8sIEJhc2U2NCBFbmNvZGluZyE=",
            "source_url": "https://www.gptbots.ai/fr_FR/docs/article_1.pdf",
            "file_name": "article_1.pdf"
        }
    ]
}'

                    
Ce bloc de code dans la fenêtre flottante

En-tête de la requête

Champ Type Description
Authorization Bearer ${API Key} Utilisez Authorization: Bearer ${API Key} pour l'authentification. Obtenez la clé API depuis la page Clé API.
Content-Type application/json Type de données, à définir sur application/json.

Paramètres de la requête

Champ Type Obligatoire Description
knowledge_base_id String Non La base de connaissances cible à laquelle le document est ajouté. Si non renseigné, la base "Par défaut" est utilisée.
files Array<Object> Oui Liste des documents à ajouter. Prend en charge l'ajout de jusqu'à 20 documents simultanément.
file_url String Non URL du document à ajouter. Formats pris en charge : pdf/txt/md/doc/docx. Taille maximale pour PDF : 30 Mo, autres formats : 10 Mo. Remarque : soit l'URL, soit le base64 doit être fourni. Si les deux sont fournis, le base64 est prioritaire.
file_base64 String Non Encodage base64 du document à ajouter. Formats pris en charge : pdf/txt/md/doc/docx. Taille maximale pour PDF : 30 Mo, autres formats : 10 Mo. Remarque : soit l'URL, soit le base64 doit être fourni. Si les deux sont fournis, le base64 est prioritaire.
file_name String Oui Nom du document à ajouter. 1 à 200 caractères.
source_url String Non URL source du document à ajouter. Doit respecter les spécifications de format d'URL.
embedding_model_version_id String Non ID de la version du modèle d'embedding utilisé pour vectoriser ce lot de documents. S'il est omis, le modèle d'embedding par défaut du système est utilisé. Obtenez une valeur valide dans le champ modelId du groupe EMBEDDING renvoyé par l'API Obtenir la liste des modèles.
chunk_token Integer Non Nombre maximal de tokens par segment lors de la découpe. Valeur par défaut : 600. Plage valide : 1-1000.
Remarque : soit chunk_token, soit splitter doit être spécifié. Si les deux sont spécifiés, le splitter est prioritaire. Si aucun n'est fourni, la requête aboutit, mais le document échoue à l'étape de vectorisation (statut FAIL_STORE) ; fournissez donc toujours au moins l'un des deux.
splitter String Non Délimiteur utilisé pour la segmentation du texte. Par défaut : vide. Peut utiliser une "chaîne personnalisée" comme séparateur.
Remarque : soit chunk_token, soit splitter doit être spécifié. Si les deux sont spécifiés, le splitter est prioritaire. Si aucun n'est fourni, la requête aboutit, mais le document échoue à l'étape de vectorisation (statut FAIL_STORE) ; fournissez donc toujours au moins l'un des deux.

Réponse

Exemple de réponse

{ "doc": [ { "doc_id": "xxxxxx", "doc_name": "test_1.txt" }, { "doc_id": "xxxxxx", "doc_name": "test_2.pdf" } ], "failed": [ "file_1", "file_2" ] }
                      
                      {
    "doc": [
        {
            "doc_id": "xxxxxx",
            "doc_name": "test_1.txt"
        },
        {
            "doc_id": "xxxxxx",
            "doc_name": "test_2.pdf"
        }
    ],
    "failed": [
        "file_1",
        "file_2"
    ]
}

                    
Ce bloc de code dans la fenêtre flottante

Réponse en cas de succès

Champ Type Description
doc Array<Object> Liste des documents ajoutés.
doc_id String ID du document ajouté.
doc_name String Nom du document ajouté.
failed Array<Object> Liste des noms de documents dont l'ajout a échoué.

Réponse en cas d'échec

Champ Type Description
code Int Code d'erreur.
message String Détails de l'erreur.

Codes d'erreur

Code Message
40000 Paramètre invalide
40000 The embedding_model_version_id does not exist: l'ID de version de modèle indiqué est introuvable dans le catalogue de modèles de la plateforme
40000 The embedding_model_version_id is not an embedding model: l'ID indiqué correspond à un modèle qui n'est pas un modèle d'embedding (par exemple le modelId d'un modèle de chat)
40000 The embedding_model_version_id is not an available embedding model: le fournisseur de ce modèle d'embedding ne prend pas encore en charge la spécification via l'API
40127 Échec de l'authentification du développeur
20059 Agent supprimé

Remarque : si la validation de embedding_model_version_id échoue, aucun document du lot n'est créé et aucun n'apparaît dans la liste failed ; la réponse d'erreur ci-dessus est renvoyée directement.