littlebot
Published on 2025-04-17 / 3 Visits
0

【源码】基于Python和Streamlit框架的ChatGLM3复合演示应用

项目简介

本项目基于Arcment ChatGLM3模型,在ChatGLM3官方复合演示代码基础上进行修改。调整原代码以兼容Python 3.8/3.9较低版本,同时添加了量化功能和FastLLM推理加速。利用Streamlit框架创建用户界面,提供聊天、工具和代码解释三种模式,方便用户与模型交互。

项目的主要特性和功能

  1. 版本兼容性:支持Python 3.8/3.9版本,突破原复合演示仅支持Python 3.10及以上版本的限制。
  2. 量化功能:在client中添加QUANTIZE_BIT新参数,支持量化功能,默认采用8bit进行量化。
  3. 推理加速:支持使用FastLLM进行推理加速,可显著加快模型回复速度。不过目前对ChatGLM3适配较差,默认关闭,手动启用后仅支持聊天模式。
  4. 三种交互模式
    • 聊天模式:用户可输入文本与模型对话,还能在侧边栏修改top_p、temperature、System Prompt等参数调整模型行为。
    • 工具模式:可在tool_registry.py中注册新工具增强模型能力,也能通过Manual mode手动指定工具列表。
    • 代码解释器模式:模型能在Jupyter环境中执行代码并获取结果,可完成绘制图表、执行符号运算等复杂任务。
  5. 便捷操作:模型生成文本时可通过页面右上角Stop按钮打断,刷新页面可清空对话记录。

安装使用步骤

安装

建议通过 Conda 进行环境管理,执行以下命令: bash conda create -n chatglm3-demo python=3.8 conda activate chatglm3-demo pip install -r requirements.txt 使用 Code Interpreter 还需安装 Jupyter 内核: bash ipython kernel install --name chatglm3-demo --user

运行

运行以下命令在本地加载模型并启动 demo: bash streamlit run main.py 之后从命令行中获取 demo 地址,点击访问。初次访问需下载并加载模型,可能耗时较久。

指定本地模型与内核

若已在本地下载模型,可通过 export MODEL_PATH=/path/to/model 指定从本地加载;若需自定义 Jupyter 内核,可通过 export IPYKERNEL=<kernel_name> 指定。

使用

  1. 在浏览器中访问命令行给出的地址进入应用。
  2. 选择聊天、工具或代码解释模式。
  3. 按所选模式进行交互,如在聊天模式输入文本对话,工具模式选择工具使用,代码解释模式输入代码查看结果。

下载地址

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