1 模型部署
在InternStudio平台中选择A100 (1/4)
的配置,镜像选择Cuda11.7-conda
,可以选择已有的开发机langchain
;
1.1 创建工作空间
mkdir /root/pdf_project
1.2 Clone项目
git clone https://gitee.com/tcexeexe/pdf-reading-assistant.git
1.3 创建虚拟项目空间并生成软链接
# 迭代创建虚拟项目空间和model目录
ln -sf /root/pdf_project /home/tcexeexe
# 建立分词程序的软链接
ln -sf /root/data/model/sentence-transformer /home/tcexeexe/data/model/sentence-transformer
# 建立分词数据目录
mkdir -p /root/pdf_project/data/pdf-reading-assistant/data_base/vector_db/pdf
ln -sf /root/pdf_project/data/pdf-reading-assistant /home/tcexeexe/data/model/sentence-transformer
1.4 激活conda环境
conda activate InternLM
1.5 安装PyPDF2库
pip install PyPDF2 pypdf tiktoken transformers_stream_generator
1.6 生成PDF知识库
python /root/pdf_project/data/pdf-reading-assistant/make_knowledge_repository.py
以上脚本会生成数据库文件chroma.sqlite3
,知识库中指定的文件内容就会存到其中,之前使用的PDF文件就不需要了。
在安装PyPDF2
之后仍然会遇到"ModuleNotFoundError: No module named ‘PyPDF2’"的错误
我们猜测这个错误是因为PyPDF2跟pypdf的重复安装导致的,为了验证这个问题,我们可以尝试使用绝对路径运行make_knowledge_repository.py
:
/root/.conda/envs/InternLM/bin/python \
/root/pdf_project/data/pdf-reading-assistant/make_knowledge_repository.py
1.7 在InternStudio中上传的PDF文件会被其意外清理
我们在InternStudio上做实验时发现:
InternStudio会不定时地删除上传的PDF文件;
我们咨询了一下队长:
队长回复说是InternStudio一种已知的问题;
1.8 运行网页demo
python /root/pdf_project/data/pdf-reading-assistant/web_demo.py