重播 -数字化转型共创价值——2022香港上市公司发展高峰论坛暨第十届港股百强颁奖盛典
06-18
舒老师之前教过你如何使用微调来创建垂直领域的LLM专用模型。但微调一方面需要专业知识,通常需要大量的计算资源和时间,以便在不同的超参数设置上训练多个模型并选择最佳的一个。
另一方面,动态扩展性比较差,对原有的进行添加和修改。数据必须再次微调。
总体来说,对于非专业人士来说并不友好。 ChatGLM-6B部署及P-Tuning微调实践 今天舒老师教大家如何在垂直领域实现专业问答,无需微调。
使用ChatGLM-6B + langchain实现个人知识库非常简单易用。技术原理 项目实施原理如下图所示。
该过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问题向量化 -> 匹配文本向量中与问题向量 k 最相似的顶部 -> 将匹配的文本添加到提示中,如下所示上下文和问题 -> 提交给法学硕士以生成答案。从上面可以看出,其核心技术是向量嵌入。
用户知识库的内容通过嵌入的方式存储在向量知识库中。那么每次用户提出问题的时候,也会经过embedding,利用向量相关算法(比如余弦算法)来寻找最佳匹配。
几个知识库片段,使用这些知识库片段作为上下文,并将它们与用户问题一起提交给LLM寻求答案。这很容易理解。
典型的提示模板如下: 代码语言:javascript 复制“”” 已知信息:{context} 根据以上已知信息,简洁、专业地回答用户的问题。如果无法从中得到答案,请说“Based”关于已知信息 该信息无法回答问题”或“未提供相关信息不足”。
答案中不允许添加虚构成分。请用中文回答。
问题是:{问题}“””关于向量嵌入的更多信息可以参考我之前写的一篇文章。 ChatGPT爆向量库追踪使用场景可调整提示匹配不同知识库,让LLM扮演不同角色上传公司财务报告、充当财务分析师上传客服聊天记录、充当智能客服上传经典案例、充当法律助理上传医院百科全书、充当在线咨询医生等。
。 。
为了实战,我们选择langchain-ChatGLM项目示例。其他LLM模型连接知识库也是如此。
准备学习 PAI 平台,使用 A10 显卡。项目部署环境准备好后,就可以开始准备部署了。
下载源代码语言:javascript copy git clone langchain-ChatGLMpip install -rrequirements.txt 下载模型代码语言:javascript copy # 安装 git lfsgit lfs install # 下载 LLM 模型 git clone /your_path/chatglm-6b # 下载 Embedding 模型 git clone / your_path/text2vec# 当模型需要更新时,可以打开模型所在文件夹,拉取最新的模型文件/代码 git pull 参数调整。模型下载后,请修改configs/model_config.py文件中的embedding_model_dict和llm_model_dict参数。
代码语言:javascript copy embedding_model_dict = { "ernie-tiny": "nghuyong/ernie-3.0-nano-zh", "ernie-base": "nghuyong/ernie-3.0-base-zh", "text2vec": "/ your_path/text2vec"}llm_model_dict = { "chatyuan": "ClueAI/ChatYuan-large-v2", "chatglm-6b-int4-qe": "THUDM/chatglm-6b-int4-qe", "chatglm-6b-int4 ": "THUDM/chatglm-6b-int4", "chatglm-6b-int8": "THUDM/chatglm-6b-int8", "chatglm-6b": "/your_path/chatglm-6b",} 项目启动 Web 模式启动代码语言:javascript copy pip install grariopython webui.py 模型配置上传知识库 知识库问答 API模式启动代码语言:javascript copy python api.py 命令行模式启动代码语言:javascript copy python cli_demo.py 改进Gradio页面太多简单,可以作为后台管理员操作页面。如果要向用户开放的话就不适合了。
舒先生在Chatgpt-Next-Web项目的基础上进行了适配修改,为用户创建了本地知识库前端。 。
授权码控件选择知识库,并根据知识库问答显示答案来源 PS:本知识库是我上传的原始知识库,所以源数据的显示效果不好。更好的做法是在上传之前先进行数据管理。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-21
06-18
06-18
06-18
06-06
06-18
06-18
06-17
06-18
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用