大连建设主管部门网站网站公司设计 网站首页

当前位置: 首页 > news >正文

大连建设主管部门网站,网站公司设计 网站首页,wordpress多重分类,网站建站公司广州文章目录 ChatGLM与Langchain简介ChatGLM-6B简介ChatGLM-6B是什么ChatGLM-6B具备的能力ChatGLM-6B具备的应用 Langchain简介Langchain是什么Langchain的核心模块Langchain的应用场景 ChatGLM与Langchain项目介绍知识库问答实现步骤ChatGLM与Langchain项目特点 项目主体结构项目… 文章目录 ChatGLM与Langchain简介ChatGLM-6B简介ChatGLM-6B是什么ChatGLM-6B具备的能力ChatGLM-6B具备的应用 Langchain简介Langchain是什么Langchain的核心模块Langchain的应用场景 ChatGLM与Langchain项目介绍知识库问答实现步骤ChatGLM与Langchain项目特点 项目主体结构项目效果优化方向项目后续开发计划 ChatGLM与Langchain项目实战过程实战一实战二 项目地址https://github.com/imClumsyPanda/langchain-ChatGLM ChatGLM与Langchain简介 ChatGLM-6B简介 ChatGLM-6B是什么 ChatGLM-6B地址https://github.com/THUDM/ChatGLM-6B ChatGLM-6B 是⼀个开源的、⽀持中英双语的 对话语⾔模型基于 General Language Model (GLM) 架构具有 62 亿参数。结合模型量化技术用户可以在消费级的显卡上进行本地部署INT4 量化级别下最低只需 6GB 显存。 ChatGLM-6B 使用了和 ChatGPT 相似的技术针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练辅以监督微调、反馈自助、人类反馈强化学习等技术的加持62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。 更新 v1.1 版本 checkpoint 训练数据增加英⽂ 指令微调数据以平衡中英⽂数据⽐例解决英 ⽂回答中夹杂中⽂词语的现象。 ChatGLM-6B具备的能力 自我认知可以对自己进行介绍优点缺点等提纲写作比如帮我写一个介绍ChatGLM的博客提纲文案写作根据一段话来生成一段文案信息抽取抽取一段文本的人物时间地点等实体信息角色扮演指定ChatGLM为一个角色进行对话 ChatGLM-6B具备的应用 大语言模型通常基于通识知识进行训练的而在 ⾯向某些领域的具体场景时常常需要借助模型微调或提示 词⼯程提升语言模型应用效果 常见的场景如 垂直领域知识的特定任务金融领域法律领域基于垂直领域知识库的问答 模型微调与提示词工程的区别 模型微调针对预训练好的语言模型在特定任务的数据集上进行进一步的微调训练需要有标记好的特定任务的数据。 提示工程核心是设计自然语言提示或指定引导模型完成特定任务适合需要明确输出的任务。 Langchain简介 Langchain是什么 LangChain 是一个用于开发由语言模型驱动的应用程序的框架。他主要拥有 3个能力 可以调用LLM模型可以将 LLM 模型与外部数据源进行连接允许与 LLM 模型进行交互 Langchain的核心模块 Langchain的核心模块如下 Modules支持的模型类型和集成如openaihuggingface等Prompt提示词管理、优化和序列化支持各种自定义模板Memory内存管理在链/代理调用之间持续存在的状态Indexes索引管理方便加载、查询和更新外部数据Agents代理是一个链可以决定和执行操作并观察结果直到指令完成Callbacks回调允许记录和流式传输任何链的中间步骤方便观察、调试和评估。 Agents代理执行过程如下
Langchain的应用场景 文档问答个人助理查询表格与API交互信息提取文档总结 ChatGLM与Langchain项目介绍 知识库问答实现步骤 基于Langchain思想实现基于本地知识库的问答应用。实现过程如下 1、加载文件 2、读取文本 3、文本分割 4、文本向量化 5、问句向量化 6、在文本向量中匹配出与问句向量最相似的top k个 7、匹配出的文本作为上下文和问题一起添加到prompt中 8、提交给LLM生成回答。 还有另一个版本本质是一样的
ChatGLM与Langchain项目特点 依托 ChatGLM 等开源模型实现 可离线部署基于 langchain 实现可快速实现接入多种数据源在分句、文档读取等方面针对中文使用场景优化支持pdf、 txt、 md、 docx等⽂件类型接⼊具备命令行demo、 webui 和 vue 前端。 项目主体结构 models llm的接⼝类与实现类针对开源模型提供流式输出⽀持。loader 文档加载器的实现类。textsplitter 文本切分的实现类。chains 工作链路实现如 chains/local_doc_qa 实现了基于本地⽂档的问答实现。content用于存储上传的原始⽂件。vector_store用于存储向量库⽂件即本地知识库本体。configs配置文件存储。 项目效果优化方向 模型微调一个是对embedding模型的基于垂直领域的数据进行微调一个是对LLM模型及进行基于垂直领域的微调文档加工一种是使用更好的文档拆分的方式如项目中已经集成的达摩院的语义识别的模型及进行拆分一种是改进填充的方式判断中心句上下文的句子是否和中心句相关仅添加相关度高的句子另一种是文本分段后对每段分别及进行总结基于总结内容语义及进行匹配借助不同模型的能力在 text2sql、text2cpyher 场景下 需要产生代码时可借助不同 模型能力。 项目后续开发计划 扩充数据源增加库表、图谱、网页等数据接入知识库管理完善知识库中增删改查功能并支持更多向量库类型扩充文本划分方式针对中文场景提供更多文本划分与上下文扩充方式探索Agent应用利用开源LLM探索Agent的实现与应用。 参考https://liaokong.gitbook.io/llm-kai-fa-jiao-cheng/ ChatGLM与Langchain项目实战过程 实战一 https://github.com/imClumsyPanda/langchain-ChatGLM 由于之前已经对ChatGLM进行过部署所以考虑可以直接在原有环境中安装新的所需的包即可同样也可以使用之前下载好的模型文件ChatGLM部署 但看了下requirements.txt文件后还有不少需要安装的包索性直接新建一个python3.8.13的环境模型文件还是可以用的 conda create -n langchain python3.8.13拉取项目 git clone https://github.com/imClumsyPanda/langchain-ChatGLM.git进入目录 cd langchain-ChatGLM安装requirements.txt conda activate langchain pip install -r requirements.txt当前环境支持装langchain的最高版本是0.0.166无法安装0.0.174就先装下0.0.166试下。 修改配置文件路径 vi configs/model_config.py将chatglm-6b的路径设置成自己的。 “chatglm-6b”: { “name”: “chatglm-6b”, “pretrained_model_name”: “/data/sim_chatgpt/chatglm-6b”, “local_model_path”: None, “provides”: “ChatGLM” 修改要运行的代码文件webui.py vi webui.py将最后launch函数中的share设置为Trueinbrowser设置为True。 执行webui.py文件 python webui.py可能是网络问题无法创建一个公用链接。可以进行云服务器和本地端口的映射参考https://www.cnblogs.com/monologuesmw/p/14465117.html 对应输出 占用显存情况大约15个G
实战二 待更…