分类: 人工智能, 架构,LLM,大模型
原博:The architecture of today's LLM applications
一、构建LLM应用的5个步骤
1. 确认问题
确认需要使用LLM解决的目标问题,问题规模要能够聚焦,可以快速迭代,但也要足够大,可以让用户惊叹。
- 经验借鉴:GitHub Copilot 经验
2. 选择正确的模型
可以考虑的维度:
1)许可
2)模型的参数量
3)模型性能
3. 定制 LLM
有以下方法:
1)上下文学习(In-context learning)/ prompt 工程
2)人工反馈强化学习(RLHF)
3)微调(Fine-tuning)
4. 设计应用架构
可以分为3类:
1)用户输入:UI,LLM,托管平台
2)输入增强和 prompt 构建工具:数据源,embedding 模型,向量数据库,prompt 构建和优化工具,数据过滤器
3)高效且负责的 AI 工具:LLM 缓存,LLM 内容分类器或过滤器,评估 LLM 输出的遥测服务
5. 线上评估
评估用户真实交互过程中模型的性能和效果
二、LLM 应用架构
1. 用户输入工具
1)LLM API 和服务
2)用户界面
3)语音识别工具:支持语音输入
2. 输入增强和 prompt 构建工具
输入增强工具,将用户输入丰富上下文并组装成模型输入,有以下工具:
1)向量数据库
2)embedding 模型
3)数据过滤器:确保 LLM 不会处理未授权的数据,比如个人身份信息
- 相关工具:amoffat/HeimdaLLM
4)prompt 优化工具:通过 prompt 工程组合上下文信息和用户的输入,找到一种可以让 LLM 可以生成与用户输入最相关的结果
- 相关工具:langchain-ai/langchain
3. 高效且负责人的 AI 工具
1)LLM 缓存库:从缓存中找到类似查询的输出,避免重复生成,可以减少演示、计算成本
- 相关工具:zilliztech/GPTcache
2)内容分类器或者过滤器:防止生成有害或者冒犯行的结果
- 相关工具:derwiki/llm-prompt-injection-filtering,laiyer-ai/llm-guard
3)遥测服务:根据用户实际的使用情况,评估应用的表现。
- 相关工具:OpenTelemetry
- 经验借鉴:how GitHub uses OpenTelemetry