Files
urbanLifeline/urbanLifelineServ/ai/AI模块功能说明.md
2025-12-18 16:48:45 +08:00

52 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 智能体创建
说明: 本服务只对智能体进行对话的转发不能对dify智能体进行修改
1. 智能体创建用户上传tb_agent需要的字段进行智能体创建
# 智能体更新
1. 更新数据库和redis缓存
2. 注意加锁,避免并发时,其他线程用了错误数据
# 智能体删除
软删除本服务的智能体数据
# 智能体对话
1. 校验智能体是否可以用
2. 用户会先对1个智能体创建一个会话
3. 用户先发起对话预处理请求传入会话携带的对象数据到redis中产生一个临时的消息id
4. 真正发起对话数据请求时会传入3个必须参数1智能体id2会话id3本次消息id
5. 优先从redis缓存中获取agentid对应的agent配置没有找数据库。这里要进行双检加锁避免智能体修改、重复加载等问题
6. 从redis中获取消息id真正的数据包含各种数据对象和fileid等等内容
7. 和dify构建sse流式对话并回应前端的sse流式对话。 不要乱生成无用的data事件直接返回dify的事件和数据
8. 前端会自动处理dify的事件
# 对话评价
1. 用户对对话进行评价评价会存储到tb_chat_message的comment字段中
2. 调用dify代理服务更新dify智能体本消息的评价
# 知识库创建
1. 用户上传tb_knowledge需要的字段进行知识库创建
# 知识库文件上传
1. 用户上传文件到本服务存储到文件表和minio中并生成version版本
2. 上传文件到dify知识库dify返回上传成功后插入tb_knowledge_file表并更新version版本否则提示用户
# 知识库更新文件
1. 用户上传文件到本服务并生成version版本存储到文件表和minio中
2. 上传文件到dify知识库dify返回上传成功后插入tb_knowledge_file表并更新version版本否则提示用户
3. 删除dify旧的version的文件document来控制版本
4. 本服务中旧的文件对象不会删除本条新的file对象会有file_root_id指向原始第一个file对象的file_id用来进行版本展示但dify知识库实际只有1个最新的文件
# 知识库删除文件
1. 软删除本服务服务中tb_knowledge_file的该文件所有版本
2. 真删除dify本文件
# 知识库创建、更新、删除文件分段
1. 直接调用dify代理服务实现不存储到本服务也不生成新的version版本
# 知识库删除
1. 软删除本服务服务中tb_knowledge的该知识库
2. 真删除dify知识库