1 什么是LangChain
LangChain是一个开发框架,为构建LLMs支持的应用程序设计。
- Chatbots 聊天系统
- 基于RAG的问答系统
- 基于SQL数据库搜索的问答系统
- 大模型使用工具,以及通过Agents智能代理完成更复杂任务
python.langchain.com/v0.1/docs/u…
2 什么是RAG
RAG(检索增强生成),是对大语言模型输出优化,使其能在生成响应前引用权威知识库。
根据用户输入信息在数据库查询,把查询相关的数据,加入提示词上下文,提高模型的回答质量。
基于embedding检索的RAG技术。
3 RAG的优势、劣势
优势:
- 减少幻觉
- 数据更安全:数据作为提示词输入给LLM,对用户不可见。用户数据在本地计算完,在线大模型只是完成归纳功能。
- 时效性问题:时效性是LLM的显著问题(LLM模型规模越大,训练周期越长),微调可以解决时效性问题,但需要专业人员做,RAG技术可以很方便使用最新信息,减少模型微调。
挑战:
- 检索准确性:用户查询可能不直接,措辞模糊,如何找到并获取最相关信息是比较大挑战。
- 生成调试:如何最优结构化检索到的信息,大量调试工作(大模型限制:上下文长度等)
- LLM能力限制:依赖LLM的归纳推理能力
4 RAG应用案例
用户问题:一个公司员工,她儿子今年剩余时间每周三提前放学,她想问是否可以半天为单位请假,是否有足够的假期来度过这一年
RAG处理过程: LLM先从公司HR文件中提取数据,查询她的假期额度;接着查询公司政策,回答是否可以半天为单位请假。这些事实注入到用户的初始query,并传递给LLM,LLM生成一个简洁、个性化的回答。这就是一个聊天机器人提供查询的过程,响应并提供来源链接。
挑战: 政策复杂性:产假、婚假政策各个地区可能不一致。
5 RAG资源
LangChain python.langchain.com/v0.1/docs/u…