Añadir documentos de texto
Añadir documentos de texto
Se pueden cargar por lotes documentos de texto, que se procesarán secuencialmente mediante segmentación, generación de embeddings (vectorización) y almacenamiento, para obtener nuevos ID de documento.
Nota:
El modelo de embedding utiliza el modelo predeterminado y no se puede definir dentro de la API.
Solo se devuelven los resultados de la carga, no los resultados finales del embedding. Se pueden obtener los resultados finales mediante la API «Consultar estado del documento».
Método de solicitud
POST
URL de solicitud
https://api-${endpoint}.gptbots.ai/v1/bot/doc/text/add
Autenticación de la solicitud
Para más información sobre la autenticación, consulte la sección «Visión general».
Solicitud
Ejemplo de solicitud
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",
"chunk_token": 700,
"splitter": "\n",
"files": [
{
"file_url": "https://www.gptbots.ai/docs/article_1.pdf",
"file_base64": "SGVsbG8sIEJhc2U2NCBFbmNvZGluZyE=",
"source_url": "https://www.gptbots.ai/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",
"chunk_token": 700,
"splitter": "\n",
"files": [
{
"file_url": "https://www.gptbots.ai/docs/article_1.pdf",
"file_base64": "SGVsbG8sIEJhc2U2NCBFbmNvZGluZyE=",
"source_url": "https://www.gptbots.ai/docs/article_1.pdf",
"file_name": "article_1.pdf"
}
]
}'
Este bloque de código en una ventana flotante
Cabecera de la solicitud
| Campo | Tipo | Descripción |
|---|---|---|
| Authorization | Bearer ${API Key} | Para la autenticación, se utiliza Authorization: Bearer ${API Key}. La clave de API se obtiene en la página «API Key». |
| Content-Type | application/json | Tipo de datos; se establece en application/json. |
Parámetros de la solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| knowledge_base_id | String | No | Base de conocimiento de destino a la que se añade el documento. Si no se completa, se utiliza de forma predeterminada la base de conocimiento «Default». |
| files | Array<Object> | Sí | Lista de documentos que se van a añadir. Se admite añadir hasta 20 documentos simultáneamente. |
| file_url | String | No | URL del documento que se va a añadir. Formatos admitidos: pdf/txt/md/doc/docx. El tamaño máximo para PDF es 30 MB y, para el resto de formatos, 10 MB. Nota: Se debe proporcionar la URL o el base64. Si se proporcionan ambos, base64 tiene prioridad. |
| file_base64 | String | No | base64 del documento que se va a añadir. Formatos admitidos: pdf/txt/md/doc/docx. El tamaño máximo para PDF es 30 MB y, para el resto de formatos, 10 MB. Nota: Se debe proporcionar la URL o el base64. Si se proporcionan ambos, base64 tiene prioridad. |
| file_name | String | Sí | Nombre del documento que se va a añadir. 1-200 caracteres. |
| source_url | String | No | URL de origen del documento que se va a añadir. Debe cumplir las especificaciones de formato de URL. |
| chunk_token | Integer | No | Número máximo de tokens por fragmento de conocimiento durante la segmentación. El valor predeterminado es 600. El intervalo válido es 1-1000. Nota: Se debe especificar chunk_token o splitter. Se producirá un error si no se proporciona ninguno. Cuando se proporcionan ambos, splitter tiene prioridad. |
| splitter | String | No | Delimitador utilizado para la fragmentación del texto. El valor predeterminado está vacío. Se puede utilizar una «cadena personalizada» como delimitador. Nota: Se debe especificar chunk_token o splitter. Se producirá un error si no se proporciona ninguno. Cuando se proporcionan ambos, splitter tiene prioridad. |
Respuesta
Ejemplo de respuesta
{
"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"
]
}
Este bloque de código en una ventana flotante
Respuesta de éxito
| Campo | Tipo | Descripción |
|---|---|---|
| doc | Array<Object> | Lista de documentos añadidos. |
| doc_id | String | ID del documento añadido. |
| doc_name | String | Nombre del documento añadido. |
| failed | Array<String> | Lista de nombres de documentos cuya adición ha fallado. |
Respuesta de error
| Campo | Tipo | Descripción |
|---|---|---|
| code | Int | Código de error. |
| message | String | Detalles del error. |
