Home
Login

智譜AI與清華大學KEG實驗室聯合發佈的開源雙語對話大語言模型,支持工具調用、代碼執行等功能

Apache-2.0Python 13.7kTHUDM Last Updated: 2025-01-13

ChatGLM3項目詳細介紹

項目概述

ChatGLM3 是智譜AI和清華大學 KEG 實驗室聯合發布的對話預訓練模型。ChatGLM3-6B 是 ChatGLM3 系列中的開源模型,在保留了前兩代模型對話流暢、部署門檻低等眾多優秀特性的基礎上,ChatGLM3-6B引入了多項重要的新特性和改進。

項目地址: https://github.com/THUDM/ChatGLM3

核心特性

1. 更強大的基礎模型

ChatGLM3-6B 的基礎模型 ChatGLM3-6B-Base 采用了更多樣的訓練數據、更充分的訓練步數和更合理的訓練策略。在語義、數學、推理、代碼、知識等不同角度的數據集上評測顯示,ChatGLM3-6B-Base 具有在 10B 以下的基礎模型中最强的性能。

2. 更完整的功能支持

  • 新版Prompt格式: 采用全新設計的Prompt格式,支持更靈活的對話交互
  • 工具調用 (Function Call): 原生支持工具調用功能,模型可以主動調用外部工具
  • 代碼執行 (Code Interpreter): 支持在Jupyter環境中執行代碼並獲取結果
  • Agent任務: 支持複雜的智能體任務場景

3. 更全面的開源序列

提供多個版本以滿足不同需求:

  • ChatGLM3-6B: 標準對話模型,支持8K上下文長度
  • ChatGLM3-6B-Base: 基礎預訓練模型
  • ChatGLM3-6B-32K: 長文本對話模型,支持32K上下文
  • ChatGLM3-6B-128K: 超長文本理解模型,支持128K上下文

性能表現

基礎能力評測

在8個中英文典型數據集上的測試結果:

模型 GSM8K MATH BBH MMLU C-Eval CMMLU MBPP AGIEval
ChatGLM2-6B-Base 32.4 6.5 33.7 47.9 51.7 50.0 - -
ChatGLM3-6B-Base 72.3 25.7 66.1 61.4 69.0 67.5 52.4 53.7

長文本處理能力

在多個長文本應用場景下對 ChatGLM3-6B-32K 進行了人工評估測試。與二代模型相比,其效果平均提升了超過 50%。在論文閱讀、文檔摘要和財報分析等應用中提升尤為顯著。

安裝與使用

環境準備

git clone https://github.com/THUDM/ChatGLM3
cd ChatGLM3
pip install -r requirements.txt

基礎使用示例

from transformers import AutoTokenizer, AutoModel

# 加載模型
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True, device='cuda')
model = model.eval()

# 對話交互
response, history = model.chat(tokenizer, "你好", history=[])
print(response)

硬件要求

  • 標準加載: 需要約13GB顯存(FP16精度)
  • 量化加載: 4-bit量化後顯存需求大幅降低
  • CPU推理: 需要約32GB内存
  • 多GPU支持: 可將模型分佈在多張GPU上

部署方式

1. Web界面部署

# Gradio版本
python web_demo_gradio.py

# Streamlit版本
streamlit run web_demo_streamlit.py

2. 命令行交互

python cli_demo.py

3. API服務部署

cd openai_api_demo
python api_server.py

提供OpenAI兼容的API接口,支持:

  • 標準對話接口
  • 工具調用接口
  • 流式響應
  • 溫度和top_p參數控制

微調與擴展

微調支持

項目提供完整的微調套件,支持:

  • 指令微調
  • 對話微調
  • 任務特定微調

社區生態

支持多個優秀的開源項目:

推理加速:

  • chatglm.cpp: 類似llama.cpp的量化加速方案
  • ChatGLM3-TPU: TPU加速推理
  • TensorRT-LLM: NVIDIA GPU高性能推理
  • OpenVINO: Intel設備加速推理

微調框架:

  • LLaMA-Factory: 高效微調框架

應用框架:

  • LangChain-Chatchat: RAG知識庫項目
  • BISHENG: 大模型應用開發平台
  • RAGFlow: 深度文檔理解RAG引擎

綜合Demo功能

項目提供集成三種模式的綜合Demo:

  1. Chat模式: 標準對話交互
  2. Tool模式: 工具調用演示
  3. Code Interpreter模式: 代碼執行環境

許可證與使用條款

  • 學術研究: 完全開放使用
  • 商業使用: 填寫問卷登記後允許免費商業使用
  • 使用限制: 不得用於可能危害國家和社會的用途
  • 安全要求: 需通過安全評估和備案的服務

技術架構特點

模型架構

  • 基於GLM架構的改進版本
  • 優化的注意力機制
  • 更好的多語言支持
  • 原生支持工具調用

訓練優化

  • 更多樣化的訓練數據
  • 更充分的訓練步數
  • 更合理的訓練策略
  • 針對中文優化

社區貢獻

項目積極擁抱開源社區,與多個優秀項目深度合作,形成了完整的生態系統。開發者可以基於ChatGLM3進行各種創新應用的開發。