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."
}
]
}'
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"
}
]
}'
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"
}
]
}'
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
purposevautQA_TEXT,nameetqaListdoivent être fournis.
LorsquepurposevautQA_FILEouFILE_2_QA,filesdoit être fourni, avec 20 fichiers au maximum.
Réponse
Exemple de réponse
{
"doc": [
{
"doc_id": "680d1a2b3c4d5e6f7a8b9c0d",
"doc_name": "Foire aux questions"
}
],
"failed": []
}
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 listefailed; la réponse d'erreur ci-dessus est renvoyée directement.
