开源的 GPT
privateGPT 是一个可以在没有互联网连接的情况下使用 LLMs 的功能来向文档提问
的工具。它是 100%私密的,不会在任何时候将数据传输到外部环境。您可以在
没有互联网连接的情况下导入文档并提问!
privateGPT 使用了 LangChain、GPT4All、LlamaCpp、Chroma 和 SentenceTransformers
进行构建。
环境设置
为了设置您的环境以运行此代码,请首先安装所有要求:
pip3 install -r requirements.txt
使用 poetry 进行备选要求安装
安装 poetry
运行以下命令
cd privateGPT
poetry install
poetry shell
然后,下载 LLM 模型并将其放置在您选择的目录中:
LLM:默认为 ggml-gpt4all-j-v1.3-groovy.bin。如果您喜欢其他兼容 GPT4All-J 的模型,
只需下载它并在.env 文件中引用即可。
将 example.env 模板复制到.env 中
cp example.env .env
并在.env 文件中适当地编辑变量。
MODEL_TYPE:支持 LlamaCpp 或 GPT4All
PERSIST_DIRECTORY:您要放置矢量存储的文件夹
MODEL_PATH:GPT4All 或 LlamaCpp 支持的 LLM 的路径
MODEL_N_CTX:LLM 模型的最大标记限制
MODEL_N_BATCH:一次馈入模型的提示中的标记数。最佳值因模型而异(8 适用
于 GPT4All,1024 适用于 LlamaCpp)
EMBEDDINGS_MODEL_NAME : SentenceTransformers 嵌 入 模 型 名 称 ( 参 见
https://www.sbert.net/docs/pretrained_models.html)
TARGET_SOURCE_CHUNKS:将用于回答问题的块(源)的数量
注意:由于 langchain 加载 SentenceTransformers 嵌入的方式,您首次运行脚本时需
要互联网连接来下载嵌入模型本身。
测试数据集