littlebot
Published on 2025-04-12 / 1 Visits
0

【源码】基于Python的ChatGLM36B模型部署与NLP应用

项目简介

本项目聚焦于在AutoDL平台部署ChatGLM3-6B模型,并借助该模型开展自然语言处理(NLP)任务。项目具备多种功能,涵盖交互式对话、知识抽取、模型评分等,同时通过Web应用和命令行界面呈现这些功能。此外,项目支持模型量化、CPU部署、多卡部署等多种部署方式,可适配不同的硬件环境。

项目的主要特性和功能

  1. ChatGLM3-6B模型部署:可在AutoDL平台部署ChatGLM3-6B模型,支持GPU、CPU、Mac MPS后端等多种部署方式。
  2. 交互式对话:能通过命令行或Web界面与ChatGLM3-6B模型进行交互,获取文本响应。
  3. 知识抽取:从给定文本中提取知识三元组,助力从大量文本里抽取有用信息。
  4. 模型评分:依据流畅性、相关性和信息性等评价指标对文本进行评分。
  5. Web应用:提供Web应用,允许用户通过浏览器访问模型API,开展交互式对话和知识抽取任务。
  6. 低成本部署:支持模型量化、CPU部署等,降低硬件要求,适用于资源有限的环境。

安装使用步骤

1. 环境准备

确保已安装Python环境,并安装openaiargparselogging等必要依赖库。

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.pyChatGPT.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】