logo
Développement
Rechercher
Ajouter des documents de connaissance QA

Ajouter des documents de connaissance QA

Cette API vous permet d'ajouter des documents de connaissance de type questions-réponses (paires QA) à la base de connaissances d'un Agent. Trois méthodes sont prises en charge : transmettre directement le texte des QA, téléverser un fichier au format QA (CSV) ou téléverser un document qui sera automatiquement converti en paires QA.

Méthode de requête

POST

URL de la requête

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

Authentification de la requête

Pour plus de détails sur l'authentification, consultez la Présentation de l'API.

Requête

Exemple de requête

Via texte 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": "QA_TEXT", "name": "Foire aux questions", "knowledge_base_id": "673af861ed69656ac0895b07", "embedding_model_version_id": "6620f06262390a0be1411c5d", "qaList": [ { "question": "Comment créer un compte ?", "answer": "Cliquez sur le bouton d'inscription en haut à droite de la page d'accueil, puis saisissez votre adresse e-mail et votre mot de passe pour finaliser l'inscription." }, { "question": "Comment réinitialiser le mot de passe ?", "answer": "Sur la page de connexion, cliquez sur « Mot de passe oublié » et suivez les instructions pour le réinitialiser." } ] }'
                      
                      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": "Foire aux questions",
      "knowledge_base_id": "673af861ed69656ac0895b07",
      "embedding_model_version_id": "6620f06262390a0be1411c5d",
      "qaList": [
        {
          "question": "Comment créer un compte ?",
          "answer": "Cliquez sur le bouton d'inscription en haut à droite de la page d'accueil, puis saisissez votre adresse e-mail et votre mot de passe pour finaliser l'inscription."
        },
        {
          "question": "Comment réinitialiser le mot de passe ?",
          "answer": "Sur la page de connexion, cliquez sur « Mot de passe oublié » et suivez les instructions pour le réinitialiser."
        }
      ]
    }'

                    
Ce bloc de code dans la fenêtre flottante

Via fichier 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": "QA_FILE", "knowledge_base_id": "673af861ed69656ac0895b07", "embedding_model_version_id": "6620f06262390a0be1411c5d", "files": [ { "file_url": "https://example.com/qa.csv", "file_name": "qa_data.csv" } ] }'
                      
                      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"
        }
      ]
    }'

                    
Ce bloc de code dans la fenêtre flottante

Via conversion de document en 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": "Manuel du produit.pdf" } ] }'
                      
                      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": "Manuel du produit.pdf"
        }
      ]
    }'

                    
Ce bloc de code dans la fenêtre flottante

En-tête de la requête

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

Paramètres de la requête

Champ Type Obligatoire Description
purpose string Oui Type de données. Valeurs possibles : QA_TEXT (texte QA), QA_FILE (fichier au format QA), FILE_2_QA (document vers QA).
knowledge_base_id string Non ID de la base de connaissances. S'il est omis, la base de connaissances par défaut est utilisée.
name string Conditionnel Nom du document ; obligatoire lorsque purpose vaut QA_TEXT.
qaList list Conditionnel Liste des paires QA ; obligatoire lorsque purpose vaut QA_TEXT.
question string Oui Contenu de la question.
answer string Oui Contenu de la réponse.
files list Conditionnel Liste des fichiers ; obligatoire lorsque purpose vaut QA_FILE ou FILE_2_QA. 20 fichiers au maximum.
source_url string Oui URL source du fichier.
file_name string Oui Nom du fichier.
doc_id string Non ID du document.
file_url string Non URL du fichier.
file_base64 string Non Contenu du fichier encodé en base64.
header_row int Non Numéro de la ligne d'en-tête.
chunk_token int Non Nombre de tokens par segment ; valeur par défaut : 600.
splitter string Non Délimiteur.
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.

Lorsque purpose vaut QA_TEXT, name et qaList doivent être fournis.
Lorsque purpose vaut QA_FILE ou FILE_2_QA, files doit être fourni, avec 20 fichiers au maximum.

Réponse

Exemple de réponse

{ "doc": [ { "doc_id": "680d1a2b3c4d5e6f7a8b9c0d", "doc_name": "Foire aux questions" } ], "failed": [] }
                      
                      {
    "doc": [
        {
            "doc_id": "680d1a2b3c4d5e6f7a8b9c0d",
            "doc_name": "Foire aux questions"
        }
    ],
    "failed": []
}

                    
Ce bloc de code dans la fenêtre flottante

Réponse en cas de succès

Champ Type Description
doc list Liste des documents ajoutés avec succès.
doc_id string ID du document.
doc_name string Nom du document.
failed list Liste des noms de fichiers dont l'ajout a échoué.

Réponse en cas d'échec

Champ Type Description
code int Code d'erreur.
message string Description 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
50000 Erreur interne du système

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.