用于敏感数据的 AI 代码解释器,由 GPT-4 或 Code Llama / Llama 2 提供支持。
Incognito Pilot将大型语言模型 (LLM) 与 Python 解释器相结合,因此它可以为您运行代码并执行任务。它与ChatGPT Code Interpreter类似,但解释器在本地运行,并且可以使用Code Llama / Llama 2等开源模型。
Incognito Pilot允许您处理敏感数据,而无需将其上传到云端。您可以使用本地 LLM(如 Llama 2)或 API(如 GPT-4)。对于后一种情况,UI 中有一个审批机制,它将本地数据与远程服务分开。
通过Incognito Pilot ,您可以:
还有更多!
该视频展示了使用 GPT-4 的 Incognito Pilot。当您的对话和批准的代码结果发送到 OpenAI 的 API 时,您的数据将保存在您的本地计算机上。解释器也在本地运行并在那里处理您的数据。您还可以更进一步,使用 Code Llama / Llama 2 让所有内容在您的计算机上运行。
本节介绍如何通过 OpenAI 的 API 使用 GPT 模型安装Incognito Pilot 。为了
请按照下列步骤操作:
docker run -i -t
-p 3030:80
-e OPENAI_API_KEY= " sk-your-api-key "
-e ALLOWED_HOSTS= " localhost:3030 "
-v /home/user/ipilot:/mnt/data
silvanmelchior/incognito-pilot:latest-slim
在控制台中,您现在应该看到一个 URL。打开它,您应该会看到Incognito Pilot界面。
还可以使用 OpenAI 的免费试用积分来运行Incognito Pilot ,而无需添加信用卡。但目前,这不包括 GPT-4,因此请参阅下面如何将模型更改为 GPT-3.5。
在Incognito Pilot界面中,您将看到一个聊天界面,您可以通过该界面与模型进行交互。我们来尝试一下吧!
现在您应该准备好使用Incognito Pilot来完成您自己的任务。只要记住:
还有一件事:您刚刚使用的版本几乎没有附带 Python 解释器的软件包。这意味着,读取图像或 Excel 文件之类的操作将不起作用。要更改此设置,请返回控制台并按 Ctrl-C 停止容器。现在重新运行该命令,但从映像中删除-slim
后缀。这将下载一个更大的版本,配备许多软件包。
要使用默认模型 (GPT-4) 之外的其他模型,请设置环境变量LLM
。 OpenAI 的 GPT 模型具有前缀gpt:
,因此以 GPT-3.5(原始 ChatGPT)为例,请将以下内容添加到 docker run 命令中:
-e LLM= " gpt-openai:gpt-3.5-turbo "
请注意,GPT-4 在解释器设置方面比 GPT-3.5 好得多。
要在不同于 3030 的端口上为 UI 提供服务,您可以将内部端口 80 公开给其他端口,例如 8080。在这种情况下,您还应该更改允许的主机变量:
docker run -i -t
-p 8080:80
-e ALLOWED_HOSTS= " localhost:8080 "
...
silvanmelchior/incognito-pilot
默认情况下,身份验证令牌是您打开的 URL 的一部分,是在启动时随机生成的。这意味着,每当您重新启动容器时,都需要重新复制 URL。如果您想防止这种情况,还可以通过将以下内容添加到 docker run 命令来将令牌固定为某个值:
-e AUTH_TOKEN= " some-secret-token "
一旦您使用新令牌打开 URL,浏览器就会记住它。因此,从现在开始,您只需打开 http://localhost:3030 即可访问Incognito Pilot ,而无需向 URL 添加令牌。
默认情况下,Python 解释器会在 30 秒后停止。要更改此设置,请设置环境变量INTERPRETER_TIMEOUT
。例如 2 分钟,将以下内容添加到 docker run 命令中:
-e INTERPRETER_TIMEOUT= " 120 "
要在启动时使用 docker / 自动启动Incognito Pilot ,请从运行命令中删除-i -t
并添加以下内容:
--restart always
与 UI URL 的书签一起,您可以在需要时随时使用Incognito Pilot 。或者,您可以使用 docker-compose。
对完整(又名非精简)版本的预安装软件包不满意?想要向解释器添加更多 Python(或 Debian)包吗?
您可以使用Incognito Pilot轻松容器化您自己的依赖项。为此,请创建一个 Dockerfile,如下所示:
FROM silvanmelchior/incognito-pilot:latest-slim
SHELL [ "/bin/bash" , "-c" ]
# uncomment the following line, if you want to install more packages
# RUN apt update && apt install -y some-package
WORKDIR /opt/app
COPY requirements.txt .
RUN source venv_interpreter/bin/activate &&
pip3 install -r requirements.txt
将依赖项放入requirements.txt文件中并运行以下命令:
docker build --tag incognito-pilot-custom .
然后像这样运行容器:
docker run -i -t
...
incognito-pilot-custom
不,它有其局限性。在这种情况下,隐私和功能之间的权衡并不容易。对于图像之类的东西,它与 ChatGPT 代码解释器一样强大,因为它不需要知道图像的内容即可对其进行编辑。但对于电子表格之类的东西,如果 ChatGPT 看不到内容,它就必须猜测标题中的数据格式,这可能会出错。
然而,在某些方面,它甚至比 ChatGPT 代码解释器更好:解释器可以访问互联网,允许执行一系列以前不可能的新任务。此外,您可以在任何机器上运行解释器,包括非常强大的机器,因此您可以解决比使用 ChatGPT 代码解释器更大的任务。
你当然可以这样做。然而,使用Incognito Pilot有很多优点:
无论您输入什么内容以及您批准的所有代码结果实际上都不是私有的,因为它们会发送到云 API。但您的数据仍保留在本地。解释器也在本地运行,就地处理您的数据。对于某些事情,您必须告诉模型一些有关您的数据的信息(例如结构的文件名),但它通常是您在 UI 中主动批准的元数据,而不是实际数据。在执行的每一步中,您都可以拒绝向 API 发送某些内容。
想为Incognito Pilot做出贡献吗?或者直接安装而不使用docker?查看贡献说明和指南。