LLMOps 项目需求拆分与设计
1. 应用模块
提示
LLMOps 的核心配置在于通过不同的Prompt来让 LLM 实现不同的功能,应用模块中添加的提示词均为系统提示词
记忆
- 短期记忆: 在不超过上下文的情况下固定携带最近的 N 条消息作为短期记忆
- 长期记忆: 长期记忆总结整个对话流程,用一段不超过固定长度的话来总结整个对话
技能
- 工具
- 工作流
关联工具或者工作流,在 LLM 需要调用技能才能实现时,会自动调用对应的技能
知识库
应用可以关联多个知识库,如果关联了知识库,应用会在每次对话的时候,先查询知识库,然后将知识库检索的文档片段一起附加到提示中一起提问.
开场白
用户进入应用后自动展示的引导信息,它的主要目的是帮助用户理解应用的用途,以及如何与其交互
追问
- 在每次生成回复后,大语言模型生成对应的后续的问题建议,给用户后续二次提问提供参考
- 最多支持设置 5 个用户问题建议
推荐问题
为应用设置不超过 3 个推荐问题,在应用的对话聊天界面,点击推荐问题可以直接使用推荐问题和应用对话
语音
- 语音输入
- 语音输出
语音输出时,支持配置对应的音色,语气风格
敏感内容审核
对用户输入以及 LLM 的输出进行审核,支持使用敏感关键词
调试对话
支持在编排界面基于最新的配置信息与应用进行调试对话,校验配置效果,并支持清空对话
2. 工作流模块
- 工作流不可以单独调用,必须结合应用进行使用.工作流将复杂的任务分解成较小的步骤(节点)降低系统复杂度,减少了对提示词技术和模型推理能力的依赖,提高了 LLM 应用面向复杂任务的性能
- 节点
- 开始: 工作流的开始起点,可以在开始节点中自定义启动工作流的输入变量,每个工作流都需要一个开始节点
- 结束: 工作流的终止节点,每一个工作流在完整执行后都需要一个终止节点,终止节点之后无法添加其他节点,工作流运行到节点才会输出执行结果
- 大语言模型LLM: 调用大语言模型回答问题或对自然语言进行处理
- 知识库检索: 从知识库检索与用户问题相关的文本内容
- 代码解释器
- 代码解释器是在运行 python/nodejs 的窗口,以支持在工作流中执行数据转换
- 支持结构化数据处理,数学计算,拼接数据等功能
- 条件分支器: 允许使用 if/else 将工作流拆分 2 个分支,执行不同的工作流路线
- 变量聚合: 负责整合不同分支/节点的输出,将多个输出的字段统一到一起
- HTTP 请求: 可以访问外部链接的工具,涵盖 GET,POST,PUT 等常见的 HTTP 请求方法,支持获取请求的状态码,响应内容,响应头,图片文件
- 工具: 使用内置的工具,或者自定义工具作为执行工作流任务的节点
3. 知识库模块
- 知识库是文档的集合,一个知识库可以被整体集成到一个应用中作为检索上下文使用
- 知识库支持上传两种格式数据:本地文档和 URL链接在线采集网站数据集成
- TXT,MARKDOWN/PDF/HTML/XLSX/DOCX/CSV/PPT 等格式文
4. 工具模块
- 内置工具: LLMOps 平台内置预设的工具
- 自定义工具: 通过特定的规范将外部的 API 编排成工具,集成的自定义工具
5. 大模型模块
- 支持多种 LLM 接入,并在应用中无缝快速切换到不同的大语言模型,而不需要修改配置或者少量修改配置
- 后端新增接入的 LLM 时,前端通过 API 请求获取对应的 LLM 模型,无需任何修改即可接入新模型
6. 发布渠道
WebApp 模块
将应用发布文本 LLMOps 的 WebApp,通过链接即可在线访问对应的 AI 应用
企业微信号
配置微信企业 ID,将对应的 AI 应用发布到企业微信号上,实现企业微信聊天机器人
微信公众号
配置对应的开发者 ID,将对应的 AI 应用发布到微信公众号上,涵盖订阅号和服务号
7. 广场模块
应用广场
LLMOps 平台内置的预设编排应用,并且不同的应用进行了分类,支持快速复制对应的应用
工具广场
LLMOps 平台内置预设的工具
8. 开放 API 模块
通过对应的 API 地址与秘钥,快速将外部应用或者企业自有的应用接入到编排的 AI 应用中
9. 授权校验模块
- 为 LLMOps 集成对应的第三方登录,账户密码登录,确保接口的使用安全
- Github,Google,手机号,微信登录等
开发问题 一
- Prompt 编写: 通过对 LLM 的评测,了解不同的 Prompt编写技巧,以适配不同的 LLM
- 多 LLM 接口对齐: 解决不同的 LLM接口无缝对接到同一个应用中,并实现少量修改配置甚至不修改可正常运行
- 多 LLM 消耗统计: 解决统计不同 LLM 接口输入和输出消耗 ,精准计算接口的消耗成本s
开发问题二
- LLM 实现短期/长期记忆: 通过附加最近的 N 条消息,与长文总结,在上下文长度限制内,实现 LLM 精准短期记忆,模糊长期记忆
- 需求转 Agent: 掌握将复杂需求转换成 Agent,并完成开发,配置,测试与部署的整个流程
- RAG 优化: 解决不同成本下的 RAG 优化,涵盖本地搜索,向量搜索,搜索重排
开发问题三
- 不同场景下的流式响应: 解决在不同场景下 LLM 回复时间过长的问题,涵盖流式响应,流式响应转正常响应的技巧
- AI 工作流编排: 将一个复杂任务拆分成多个小任务,完成工作流的合理编排与开发,使用不同的 LLM 解决不同的任务,提升性能降低成本
