設定 Your Dev Environment

我們設定了這個資料庫和課程,並使用開發容器,該容器具有通用執行環境,可以支援 Python3、.NET、Node.js 和 Java 開發。相關配置定義在此資料庫根目錄的 .devcontainer/ 資料夾中的 devcontainer.json 文件中。

要啟動開發容器,請在GitHub Codespaces(用於雲端託管的執行環境)或Docker Desktop(用於本地設備託管的執行環境)中啟動它。閱讀此文件以獲取有關開發容器在 VS Code 中如何工作的更多詳細資訊。

[!TIP]
我們建議使用 GitHub Codespaces 來快速開始並減少努力。它為個人帳戶提供慷慨的免費使用配額。配置超時以停止或刪除不活動的 codespaces 以最大化您的配額使用。

1. 執行指派任務

每節課將有_可選的_作業,可能會以一種或多種程式語言提供,包括: Python、.NET/C#、Java 和 JavaScript/TypeScript。本節提供與執行這些作業相關的一般指導。

1.1 Python 指派

Python 指派是以應用程式(.py 檔案)或 Jupyter 筆記本(.ipynb 檔案)提供。

  • 要執行筆記本,請在 Visual Studio Code 中打開它,然後點擊 Select Kernel (在右上角),並選擇顯示的預設 Python 3 選項。現在你可以 Run All 來執行筆記本。
  • 要從命令列執行 Python 應用程式,請遵循特定作業的指示,以確保選擇正確的檔案並提供所需的參數。

2. 設定提供者

作業可能也會被設定為通過像 OpenAI、Azure 或 Hugging Face 這樣的支援服務提供者來對抗一個或多個大型語言模型(LLM)部署。這些提供一個_託管端點_(API),我們可以使用正確的憑證(API 金鑰或令牌)以程式化方式訪問。在本課程中,我們討論這些提供者:

  • OpenAI 包含多樣化模型,包括核心的 GPT 系列。
  • Azure OpenAI 提供專注於企業準備的 OpenAI 模型
  • Hugging Face 提供開放原始碼模型和推論伺服器

你將需要使用你自己的帳戶來完成這些練習。作業是可選的,所以你可以根據自己的興趣選擇設定一個、全部或不設定任何提供者。以下是一些註冊的指導:

註冊 費用 API 金鑰 操作平台 評論
OpenAI 價格 基於專案 無程式碼, 網頁 多種模型可用
Azure 價格 SDK 快速入門 Studio 快速入門 必須提前申請訪問
Hugging Face 價格 存取權杖 Hugging Chat Hugging Chat 有限的模型

按照以下指示來_配置_此儲存庫以供不同提供者使用。需要特定提供者的作業將在其檔案名中包含以下標籤之一:

  • aoai - 需要 Azure OpenAI 端點, 金鑰
  • oai - 需要 OpenAI 端點, 金鑰
  • hf - 需要 Hugging Face token

您可以設定一個、沒有或所有提供者。相關的分配將在缺少憑證時簡單地出錯。

2.1. 建立 .env 文件

我們假設您已經閱讀了上述指南並註冊了相關提供者,並獲得了所需的身份驗證憑證(API_KEY 或 token)。在 Azure OpenAI 的情況下,我們假設您還擁有一個有效的 Azure OpenAI 服務部署(endpoint),並至少部署了一個 GPT 模型以完成聊天。

下一步是按如下方式配置你的本地環境變數:

  1. 在根目錄中查找 .env.copy 文件,內容應如下所示:

```bash # OpenAI Provider OPENAI_API_KEY=''

## Azure OpenAI AZURE_OPENAI_API_VERSION='2024-02-01' # Default is set! AZURE_OPENAI_API_KEY='' AZURE_OPENAI_ENDPOINT='' AZURE_OPENAI_DEPLOYMENT='' AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT=''

## Hugging Face HUGGING_FACE_API_KEY='' ```

  1. 使用以下命令將該文件複製到 .env。此文件已被 gitignore-d,以保護秘密資訊。

bash cp .env.copy .env

  1. 按照下一節中的描述填寫值(替換 = 右側的佔位符)。

  2. (選項) 如果您使用 GitHub Codespaces,您可以選擇將環境變數保存為與此存儲庫關聯的 Codespaces secrets。在這種情況下,您不需要設置本地 .env 文件。但是,請注意,此選項僅在您使用 GitHub Codespaces 時有效。如果您使用 Docker Desktop,仍然需要設置 .env 文件。

2.2. 填寫 .env 檔案

讓我們快速看一下變數名稱,以了解它們代表什麼:

Variable Description
HUGGING_FACE_API_KEY 這是您在個人資料中設定的使用者存取權杖
OPENAI_API_KEY 這是用於非 Azure OpenAI 端點服務的授權金鑰
AZURE_OPENAI_API_KEY 這是用於該服務的授權金鑰
AZURE_OPENAI_ENDPOINT 這是 Azure OpenAI 資源的部署端點
AZURE_OPENAI_DEPLOYMENT 這是 文本生成 模型的部署端點
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT 這是 文本嵌入 模型的部署端點

注意: 最後兩個 Azure OpenAI 變數分別反映了聊天完成(文字產生)和向量搜尋(嵌入)的預設模型。設定它們的說明將在相關作業中定義。

2.3 設定 Azure: 從 Portal

Azure OpenAI 端點和金鑰值可以在 Azure Portal 找到,所以讓我們從那裡開始。

  1. 前往 Azure Portal
  2. 點擊側邊欄中的 Keys and Endpoint 選項(左側選單)。
  3. 點擊 Show Keys - 你應該會看到以下內容: KEY 1, KEY 2 和 Endpoint。
  4. 使用 KEY 1 的值作為 AZURE_OPENAI_API_KEY
  5. 使用 Endpoint 的值作為 AZURE_OPENAI_ENDPOINT

接下來,我們需要已部署的特定模型的端點。

  1. 在側邊欄(左側選單)中點擊 Model deployments 選項以獲取 Azure OpenAI 資源。
  2. 在目標頁面中,點擊 Manage Deployments

這將帶你到 Azure OpenAI Studio 網站,我們會在那裡找到如下所述的其他值。

2.4 設定 Azure: 從 Studio

  1. 按照上述說明從你的資源導航到 Azure OpenAI Studio
  2. 點擊 Deployments 標籤(側邊欄,左側)以查看當前部署的模型。
  3. 如果你想要的模型尚未部署,使用 Create new deployment 來部署它。
  4. 你將需要一個 text-generation 模型 - 我們推薦: gpt-35-turbo
  5. 你將需要一個 text-embedding 模型 - 我們推薦 text-embedding-ada-002

現在更新環境變數以反映所使用的_部署名稱_。這通常與模型名稱相同,除非你明確更改了它。因此,作為範例,你可能會有:

AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'

不要忘記在完成後保存.env文件。你現在可以退出文件並返回執行筆記本的說明。

2.5 設定 OpenAI: 從 Profile

你的 OpenAI API 金鑰可以在你的 OpenAI 帳戶中找到。如果你沒有,你可以註冊一個帳戶並建立一個 API 金鑰。一旦你有了金鑰,你可以用它來填充 .env 檔案中的 OPENAI_API_KEY 變數。

2.6 設定 Hugging Face: 從個人資料

您的 Hugging Face token 可以在您的個人資料中的Access Tokens找到。不要公開張貼或分享這些資訊。相反地,為此專案使用建立一個新的 token,並將其複製到 .env 檔案中的 HUGGING_FACE_API_KEY 變數下。注意: 這在技術上不是 API key,但用於身份驗證,因此我們保持這個命名慣例以保持一致性。