chatllm.cpp简介
chatllm.cpp是一个纯C++实现的大型语言模型(LLM)推理框架,支持在CPU上进行实时对话。该项目基于@ggerganov的ggml库开发,实现了从1B到300B+多种模型的推理能力。
主要特性包括:
- 基于int4/int8量化的高效CPU推理
- 支持多种Transformer架构模型
- 流式生成与打字机效果
- 长文本对话支持
- RAG(检索增强生成)实现
- LoRA微调支持
- Python/JavaScript/C语言绑定
快速开始
要开始使用chatllm.cpp,可以按以下步骤操作:
- 克隆项目仓库:
git clone --recursive https://github.com/foldl/chatllm.cpp.git
cd chatllm.cpp
-
下载量化模型或自行量化模型
-
编译项目:
cmake -B build
cmake --build build -j
- 运行对话:
./build/bin/main -m /path/to/model.bin -i
更多详细使用说明请参考快速入门指南。
模型支持
chatllm.cpp支持多种主流LLM模型,包括:
- ChatGLM系列
- LLaMA系列
- InternLM
- Qwen
- CodeLLaMA
- Phi
- 等等
完整支持列表和下载链接请查看模型文档。
RAG实现
chatllm.cpp提供了检索增强生成(RAG)的实现,可以利用外部知识增强模型回答。RAG功能的使用方法如下:
- 准备嵌入模型和重排序模型
- 创建向量存储
- 使用RAG进行对话
详细教程请参考RAG文档。
有趣玩法
除了基本的对话功能,chatllm.cpp还支持一些有趣的玩法:
- 模型层混洗:动态调整模型结构
- 多模型对话:让不同模型相互交谈
- 多专家系统:组合多个专家模型
感兴趣的读者可以查看玩法文档了解更多。
更多资源
chatllm.cpp是一个活跃开发中的项目,欢迎提交bug修复PR。希望这个框架能帮助更多人探索和使用大型语言模型!