LangChain技术探索

120 阅读2分钟

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…

www.bilibili.com/video/BV1XC…