littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于ChatGLM6B模型的交互式问答系统

项目简介

本项目基于本地部署的ChatGLM-6B模型,打造了一个交互式问答系统。借助Flask框架构建Web应用,为用户提供友好的网页交互界面,同时支持通过API进行命令行调用。用户可通过网页界面或命令行接口与模型对话,模型能理解并生成自然语言文本以完成问答任务。

项目的主要特性和功能

  1. 本地模型部署:采用ChatGLM-6B模型本地部署,不依赖远程服务,响应稳定快速。
  2. 交互式对话:用户可通过网页或命令行与模型进行多轮对话,模型具备自然语言理解与生成能力。
  3. 多轮对话支持:模型能保留对话上下文,依据用户输入和历史对话生成连贯回复。
  4. Web应用界面:提供基于Flask的Web应用界面,用户可在浏览器中直接对话。
  5. API支持:支持通过API进行命令行调用,便于集成到其他应用或脚本。

安装使用步骤

1. 准备环境

  • 操作系统:Windows 或 Ubuntu
  • Python 版本:3.10 或以上
  • 显卡内存:NVIDIA 至少 6GB 可用内存
  • 安装必要的 Python 库:transformers 4.30.2 或以上,torch 2.0 或以上(GPU版本)

2. 复制项目代码

shell

3. 下载模型

python from modelscope.hub.snapshot_download import snapshot_download model_dir = snapshot_download('ZhipuAI/chatglm3-6b', cache_dir='F:/pretrained_model/chatglm3-6b/', revision='master')

4. 创建虚拟环境并安装依赖

shell conda create -n chatglm_env python=3.10 conda activate chatglm_env pip install -r requirements.txt

5. 运行测试代码

  • 进入 basic_demo 文件夹,运行 cli_demo.py 文件,确保替换模型路径。
  • 如果显存较小,可以进行量化操作: python model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True).quantize(4).cuda() model = model.eval()

6. 启动API服务

  • 进入 openai_api_demo 文件夹,运行 openai_api.py 文件。
  • 确保模型路径正确,运行成功后可以通过API调用模型。

7. 启动Web应用

  • 运行 new-app.py 文件,启动Web应用。
  • 访问提供的链接,即可在浏览器中与模型进行对话。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】