logo
Desarrollo
Buscar
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:
Puede especificar el modelo de embedding mediante embedding_model_version_id; si se omite, se utiliza el modelo de embedding predeterminado del sistema.
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", "embedding_model_version_id": "6620f06262390a0be1411c5d", "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",
    "embedding_model_version_id": "6620f06262390a0be1411c5d",
    "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> 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 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.
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.
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. Cuando se proporcionan ambos, splitter tiene prioridad. Si no se proporciona ninguno, la solicitud se completa correctamente, pero el documento falla en la fase de vectorización (estado FAIL_STORE); proporcione siempre al menos uno de los dos.
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. Cuando se proporcionan ambos, splitter tiene prioridad. Si no se proporciona ninguno, la solicitud se completa correctamente, pero el documento falla en la fase de vectorización (estado FAIL_STORE); proporcione siempre al menos uno de los dos.

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.

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
40127 Error de autenticación del desarrollador
20059 El agente ha sido eliminado

Nota: Si la validación de embedding_model_version_id falla, no se crea ningún documento del lote y ninguno aparece en la lista failed; se devuelve directamente la respuesta de error anterior.