用於敏感資料的 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?查看貢獻說明和指南。