chatglm+langchain

GitHub - imClumsyPanda/langchain-ChatGLM: langchain-ChatGLM, local knowledge based ChatGLM with langchain | 基于本地知识库的 ChatGLM 问答

  1. langchain介绍

Langchain是一个用于开发由语言模型驱动的应用程序的框架

1.1. 主要功能:

  • 调用语言模型
  • 将不同数据源接入到语言模型的交互中
  • 允许语言模型与运行环境交互

1.2. Langchain中提供的模块

  • Modules: 支持的模型类型和集成
  • Prompt:提示词管理、优化和序列化
  • Memory:内存是只在链/代理调用之间持续存在的状态。
  • Indexes:当语言模型与特定于应用程序的数据相结合时,会变得更加强大-此模型包含用于加载、查询、更新外部数据的接口和集成。
  • Chain:链是结构化的调用序列【对LLM或其他使用程序】
  • Agents:代理是一个链,其中LLM在给定高级指令和一组工具的情况下,反复决定操作,执行操作并观察结果,直到高级指令完成。
  • Callbacks:回调允许您记录和流式传输任何链的中间步骤,从而轻松观察、调试、评估应用程序的内部

1.3. Langchain应用场景

  • 文档问答:常见的Langchain用例。在特定文档上回答问题,仅利用这些文档中的信息来构建答案。
  • 个人助理:主要用例之一。个人助理采取行动,记住互动,并了解您的数据
  • 查询表格数据:使用语言模型查询表类型结构化数据【csv,SQL,DataFrame】
  • 与API交互:使用语言模型与API交互非常强大。它允许他们访问最新信息,并允许他们采取行动
  • 信息提取:从文本中提取结构化数据
  • 文档总结:压缩较长文档,一种数据增强生成。
  1. chatglm-6B简介

ChatGLM-6B 是⼀个开源的、⽀持中英双语的对话语⾔模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。

2.1. chatglm应用:

大语言模型通常基于通识知识训练,因此面向以下场景,常常需要借助模型微调提示词工程提升语言模型应用效果:

  • 垂直领域知识
  • 基于私有数据的问答

是什么

能干什么

微调

针对 预先训练的语言模型,在特定任务少量数据集上对其进一步训练

当任务或域定义明确,并且有足够的标记数据可供训练时,通常使用微调过程

提示词工程

涉及设计自然语言提示指令,可以指导语言模型执行特定任务

最适合需要高精度明确输出的任务。提示工程可用于制作引发所需输出的查询

  1. 如何实现基于本地知识的问答

知识库中有:QA对{'Langchain能够接入哪些数据类型啊?':'Langchain能够加载文本、PPT、图片、HTML、pdf等非结构化文件并转换为文本信息。'}
案例:
user_question:Langchain能够接入哪些数据类型啊?
agent_answer:Langchain能够加载文本、PPT、图片、HTML、pdf等非结构化文件并转换为文本信息。

1.1. 基于单一文档问答的实现原理

step1:加载本地文档【读取本地文档,加载为文本】
step2:文本拆分【按照字符如('。','!')、长度或语义拆分】,大语言模型有长度限制
step3:根据提问匹配文体【根据用户提问对文本进行字符匹配或语义检索】
step4:构建Prompt【将匹配文本、用户提问加入Prompt模板】
step5:LLM生成回答【将Prompt发送给LLM获取基于文档内容的回答】

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tiki_taka_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值