项目介绍:ChatDocs
ChatDocs 是一个强大的工具,让用户能够与他们的文档进行离线交互。该工具完全基于 AI 技术,确保用户数据不离开本地系统,仅在安装工具和下载 AI 模型时需要互联网连接。ChatDocs 在 PrivateGPT 项目的基础上进行开发,提供了更多功能。
功能特点
ChatDocs 支持多种 AI 模型,包括 GGML/GGUF 模型、🤗 Transformers 模型和 GPTQ 模型。用户可以通过 Web 界面与文档互动,并且支持 GPU 加速。工具的配置非常灵活,可通过 chatdocs.yml
文件进行调整和设置。对于文档格式,ChatDocs 支持广泛的文件类型,涵盖从 Word、PDF 到 HTML、Markdown 等多种格式。
安装方法
要使用 ChatDocs,只需使用以下命令安装工具:
pip install chatdocs
接着,下载 AI 模型:
chatdocs download
完成后,就可以在没有互联网连接的情况下使用 ChatDocs。
使用说明
用户可以通过以下命令添加包含文档的目录:
chatdocs add /path/to/documents
处理后的文档默认存储在 db
目录中。
为了与文档进行交互,用户可以通过命令:
chatdocs ui
在浏览器中访问 http://localhost:5000 来进入 Web 界面。同样,用户可以通过命令行界面参与对话:
chatdocs chat
配置
所有配置选项可以在 chatdocs.yml
文件中进行更改。用户只需在某目录中创建 chatdocs.yml
文件,并从该目录运行所有命令。可参考默认的 chatdocs.yml
文件进行配置调整。
嵌入(Embeddings)
要更改嵌入模型,可以在 chatdocs.yml
中添加并修改如下内容:
embeddings:
model: hkunlp/instructor-large
CTransformers 配置
更改 CTransformers 模型时,可以在 chatdocs.yml
中进行如下配置:
ctransformers:
model: TheBloke/Wizard-Vicuna-7B-Uncensored-GGML
model_file: Wizard-Vicuna-7B-Uncensored.ggmlv3.q4_0.bin
model_type: llama
如需使用本地已有的模型文件:
ctransformers:
model: /path/to/ggml-model.bin
model_type: llama
🤗 Transformers 配置
要使用 🤗 Transformers 模型,请在 chatdocs.yml
中添加:
llm: huggingface
并更改模型设置:
huggingface:
model: TheBloke/Wizard-Vicuna-7B-Uncensored-HF
GPU 支持
嵌入
若要为嵌入模型启用 GPU(CUDA)支持,需在 chatdocs.yml
中添加:
embeddings:
model_kwargs:
device: cuda
用户可能需要重新安装支持 CUDA 的 PyTorch。
CTransformers
启用 CTransformers 模型的 GPU 支持:
ctransformers:
config:
gpu_layers: 50
可能需要安装 CUDA 库:
pip install ctransformers[cuda]
🤗 Transformers
为 🤗 Transformers 模型启用 GPU 支持:
huggingface:
device: 0
用户可能需重新安装支持 CUDA 的 PyTorch。
ChatDocs 提供了全面的功能,使用户能够高效、便捷地与文档进行智能化对话。其支持多种文档格式和 AI 模型,并可通过灵活的配置适应用户的不同需求。