Skip to content

hiwei93/chatglm2-6b-explorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChatGLM2-6B 探索

ChatGLM2-6BChatGLM-6B 第二代版本,已经发布就一直位列 Huggingface 模型下载榜单前几位。

ChatGLM2-6B 相交前代模型在推理效果、推理速度和上下文长度上都有提升,具体效果如何,就让我们一起探索吧。

查看项目:

项目介绍

本项目是对 ChatGLM2-6B 模型能力的探索

项目体系结构

项目的主要结构,如下图所示:

包含组件

主要包含以下组件

1. websocket 模型服务

以 websocket API 的方式访提供模型能力,解耦 Gradio 开发与模型加载,提高开发速度

2. GRPC 模型服务

使用 RPC 通信的方式提供模型能力,通信效率高,支持单向流式传输方式,建议使用

3. Gradio Web 应用展廊

  1. 原生通用对话 Web 应用

  2. 基于设定指令的对话 Web 应用

  3. 翻译器

  4. 内容审查

  5. 论文速览

Gradio Web 应用参考 Falcon-Chat demo

一、安装依赖

pip install -r chatglm2_6b_explorer/requirements.txt --user

二、设置

通过配置环境变量来进行设置,有以下配置项

配置项 说明 默认值
CHAT_CLIENT 指定使用的对话客户端,有两个客户端类型可选:
- ChatGLM2APIClient:通过 API 访问模型
- ChatGLM2GRPCClient:使用 GPRC 方式访问
- ChatGLM2ModelClient:直接访问模型
ChatGLM2GRPCClient
SERVER_TYPE 指定运行模型服务的类型,有两种类型:
- websocket: 启动 websocket 服务
- grpc: 启动 grpc 服务
grpc
MODEL_WS_URL 访问模型 websocket API 的地址 ws://localhost:10001
MODEL_GRPC_TARGET 访问模型 grpc 服务的 ip 与端口 localhost:10002
CHATGLM_MODEL_PATH 模型的路径 THUDM/chatglm2-6b,即从 Huggingface 下载

1. CHAT_CLIENT

CHAT_CLIENT 指定应用使用的对话客户端类型,有两个客户端类型可选

  • ChatGLM2APIClient:通过 API 的方式访问模型的能力(需要启动 websocket 服务,操作请看:三、运行模型 websocket 服务
  • ChatGLM2GRPCClient:通过 GRPC 的方式访问模型的能力(需要启动 GRPC 服务,操作请看:四、运行模型 GRPC 服务
  • ChatGLM2ModelClient:直接加载模型访问

💡如果有开发基础,建议选择 ChatGLM2APIClientChatGLM2GRPCClient 方式,可以将 Gradio Web 界面开发与模型加载分离,提高开发与调试速度。

💡如果需要部署到Huggingface或者其他托管平台,建议使用 ChatGLM2ModelClient 方式,能够实现直接部署。

❗️强烈不建议在开发的时候使用 ChatGLM2ModelClient 方式,导致不断加载模型,拖慢开发速度。

2. SERVER_TYPE

SERVER_TYPE 指定启动模型服务的类型,有两种模型服务可选:

  • websocket:使用 websocket 的协议提供模型能力的访问
  • grpc:使用 rpc 的协议提供模型能力的访问

3. MODEL_WS_URL

MODEL_WS_URL 指定模型 websocket 服务 URL,如果 CHAT_CLIENT=ChatGLM2APIClient,则必须填写

4. MODEL_GRPC_TARGET

MODEL_GRPC_TARGET 指定模型 grpc 服务的 ip 与端口,如果 CHAT_CLIENT=ChatGLM2GRPCClient,则必须填写

5. CHATGLM_MODEL_PATH

CHATGLM_MODEL_PATH 指定使用的模型路径,如果是 THUDM/chatglm2-6b 则会从 Huggingface 拉取模型;如果指定本地模型路径,则使用本地模型。

三、运行模型 websocket 服务

前提:

  • 安装了依赖、配置好 CHATGLM_MODEL_PATH
  • 配置 SERVER_TYPE=websocket
cd chatglm2_6b_explorer/src
python runserver.py

四、运行模型 GRPC 服务

前提:

  • 安装了依赖、配置好 CHATGLM_MODEL_PATH
  • 配置 SERVER_TYPE=grpc
cd chatglm2_6b_explorer/src
python runserver.py

五、运行 Web 应用

cd chatglm2_6b_explorer/src
python gallery.gradio.py

Releases

No releases published

Packages

No packages published