Añadir documentos de conocimiento QA
Mediante esta API puede añadir documentos de conocimiento de preguntas y respuestas (pares QA) a la base de conocimiento de un Agent. Se admiten tres métodos: enviar directamente el texto de las QA, cargar un archivo en formato QA (CSV) o cargar un documento que se convertirá automáticamente en pares QA.
Método de solicitud
POST
URL de solicitud
https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add
Autenticación de la solicitud
Para más información sobre la autenticación, consulte la Visión general de la API.
Solicitud
Ejemplo de solicitud
Mediante texto 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": "Preguntas frecuentes",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"qaList": [
{
"question": "¿Cómo registro una cuenta?",
"answer": "Haga clic en el botón de registro situado en la esquina superior derecha de la página de inicio e introduzca su correo electrónico y contraseña para completar el registro."
},
{
"question": "¿Cómo restablezco la contraseña?",
"answer": "En la página de inicio de sesión, haga clic en «¿Ha olvidado su contraseña?» y siga las instrucciones para restablecerla."
}
]
}'
Mediante archivo 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"
}
]
}'
Mediante conversión de documento a 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": "Manual del producto.pdf"
}
]
}'
Cabecera de la solicitud
| Campo | Tipo | Descripción |
|---|---|---|
| Authorization | Bearer ${token} | Para la autenticación, se utiliza Authorization: Bearer ${token}. Obtenga la clave en la página «API Key» y utilícela como token. |
| Content-Type | application/json | Tipo de datos; se establece en application/json. |
Parámetros de la solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| purpose | string | Sí | Tipo de datos. Valores posibles: QA_TEXT (texto QA), QA_FILE (archivo en formato QA), FILE_2_QA (documento a QA). |
| knowledge_base_id | string | No | ID de la base de conocimiento. Si se omite, se utiliza la base de conocimiento predeterminada. |
| name | string | Condicional | Nombre del documento; obligatorio cuando purpose es QA_TEXT. |
| qaList | list | Condicional | Lista de pares QA; obligatoria cuando purpose es QA_TEXT. |
| question | string | Sí | Contenido de la pregunta. |
| answer | string | Sí | Contenido de la respuesta. |
| files | list | Condicional | Lista de archivos; obligatoria cuando purpose es QA_FILE o FILE_2_QA. Máximo 20 archivos. |
| source_url | string | Sí | URL de origen del archivo. |
| file_name | string | Sí | Nombre del archivo. |
| doc_id | string | No | ID del documento. |
| file_url | string | No | URL del archivo. |
| file_base64 | string | No | Contenido del archivo codificado en base64. |
| header_row | int | No | Número de la fila de encabezado. |
| chunk_token | int | No | Número de tokens por fragmento; el valor predeterminado es 600. |
| splitter | string | No | Delimitador. |
| embedding_model_version_id | string | No | ID de la versión del modelo de embedding con el que se vectoriza este lote de documentos. Si se omite, se utiliza el modelo de embedding predeterminado del sistema. Obtenga un valor válido del campo modelId del grupo EMBEDDING que devuelve la API Obtener lista de modelos. |
Cuando
purposeesQA_TEXT, se deben proporcionarnameyqaList.
CuandopurposeesQA_FILEoFILE_2_QA, se debe proporcionarfiles, con un máximo de 20 archivos.
Respuesta
Ejemplo de respuesta
{
"doc": [
{
"doc_id": "680d1a2b3c4d5e6f7a8b9c0d",
"doc_name": "Preguntas frecuentes"
}
],
"failed": []
}
Respuesta de éxito
| Campo | Tipo | Descripción |
|---|---|---|
| doc | list | Lista de documentos añadidos correctamente. |
| doc_id | string | ID del documento. |
| doc_name | string | Nombre del documento. |
| failed | list | Lista de nombres de archivos cuya adición ha fallado. |
Respuesta de error
| Campo | Tipo | Descripción |
|---|---|---|
| code | int | Código de error. |
| message | string | Descripción del error. |
Códigos de error
| Code | Message |
|---|---|
| 40000 | Parámetro no válido |
| 40000 | The embedding_model_version_id does not exist: el ID de versión del modelo indicado no existe en el catálogo de modelos de la plataforma |
| 40000 | The embedding_model_version_id is not an embedding model: el ID indicado corresponde a un modelo que no es de embedding (por ejemplo, el modelId de un modelo de chat) |
| 40000 | The embedding_model_version_id is not an available embedding model: el proveedor de este modelo de embedding aún no admite su especificación mediante la API |
| 50000 | Error interno del sistema |
Nota: Si la validación de
embedding_model_version_idfalla, no se crea ningún documento del lote y ninguno aparece en la listafailed; se devuelve directamente la respuesta de error anterior.
