更新(2023 年 11 月):首選新的 GPT-3.5-Turbo 版本。我新增了支援聊天完成 API 的新版本(使用 GPT-3.5-Turbo 進行測試)。適當的子資料夾( gpt-3
、 gpt-35-turbo
)現在包含原始版本和新版本。除了模型變更和相應調整之外,它們是相同的,但首選gpt-35-turbo
,因為 GPT-3 補全已棄用。
Braindump 是一個原型應用程序,用於記錄筆記並將其轉換為更容易查詢的資料庫。只需輸入您的想法,應用程式就會對其進行正確分類、切片和儲存以供以後使用。它是作為演示構建的,旨在展示如何利用 GPT-3 從概念驗證開始構建應用程序,如我的 Data Science @ Microsoft 教程“構建 GPT-3 應用程序 - 超越提示”中所述。您可以使用它來遵循教程,也可以將其作為您自己的研究和應用的起點(例如,透過在您自己的不同問題中重複使用實用函數和總體程式結構)。
它是一個簡單的 Python 應用程序,利用 Streamlit 提供 Web 介面。要實際呼叫 GPT-3 模型,您需要有一個可用的 OpenAI API 金鑰。在撰寫本文時,創建帳戶後,您將獲得一些免費積分,這些積分足以遵循教程並開始使用該應用程式。該應用程式也應該與 Azure OpenAI 服務一起使用,而不是原始的 OpenAI 產品,儘管我尚未在那裡進行測試。
除了應用程式本身之外,該儲存庫還包括導致該應用程式的 Jupyter 筆記本形式的研究。
搜尋的 UI 如下所示:
要新增事實,UI 如下,包括可選的模型解釋手動檢查:
該應用程式已在 Python 3.8 (GPT-3) 和 3.10 (GPT-3.5-Turbo) 上進行了測試。您需要的主要函式庫是: openai
、 streamlit
、 pandas
、 notebook
、 pytest
。您可以手動安裝它們,也可以按照以下程序建立新環境並自動安裝它們。請注意,對於較舊的程式碼庫,您將需要舊版本的openai
庫。
運行應用程式:
conda create -n braindump_py310 python=3.10
專門為此應用程式建立一個新環境conda activate braindump_py310
啟動新環境requirements.txt
中列出的依賴項。您可以透過從專案根目錄執行pip install -r requirements.txt
來完成此操作。對於原始 GPT-3 版本(已棄用),請改用requirements.gpt3.txt
,以取得其操作所需的舊依賴項。OPENAI_API_KEY
的環境變數提供。run.gpt3.bat
(GPT-3 版本)或run.gpt35turbo.bat
(GPT-3.5-Turbo 版本);在 Linux 上: run.gpt3.sh
(GPT-3 版本)或run.gpt35turbo.sh
(GPT-3.5-Turbo 版本)。進行研究:
notebooks/
下開啟所需的 Jupyter 筆記本(就我個人而言,我經常使用 VS Code)。 該項目的架構如下:
notebooks/
:用於即時工程的 Jupyter 筆記本。src/
:最終應用程式的原始碼。src/gpt-3
:原始 GPT-3 版本的來源(已棄用)。src/gpt-3.5-turbo
:GPT-3.5-Turbo 版本的來源(自 2023 年 11 月起推薦)。data/
:應用程式儲存的資料。tests/
:應用程式的單元測試。tests/gpt-3/
:測試原始 GPT-3 版本(已棄用)。tests/gpt-3.5-turbo/
:GPT-3.5-Turbo 版本的測試(自 2023 年 11 月起推薦)。docs/
:文件和相關資產。 該方法在我的 Data Science @ Microsoft 教程“建立 GPT-3 應用程式 - 超越提示”中詳細介紹。儘管如此,讓我在這裡強調一些關鍵點:
就具體階段而言,建議採取以下措施
麻省理工學院許可證
版權所有 (c) 2023 保羅·薩勒姆·達席爾瓦
特此免費授予任何獲得本軟體和相關文件文件(「軟體」)副本的人不受限制地使用本軟體,包括但不限於使用、複製、修改、合併的權利、發布、分發、再授權和/或銷售軟體的副本,並允許向其提供軟體的人員這樣做,但須滿足以下條件:
上述版權聲明和本授權聲明應包含在本軟體的所有副本或主要部分中。
本軟體以「現況」提供,不提供任何明示或暗示的保證,包括但不限於適銷性、特定用途的適用性和不侵權的保證。 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE軟體.