| Concepto | Significado |
|---|---|
| Thread | Contenedor de conversación dentro de un proyecto. |
| Interaction | Interacción individual dentro del hilo. |
| Chat | Solicitud de una sola llamada que no crea un hilo. |
Solicitud básica y respuesta
Crea una interacción en un hilo conPOST /api/v1/app/thread/{threadId}/interaction.
Ejemplo de respuesta (InteractionDTO)
Ejemplo de respuesta (InteractionDTO)
Agregar media al chat
Si el modelo seleccionado soporta entrada multimodal, puedes enviar media enpgpt.messages[].content[] (la misma forma de request usada por interacciones en hilo y por chat de una sola llamada).
Puedes combinar múltiples bloques de contenido en un mismo mensaje. Tipos principales en el esquema:
| Tipo | Uso típico | Campos requeridos | Notas |
|---|---|---|---|
text | Prompt/entrada en texto plano | ninguno | Usa text; soporta metadata opcional de citations. |
image | Imagen adjunta | data | data puede ser base64 o URL; mime_type es opcional. |
audio | Audio adjunto | data | data puede ser base64 o URL; mime_type es opcional. |
binary | Payload binario genérico | data, mime_type | filename opcional. |
file | Bloque de archivo/documento | content | content_type y doc_metadata opcionales. |
tool_use | Solicitud de llamada de herramienta | id, name, input | Bloque interno de orquestación de tools. |
start_timestamp, stop_timestamp y _meta son opcionales en todos los bloques.
Ejemplo de bloques de contenido
Ejemplo de bloques de contenido
system.citations.enabled: pide al modelo incluir referencias/citas cuando estén disponibles.thinking.enabled: activa modo de razonamiento profundo; puede tardar más pero suele mejorar la calidad.
Crear o listar hilos
Crear un hilo en un proyecto:Ejemplo de respuesta
Ejemplo de respuesta
Actualizar o eliminar un hilo
Listar u obtener interacciones
Listar interacciones de un hilo:Eliminar o hacer streaming de una interacción
Eliminar una interacción:Ejemplo de stream
Ejemplo de stream
Chat de una sola llamada
Si no necesitas un hilo, usa el endpoint de chat:Ejemplo de respuesta
Ejemplo de respuesta
Validar una solicitud de chat
Herramientas disponibles
Pasa tools enpgpt.tools como { "name": "...", "type": "..." }.
| Nombre | Tipo | Qué hace |
|---|---|---|
semantic_search | semantic_search_v1 | Busca conocimiento indexado del proyecto/workspace por similitud semántica. |
file_sematic_search | file_semantic_search_v1 | Busca semánticamente en archivos y adjuntos. |
tabular_analysis | tabular_analysis_v1 | Analiza datasets tabulares y devuelve insights calculados. |
database_query | database_query_v1 | Ejecuta consultas a bases de datos configuradas. |
web_search | web_search_v1 | Realiza búsqueda web para información externa/pública. |
web_extract | web_extract_v1 | Extrae contenido estructurado de URLs. |
list_project_files | list_project_files_v1 | Lista archivos del proyecto actual para usarlos con otras tools. |
Errores y casos límite
- 400: esquema inválido (usa
/chat/validate). - 404: hilo o interacción no encontrada.
- 409: interacción ya completada al cancelar.