logo
Desarrollo
Buscar
Añadir documentos de conocimiento QA

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." } ] }'
                      
                      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."
        }
      ]
    }'

                    
Este bloque de código en una ventana flotante

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" } ] }'
                      
                      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"
        }
      ]
    }'

                    
Este bloque de código en una ventana flotante

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" } ] }'
                      
                      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"
        }
      ]
    }'

                    
Este bloque de código en una ventana flotante

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 purpose es QA_TEXT, se deben proporcionar name y qaList.
Cuando purpose es QA_FILE o FILE_2_QA, se debe proporcionar files, con un máximo de 20 archivos.

Respuesta

Ejemplo de respuesta

{ "doc": [ { "doc_id": "680d1a2b3c4d5e6f7a8b9c0d", "doc_name": "Preguntas frecuentes" } ], "failed": [] }
                      
                      {
    "doc": [
        {
            "doc_id": "680d1a2b3c4d5e6f7a8b9c0d",
            "doc_name": "Preguntas frecuentes"
        }
    ],
    "failed": []
}

                    
Este bloque de código en una ventana flotante

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_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.