项目简介
本项目聚焦于在AutoDL平台部署ChatGLM3-6B模型,并借助该模型开展自然语言处理(NLP)任务。项目具备多种功能,涵盖交互式对话、知识抽取、模型评分等,同时通过Web应用和命令行界面呈现这些功能。此外,项目支持模型量化、CPU部署、多卡部署等多种部署方式,可适配不同的硬件环境。
项目的主要特性和功能
- ChatGLM3-6B模型部署:可在AutoDL平台部署ChatGLM3-6B模型,支持GPU、CPU、Mac MPS后端等多种部署方式。
- 交互式对话:能通过命令行或Web界面与ChatGLM3-6B模型进行交互,获取文本响应。
- 知识抽取:从给定文本中提取知识三元组,助力从大量文本里抽取有用信息。
- 模型评分:依据流畅性、相关性和信息性等评价指标对文本进行评分。
- Web应用:提供Web应用,允许用户通过浏览器访问模型API,开展交互式对话和知识抽取任务。
- 低成本部署:支持模型量化、CPU部署等,降低硬件要求,适用于资源有限的环境。
安装使用步骤
1. 环境准备
确保已安装Python环境,并安装openai
、argparse
、logging
等必要依赖库。
2. 模型配置
- 选择合适的显卡(如RTX 3090),拉取支持CUDA 12.1以上的PyTorch镜像。
- 使用AutoDL提供的登录指令和密码,通过SSH登录云服务器,配置代理加速Git仓库访问。
- 使用
git clone
命令拉取项目代码,安装所需的Python依赖库。 - 从魔塔社区下载ChatGLM3-6B模型,配置模型路径。
3. 配置API服务器
- 在
/root/autodl-tmp/NLP-Homework/openai_api_demo
路径下,运行api_server.py
启动API服务。 - 使用测试脚本或Curl命令测试API调用,确保模型正常响应。
4. 调用RemoteLLM
- 在
/root/autodl-tmp/NLP-Homework/remote/configs
路径下,创建.env
文件,配置API_KEY和模型代理地址。 - 在
/root/autodl-tmp/NLP-Homework/remote
路径下,运行ChatGLM3.py
或ChatGPT.py
调用本地部署的ChatGLM3-6B模型。
5. 建立SSH隧道实现本地代理
若不想将API_KEY等隐私信息上传到云端,可通过SSH隧道代理本地访问6006端口实现接口调用。
6. 低成本部署
- 采用量化方式加载模型,降低显存需求。
- 无GPU时可在CPU上推理,但速度较慢。
- 在搭载Apple Silicon或AMD GPU的Mac上,使用MPS后端运行模型。
7. 应用开发
- 在
applications
文件夹下运行app.py
,拉起Prompt构造服务,支持交互式对话和知识抽取任务。 - 在
applications/BatchHandler
文件夹下运行batch_handler.py
,拉起文件批处理服务,支持单文件和批文件的常识知识三元组提取任务。 - 在
ChatGLM_Web
文件夹下运行npm run dev
,启动Web应用,支持Prompt封装、模型选择、流式输出等功能。
注意事项
- 实际部署和使用时,需遵循OpenAI和ModelScope的API使用条款和限制。
- 注意安全性和隐私性,避免上传敏感信息到云端。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】