Repochat 项目介绍
Repochat 是一个互动聊天机器人项目,专为与 GitHub 仓库进行互动的对话而设计。它利用大型语言模型(LLM)来帮助用户进行有意义的交流,比如提出问题和从仓库中检索相关信息。本文将带读者了解如何在本地机器上设置和使用 Repochat。
项目分支
Repochat 提供了两种版本供用户选择:
主分支
主分支完全在本地机器上运行,不依赖外部 API 调用,用户可以更好地控制自己的数据。如果您需要一个独立的解决方案,那么选择主分支将是最佳方式。
云分支
云分支主要依赖于外部服务的 API 调用来进行模型推理和数据存储。适合那些希望使用基于云的解决方案而不想建立本地环境的用户。
安装步骤
要开始使用 Repochat,您需要按照以下步骤安装:
-
创建并激活一个虚拟环境,以隔离项目的依赖关系。
python -m venv repochat-env source repochat-env/bin/activate
-
克隆 Repochat 仓库,并进入项目目录。
git clone https://github.com/pnkvalavala/repochat.git cd repochat
-
使用
pip
安装所需的 Python 包。pip install -r requirements.txt
-
安装 "llama-cpp-python" 库,可以根据需要选择安装带硬件加速的版本。
-
在项目目录中创建一个名为
models
的文件夹。 -
从 Hugging Face Model Hub 下载一个语言模型,并根据计算机的能力选择,例如使用 TheBloke/CodeLlama-7B-GGUF 作为起点。
-
将下载的模型文件复制到 "models" 文件夹中,并在 "repochat" 文件夹下的
models.py
文件中设置模型文件路径。
使用方法
-
打开终端,运行以下命令以启动 Repochat 应用程序:
streamlit run app.py
-
输入 GitHub 仓库链接。
-
Repochat 将获取仓库中的所有文件,并存储在一个名为 "cloned_repo" 的文件夹中,然后将文件拆分为更小的块,并使用 Sentence Transformers 模型计算它们的嵌入。
-
嵌入被本地存储在一个名为 ChromaDB 的向量数据库中。
聊天机器人功能
Repochat 允许用户与聊天机器人互动。您可以提出问题或提供输入,聊天机器人将从向量数据库中检索相关文档,并将您的输入和文档发送到语言模型以生成响应。默认情况下,使用"codellama-7b-instruct"模型,但可以根据计算机性能进行更改。
聊天机器人在对话中保留记忆功能,以提供上下文相关的响应。
问题反馈
如果您遇到任何问题,有建议或想报告错误,请访问 Repochat 仓库中的 Issues 部分,创建新问题并提供详细信息,我们将竭诚为您提供帮助。
许可证
该项目根据 Apache License 2.0 授权使用。有关详细信息,请参阅 LICENSE 文件。请注意,这是从以前的许可证的更改,重要的是要查看新许可证的条款和条件。