项目简介
本项目基于Arcment ChatGLM3模型,在ChatGLM3官方复合演示代码基础上进行修改。调整原代码以兼容Python 3.8/3.9较低版本,同时添加了量化功能和FastLLM推理加速。利用Streamlit框架创建用户界面,提供聊天、工具和代码解释三种模式,方便用户与模型交互。
项目的主要特性和功能
- 版本兼容性:支持Python 3.8/3.9版本,突破原复合演示仅支持Python 3.10及以上版本的限制。
- 量化功能:在client中添加QUANTIZE_BIT新参数,支持量化功能,默认采用8bit进行量化。
- 推理加速:支持使用FastLLM进行推理加速,可显著加快模型回复速度。不过目前对ChatGLM3适配较差,默认关闭,手动启用后仅支持聊天模式。
- 三种交互模式
- 聊天模式:用户可输入文本与模型对话,还能在侧边栏修改top_p、temperature、System Prompt等参数调整模型行为。
- 工具模式:可在
tool_registry.py
中注册新工具增强模型能力,也能通过Manual mode
手动指定工具列表。 - 代码解释器模式:模型能在Jupyter环境中执行代码并获取结果,可完成绘制图表、执行符号运算等复杂任务。
- 便捷操作:模型生成文本时可通过页面右上角
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>
指定。
使用
- 在浏览器中访问命令行给出的地址进入应用。
- 选择聊天、工具或代码解释模式。
- 按所选模式进行交互,如在聊天模式输入文本对话,工具模式选择工具使用,代码解释模式输入代码查看结果。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】