概述
Chat API是用于从程序访问 Fess AI搜索模式功能的RESTful API。 可以获取基于搜索结果的AI辅助回答。
此API提供两个端点:
非流式API: 一次性获取完整回答
流式API: 以Server-Sent Events(SSE)格式实时获取回答
前提条件
使用Chat API需要以下设置:
AI搜索模式功能已启用(
rag.chat.enabled=true)LLM提供商已配置
详细配置方法请参阅 AI搜索模式功能配置。
非流式API
端点
请求参数
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
message | String | 是 | 用户消息(问题) |
sessionId | String | 否 | 会话ID。继续对话时指定 |
clear | String | 否 | 指定 "true" 时清除会话 |
响应
成功时(HTTP 200)
错误时
HTTP状态码
| 代码 | 说明 |
|---|---|
| 200 | 请求成功 |
| 400 | 请求参数无效(message为空等) |
| 404 | 端点未找到 |
| 405 | 不允许的HTTP方法(仅允许POST) |
| 500 | 服务器内部错误 |
使用示例
cURL
JavaScript
Python
流式API
端点
请求参数
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
message | String | 是 | 用户消息(问题) |
sessionId | String | 否 | 会话ID。继续对话时指定 |
响应格式
流式API以 text/event-stream 格式(Server-Sent Events)返回响应。
每个事件的格式如下:
SSE事件
session
通知会话信息。在流开始时发送。
phase
通知处理阶段的开始/完成。
阶段类型:
intent_analysis- 意图分析search- 搜索执行evaluation- 结果评估generation- 回答生成
chunk
通知生成的文本片段。
sources
通知参考文档信息。
done
通知处理完成。
error
通知错误。
使用示例
cURL
JavaScript(EventSource)
Python
错误处理
使用API时,请实现适当的错误处理。
速率限制
Chat API应用速率限制。
默认设置:
每分钟10个请求
超过速率限制时,返回HTTP 429错误。
速率限制设置请参阅 AI搜索模式功能配置。
安全性
使用Chat API时的安全注意事项:
认证: 当前版本API不需要认证,但在生产环境中请考虑适当的访问控制
速率限制: 为防止DoS攻击,请启用速率限制
输入验证: 客户端也请进行输入验证
CORS: 根据需要确认CORS设置
参考信息
AI搜索模式功能配置 - AI搜索模式功能配置
LLM集成概述 - LLM集成概述
AI搜索模式 - 终端用户聊天搜索指南
API概述 - API概述