开发:GLM等大模型外接数据库
开发:GLM等大模型外接数据库
开发:GLM等大模型外接数据库 开发:GLM等大模型外接数据库 也可以添加GitHub账号或者Gitee账号,Gitee需要安装对应的Plugin。 项目部署 项目地址:https://github.com/imClumsyPanda/langchain ChatGLM.git 下载源码 Code block Python git clone https://github.com/imClumsyPanda/langchain ChatGLM.git 或在Pycharm中使用git clone 安装依赖 Code block Python cd langchain ChatGLM pip install r requirements.txt pip install torch torchvision torchaudio index url https://download.pytorch.org/whl/cu118 下载模型 因模型文件较大,需要下载git lfs Code block Python git lfs install Hugging Face下载模型 LLM git clone https://huggingface.co/THUDM/chatglm 6b /<your path /chatglm 6b Embedding git clone https://huggingface.co/GanymedeNil/text2vec large chinese /<your path /text2vec 或在Pycharm中使用git clone 参数调整 在 configs/model config.py 文件中: 对embedding model dict参数进行修改 Code block Python embedding model dict = { "ernie tiny": "nghuyong/ernie 3.0 nano zh", "ernie base": "nghuyong/ernie 3.0 base zh", "text2vec base": "shibing624/text2vec base chinese", "text2vec": "E:/langchain ChatGLM/text2vec", } 对llm model dict参数进行修改 Code block Python llm model dict = { "chatglm 6b int4 qe": { "name": "chatglm 6b int4 qe", "pretrained model name": "THUDM/chatglm 6b int4 qe", "local model path": None, "provides": "ChatGLM" }, "chatglm 6b int4": { "name": "chatglm 6b int4", "pretrained model name": "THUDM/chatglm 6b int4", "local model path": None, "provides": "ChatGLM" }, "chatglm 6b int8": { "name": "chatglm 6b int8", "pretrained model name": "THUDM/chatglm 6b int8", "local model path": None, "provides": "ChatGLM" }, "chatglm 6b": { "name": "chatglm 6b", "pretrained model name": "THUDM/chatglm 6b", "local model path": "E:/langchain ChatGLM/chatglm 6b", "provides": "ChatGLM" }, "chatglm2 6b": { "name": "chatglm2 6b", "pretrained model name": "THUDM/chatglm2 6b", "local model path": None, "provides": "ChatGLM" }, "chatyuan": { "name": "chatyuan", "pretrained model name": "ClueAI/ChatYuan large v2", "local model path": None, "provides": None }, } 项目启动 web启动 运行web.py 若显存不足则调整configs/model config.py 文件中LLM MODEL参数更换模型 若连接无法连接修改web.py文件末尾lauch中0.0.0.0为127.0.0.1 Code block Python .queue(concurrency count=3) .launch(server name='127.0.0.1', server port=7860, show api=False, share=False, inbrowser=False)) 点击URL进入UI界面 API 模式启动 Code block Bash python api.py 命令行模式启动 Code block Bash python cli demo.py 上传知识库 左侧知识库问答中选择新建知识库,可传输txt pdf等 也可以添加GitHub账号或者Gitee账号,Gitee需要安装对应的Plugin。 项目部署 项目地址:https://github.com/imClumsyPanda/langchain ChatGLM.git 下载源码 或在Pycharm中使用git clone 安装依赖 下载模型 因模型文件较大,需要下载git lfs 或在Pycharm中使用git clone 参数调整 在 configs/model config.py 文件中: 对embedding model dict参数进行修改 对llm model dict参数进行修改 项目启动 web启动 运行web.py 若显存不足则调整configs/model config.py 文件中LLM MODEL参数更换模型 若连接无法连接修改web.py文件末尾lauch中0.0.0.0为127.0.0.1 点击URL进入UI界面 API 模式启动 命令行模式启动 上传知识库 左侧知识库问答中选择新建知识库,可传输txt pdf等 可以调整 prompt,匹配不同的知识库,让 LLM 扮演不同的角色 • 上传公司财报,充当财务分析师 财务分析师 • 上传客服聊天记录,充当智能客服 • 上传经典Case,充当律师助手 • 上传医院百科全书,充当在线问诊医生 百科全书 等等 MOSS同理 本内容来自群友Michael的实践编辑整理 原理介绍 从文档处理角度来看,实现流程如下: 配置要求 • ChatGLM 6B 模型硬件需求 • 注:模型文件下载至本地需要 15 GB 存储空间。 • MOSS 模型硬件需求 • 注:模型文件下载至本地需要 70 GB 存储空间 • Embedding 模型硬件需求 • 默认选用的 Embedding 模型 GanymedeNil/text2vec large chinese 约占用显存 3GB,也可修改为在 CPU 中运行。 GanymedeNil/text2vec large chinese 环境搭建 采用Anconda配置Python环境,在Pycharm中编译 Anconda 下载地址:Anconda Anconda 打开Anaconda Navigator,点击Environments可以看到anaconda中已经有了默认的“base”环境,其中包含了大多数我们会用到的包,在PyCharm中可以直接使用该环境,而无需自行下载需要的包。 Pycharm 官网安装 打开已经安装好的PyCharm,点击新建项目。 集成Git 当我们在官网下载好Git后,按照要求进行安装,在PyCharm环境中配置Git。 基础配置 在设置中,选择版本控制(Version Control),选择Git(一般来说,Git正常安装后就可以在这里显示插件) 找到Git的可执行文件,可以打开Git Bash,输入:where git 选择文件的位置即可。