本課程會說明如何執行本課程的程式範例。
在開始複製你的儲存庫之前,請加入 AI Agents For Beginners Discord channel 以取得任何設定上的協助、對課程的疑問,或與其他學習者交流。
要開始,請複製或分叉 GitHub 儲存庫。這會建立你自己的課程教材版本,讓你可以執行、測試及調整程式!
這可透過點擊 分叉此儲存庫 的連結來完成
你現在應該會在以下連結有你自己分叉的課程版本:
完整的儲存庫在下載完整歷史記錄與所有檔案時可能會很大(約 ~3 GB)。如果你只參加工作坊或只需要少數課程資料夾,淺層複製(或稀疏複製)可透過截斷歷史記錄及/或跳過 blobs 來避免大部分的下載。
將 <your-username> 在下列指令中替換為你的 fork URL(或如果你偏好,上游(upstream)URL)。
若僅想複製最新的提交歷史(小量下載):
git clone --depth 1 https://github.com/<your-username>/ai-agents-for-beginners.git
若要複製特定分支:
git clone --depth 1 --branch <branch-name> https://github.com/<your-username>/ai-agents-for-beginners.git
此方法使用部分複製與 sparse-checkout(需要 Git 2.25+ 並建議使用支援 partial clone 的現代 Git):
git clone --depth 1 --filter=blob:none --sparse https://github.com/<your-username>/ai-agents-for-beginners.git
進入儲存庫資料夾:
cd ai-agents-for-beginners
然後指定你想要的資料夾(下例示範兩個資料夾):
git sparse-checkout set 00-course-setup 01-intro-to-ai-agents
在複製並確認檔案後,如果你只需要檔案並想釋放空間(不保留 git 歷史),請刪除儲存庫的 metadata(💀不可逆 — 你將失去所有 Git 功能:無法提交、拉取、推送或存取歷史)。
# zsh/bash
rm -rf .git# PowerShell
Remove-Item -Recurse -Force .git-
透過 GitHub UI 為此儲存庫建立新的 Codespace。
-
在新建立的 codespace 的終端機中,執行上面任一淺層/稀疏複製指令,僅將你所需的課程資料夾帶入 Codespace 工作區。
-
選用:在 Codespaces 中完成複製後,可移除 .git 以回收額外空間(參閱上方移除指令)。
-
注意:如果你偏好直接在 Codespaces 中開啟儲存庫(不另外複製),請留意 Codespaces 會構建 devcontainer 環境,並可能仍然配置超出你需求的內容。在新的 Codespace 內複製淺層副本,能讓你更能控制磁碟使用量。
- 如果你想要編輯/提交,務必將複製 URL 換成你的 fork。
- 若你之後需要更多歷史或檔案,可以擷取它們或調整 sparse-checkout 以包含額外資料夾。
本課程提供一系列 Jupyter Notebook,可讓你透過動手操作來建立 AI Agents。
程式範例會使用以下其中一種:
Requires GitHub Account - Free:
- Semantic Kernel Agent Framework + GitHub Models Marketplace。標示為 (semantic-kernel.ipynb)
- AutoGen Framework + GitHub Models Marketplace。標示為 (autogen.ipynb)
Requires Azure Subscription: 3) Azure AI Foundry + Azure AI Agent Service。標示為 (azureaiagent.ipynb)
我們鼓勵你嘗試這三種範例,以找出最適合你的方式。
無論你選擇哪一個選項,都會決定你接下來需要遵循哪些設定步驟:
-
Python 3.12+
-
注意:如果你尚未安裝 Python3.12,請務必安裝。接著使用 python3.12 建立你的 venv,以確保從 requirements.txt 檔案安裝到正確的版本。
範例
建立 Python venv 目錄:
python -m venv venv然後啟用 venv 環境:
# zsh/bash source venv/bin/activate
# Command Prompt for Windows venv\Scripts\activate
-
-
.NET 10+:對於使用 .NET 的範例程式碼,請確保你安裝 .NET 10 SDK 或更新版本。然後,檢查你已安裝的 .NET SDK 版本:
dotnet --list-sdks -
一個 GitHub 帳戶 - 用於存取 GitHub Models Marketplace
-
Azure 訂閱 - 用於存取 Microsoft Foundry
-
Microsoft Foundry 帳戶 - 用於存取 Azure AI Agent Service
我們在本儲存庫根目錄內包含了一個 requirements.txt 檔案,其中列出所有執行程式範例所需的 Python 套件。
你可以在儲存庫根目錄的終端機中執行下列指令來安裝它們:
pip install -r requirements.txt
我們建議建立 Python 虛擬環境以避免衝突與問題。
請確保你在 VSCode 中使用正確的 Python 版本。
本課程使用 GitHub Models Marketplace,提供你用以建立 AI Agents 的大型語言模型(LLM)之免費存取。
要使用 GitHub Models,你需要建立一個 GitHub 個人存取權杖。
這可以透過前往你 GitHub 帳戶中的 Personal Access Tokens 設定 完成。
建立你的存取權杖時,請遵循 最小權限原則。這表示你只應賦予該權杖執行本課程程式範例所需的權限。
-
在畫面左側選取
Fine-grained tokens選項,前往 Developer settings然後選取
Generate new token。 -
為你的權杖輸入一個具描述性的名稱,反映其用途,方便日後識別。
🔐 令牌有效期間建議
建議期間:30 天 為了更安全,你可以選擇較短的期間,例如 7 天 🛡️ 這是一個很好的方式來設定個人目標,並在學習動力高時完成課程 🚀。
-
將權杖的範圍限制到你對本儲存庫的 fork。
-
限制權杖的權限:在 Permissions 下,點選 Account 分頁,然後點選 "+ Add permissions" 按鈕。會出現下拉選單。請搜尋 Models 並勾選它。
複製你剛建立的新權杖。接著你會把它新增到本課程所含的 .env 檔案中。
在終端機中執行下列指令以建立 .env 檔案。
# zsh/bash
cp .env.example .env# PowerShell
Copy-Item .env.example .env這會複製範例檔案並在你的目錄中建立 .env,然後你可以在其中填入環境變數的值。
複製權杖後,使用你喜愛的文字編輯器開啟 .env 檔案,並將權杖貼到 GITHUB_TOKEN 欄位。
你現在應該可以執行本課程的程式範例了。
請遵循在 Azure AI Foundry 中建立 hub 與專案的步驟,詳見:Hub resources overview
建立專案後,你需要擷取該專案的連線字串。
這可以透過前往 Microsoft Foundry 入口網站中你專案的 Overview 頁面完成。
在終端機中執行下列指令以建立 .env 檔案。
# zsh/bash
cp .env.example .env# PowerShell
Copy-Item .env.example .env這會複製範例檔案並在你的目錄中建立 .env,然後你可以在其中填入環境變數的值。
複製完端點後,使用你喜愛的文字編輯器開啟 .env 檔案,並將其貼到 PROJECT_ENDPOINT 欄位。
作為安全最佳實務,我們將使用 無密鑰驗證 透過 Microsoft Entra ID 來驗證 Azure OpenAI。
接著,開啟終端機並執行 az login --use-device-code 以登入你的 Azure 帳戶。
登入後,在終端機中選擇你的訂閱。
在 Agentic RAG 課程 - 第 5 課 - 有些範例會使用 Azure Search 與 Azure OpenAI。
如果你想執行這些範例,需將下列環境變數新增到你的 .env 檔案:
-
AZURE_SUBSCRIPTION_ID- 在專案的 Overview 頁面查看 Project details。 -
AZURE_AI_PROJECT_NAME- 在專案 Overview 頁面頂端查看專案名稱。 -
AZURE_OPENAI_SERVICE- 在 Overview 頁面的 Included capabilities 分頁中尋找 Azure OpenAI Service。
-
AZURE_OPENAI_RESOURCE_GROUP- 前往 Management Center 的 Overview 頁面中的 Project properties。 -
GLOBAL_LLM_SERVICE- 在 Connected resources 底下,找到 Azure AI Services 的連線名稱。如果未列出,請在 Azure 入口網站中於你的資源群組下檢查 AI Services 的資源名稱。
-
AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME- 選擇你的 embedding 模型(例如text-embedding-ada-002),並在模型詳細資訊中注意 Deployment name。 -
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME- 選擇你的 chat 模型(例如gpt-4o-mini),並在模型詳細資訊中注意 Deployment name。
-
AZURE_OPENAI_ENDPOINT- 尋找 Azure AI services,點選它,然後前往 Resource Management、Keys and Endpoint,向下滾動到 "Azure OpenAI endpoints",並複製標示為 "Language APIs" 的那個端點。 -
AZURE_OPENAI_API_KEY- 在同一畫面複製 KEY 1 或 KEY 2。 -
AZURE_SEARCH_SERVICE_ENDPOINT- 找到你的 Azure AI Search 資源,點選它,並查看 Overview。 -
AZURE_SEARCH_API_KEY- 接著前往 Settings 然後 Keys,複製主要或次要管理金鑰。
AZURE_OPENAI_API_VERSION- 前往 API version lifecycle 頁面,在 Latest GA API release 下查看。
我們將使用與 Azure OpenAI 的無密鑰連線,而不是將憑據硬編碼。為此,我們會匯入 DefaultAzureCredential,並稍後呼叫 DefaultAzureCredential 函式以取得憑證。
# Python
from azure.identity import DefaultAzureCredential, InteractiveBrowserCredential如果在執行此設定時遇到任何問題,歡迎加入我們的 Azure AI 社群 Discord 或 建立議題。
你現在已準備好執行本課程的程式碼。祝你在 AI 代理人的世界中學習愉快!
免責聲明: 本文件係使用 AI 翻譯服務 Co-op Translator(https://github.com/Azure/co-op-translator)進行翻譯。儘管我們力求準確,但自動翻譯可能含有錯誤或不準確之處。原始語言版本應被視為具權威性的來源。對於重要資訊,建議採用專業人工翻譯。我們不會就因使用本翻譯而產生的任何誤解或誤釋承擔任何責任。










