ChatGML2-6B系列文章
继成功在我的 MacBook Pro M2 MAX 上部署 ChatGLM2-6B后,再次成功部署开源ChatPDF[1]。
这里特别注意下,如果想体验 ChatGLM2-6B 版本的 ChatPDF,请访问我的源码库,除非我的 PR 被 merge 后,可以访问官方的源码库。(已经merge)
ChatPDF是什么?
ChatPDF是一款工具,可以让用户像与人类交互一样与PDF文档进行交互。 它通过分析PDF文件创建语义索引,然后将相关段落发送给文本生成AI,从而快速从大型PDF文件中提取信息,如手册、论文、法律合同、书籍和研究论文。

ChatPDF 流程图
ChatPDF
开源的ChatPDF为 ChatGLM/LLaMA 等多种 LLM 提供了一个好用的基于 PDF(不仅仅PDF,还支持Word文档,Markdown以及文本文件) 问答的图形界面。

WebUI 模式
python webui.py

从上面代码可以看到,ChatGLM2-6B 使用了 mps Device,但 text2vec.sentence_model 则使用的是 CPU device。
命令行模式
python chatpdf.py

安装部署
git clone https://github.com/alitrack/ChatPDF
cd ChatPDF
pip install -r requirements.txt
如果你的电脑是搭载了 Apple Silicon
(M1 或者 M2) 或者 AMD GPU
的 Mac, 你需要额外的准备工作,具体参考Arm 版 MacOS 部署 ChatGLM2-6B。
安装 Nightly 版本 PyTorch
pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu
下载模型到本地
brew install git-lfs
git lfs install
git clone https://huggingface.co/THUDM/chatglm2-6b
运行的时候制定本地模型路径
# 命令行
python chatpdf.py /Users/m2max/py/chatglm2/chatglm2-6b/
# webui
CHATGLM2_6B=/Users/m2max/py/chatglm2/chatglm2-6b/ python webui.py
P.S.
在本文快写完的时候, 突然想到给 Similarity 也增加mps
的支持,并尝试了 PostgreSQL 15 英文手册(postgresql-15-A4.pdf[2]), 加载速度明显快了起来,


参考资料
ChatPDF: https://github.com/alitrack/ChatPDF
[2]postgresql-15-A4.pdf: https://www.postgresql.org/files/documentation/pdf/15/postgresql-15-A4.pdf




