使用 LocalGPT 和 SkyPilot 与您的文档聊天#
LocalGPT 允许您与文档(txt、pdf、csv 和 xlsx 格式)聊天、提问和总结内容。模型在您的硬件上运行,您的数据保持 100% 私有。SkyPilot 可以通过单个命令在任何云(AWS、Azure、GCP、Lambda Cloud、IBM、Samsung、OCI)上运行 localGPT,负责最小化成本并寻找可用资源。
前提条件#
安装 SkyPilot 并检查您的云凭据设置
pip install git+https://github.com/skypilot-org/skypilot.git
sky check
详情请参见文档。
完成后,我们将使用用于 localGPT 的 SkyPilot YAML 来定义我们的任务并运行它。
使用 SkyPilot 在您的云上启动 localGPT#
使用
sky launch
在您的云上运行 localGPT。SkyPilot 会在资源配置前显示预估成本和选择的云。例如,在 AWS 的 T4 实例上运行大约每小时花费 $0.53。
sky launch -c localgpt localgpt.yaml
当您看到
INFO:werkzeug:Press CTRL+C to quit
时,您可以安全地通过 Ctrl+C 退出sky launch
命令。在新的终端窗口中运行
ssh -L 5111:localhost:5111 localgpt
将端口 5111 转发到您的本地机器。保持此终端运行。在浏览器中打开 http://localhost:5111。点击“上传文件”以上传文档。文档摄入后,您可以与它聊天、提问和总结。例如,在下面的 GIF 中,我们使用 SkyPilot NSDI 2023 论文来询问关于 SkyPilot 如何工作的问题。
完成后,您可以使用
sky down localgpt
终止实例。
可选:为了使演示可以公开访问,请配置您的云以打开实例使用的 VPC 的端口 5111(参见 AWS 和 GCP 的说明)。然后,您可以通过 http://<your-instance-public-ip>:5111
访问演示。您可以通过运行以下命令获取实例的 IP:
host_name="localgpt" && grep -A1 "Host $host_name" ~/.ssh/config | awk '/HostName/ {print $2}'
包含的文件#
localgpt.yaml
# Run localGPT on your documents on any cloud using SkyPilot
# Usage:
# sky launch -c localgpt localgpt.yaml
#
# * Wait to see `INFO:werkzeug:Press CTRL+C to quit` before proceeding
# * In a new terminal, run `ssh -L 5111:localhost:5111 localgpt`
# * Open http://localhost:5111 in your browser
resources:
accelerators: A100:1
setup: |
conda activate py39
if [ $? -eq 0 ]; then
echo "conda env exists"
else
conda create -y -n py39 python=3.9
conda activate py39
git clone https://github.com/PromtEngineer/localGPT.git
cd localGPT/
git checkout 5ab5e1921adb45a2df8d61f189a3fb4e9b401e58
pip install -r requirements.txt
# bitsandbytes>0.39.1 fails on GCP, see issue:
# https://github.com/TimDettmers/bitsandbytes/issues/620
pip install -U bitsandbytes==0.39.1
fi
run: |
conda activate py39
cd localGPT/
python run_localGPT_API.py & python localGPTUI/localGPTUI.py --port 5111 --host 0.0.0.0