Descripcion general
La Chat API es una API RESTful para acceder programaticamente a la funcionalidad de modo de búsqueda IA de Fess. Permite obtener respuestas asistidas por IA basadas en resultados de busqueda.
Esta API proporciona dos endpoints:
API sin streaming: Obtiene la respuesta completa de una vez
API con streaming: Obtiene la respuesta en tiempo real en formato Server-Sent Events (SSE)
Requisitos previos
Para usar la Chat API, se requiere la siguiente configuracion:
La funcionalidad de modo de búsqueda IA debe estar habilitada (
rag.chat.enabled=true)El proveedor LLM debe estar configurado
Para el metodo de configuracion detallado, consulte Configuracion de la funcionalidad de modo de búsqueda IA.
API sin streaming
Endpoint
Parametros de solicitud
| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
message | String | Si | Mensaje (pregunta) del usuario |
sessionId | String | No | ID de sesion. Especificar para continuar la conversacion |
clear | String | No | Especificar "true" para limpiar la sesion |
Respuesta
Exito (HTTP 200)
Error
Codigos de estado HTTP
| Codigo | Descripcion |
|---|---|
| 200 | Solicitud exitosa |
| 400 | Parametros de solicitud invalidos (mensaje vacio, etc.) |
| 404 | Endpoint no encontrado |
| 405 | Metodo HTTP no permitido (solo POST permitido) |
| 500 | Error interno del servidor |
Ejemplos de uso
cURL
JavaScript
Python
API con streaming
Endpoint
Parametros de solicitud
| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
message | String | Si | Mensaje (pregunta) del usuario |
sessionId | String | No | ID de sesion. Especificar para continuar la conversacion |
Formato de respuesta
La API con streaming devuelve respuestas en formato text/event-stream (Server-Sent Events).
Cada evento tiene el siguiente formato:
Eventos SSE
session
Notifica la informacion de sesion. Se envia al inicio del stream.
phase
Notifica el inicio/fin de las fases de procesamiento.
Tipos de fase:
intent_analysis- Analisis de intencionsearch- Ejecucion de busquedaevaluation- Evaluacion de resultadosgeneration- Generacion de respuesta
chunk
Notifica fragmentos de texto generado.
sources
Notifica la informacion de los documentos de referencia.
done
Notifica la finalizacion del procesamiento.
error
Notifica errores.
Ejemplos de uso
cURL
JavaScript (EventSource)
Python
Manejo de errores
Implemente un manejo de errores apropiado al usar la API.
Limite de tasa
La Chat API tiene un limite de tasa aplicado.
Configuracion predeterminada:
10 solicitudes por minuto
Cuando se excede el limite de tasa, se devuelve un error HTTP 429.
Para la configuracion del limite de tasa, consulte Configuracion de la funcionalidad de modo de búsqueda IA.
Seguridad
Notas de seguridad al usar la Chat API:
Autenticacion: La version actual no requiere autenticacion para la API, pero considere un control de acceso apropiado en entornos de produccion
Limite de tasa: Habilite el limite de tasa para prevenir ataques DoS
Validacion de entrada: Realice validacion de entrada tambien del lado del cliente
CORS: Verifique la configuracion de CORS segun sea necesario
Informacion de referencia
Configuracion de la funcionalidad de modo de búsqueda IA - Configuracion de la funcionalidad de modo de búsqueda IA
Descripcion general de integracion LLM - Descripcion general de integracion LLM
Modo de busqueda IA - Guia de busqueda con chat para usuarios finales
Descripción de la API - Descripcion general de API