我們大致了解完Agent後,今天我們要走向實踐~建立第一個真正能運作的 Python Agent!
☆*: .。. o(≧▽≦)o .。.:*☆
沒有 VsCode,可去官網下載
下載完需要繁中的可去延伸模組 查詢 Chinese,並下載中文(繁體),重新啟動就好了~
有VsCode建立新資料夾
開啟終端機, Ctrl+J 快捷鍵開啟
建立 requirements.txt, 並安裝
google-generativeai>=0.3.0
typing-extensions>=4.5.0
python-dotenv>=1.0.0
requests>=2.31.0
aiohttp>=3.8.0
google-adk==1.6.1
pip install -r requirements.txt
安裝 venv
進入 venv
# Windows:
.venv\Scripts\activate
# macOS / Linux:
source .venv/bin/activate
請依照 example.env 建立 .env 檔案於專案根目錄
cp .envExample .env
Google API KEY 複製API KEY,並貼上
# 環境變數檔案 - 包含敏感資訊
.env
# Python 相關
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
env/
venv/
.venv/
# IDE
.vscode/
.idea/
# 系統檔案
.DS_Store
Thumbs.db
from .root_agent import root_agent
__all__ = ['root_agent']
新增 hello_agent.py 與 hello_prompt.py
hello_agent.py
from google.adk.agents import Agent
from . import hello_prompt as prompt
from dotenv import load_dotenv
load_dotenv()
hello_agent = Agent(
name="hello_agent",
model="gemini-2.0-flash-exp",
description=prompt.HELLO_AGENT_DESCRIPTION,
instruction=prompt.HELLO_AGENT_INSTRUCTION
)
功能 | 用途 |
---|---|
提供代理的元數據描述 | 幫助開發者理解代理的功能 |
說明代理的用途和能力 | 在 ADK 開發工具中顯示代理資訊 |
用於系統內部識別和文檔記錄 | 用於代理之間的協調和選擇 |
功能 | 用途 |
---|---|
直接影響 LLM 的行為 | 告訴 LLM 如何思考和回應 |
定義代理的個性和回應風格 | 定義代理的角色和行為模式、 指導何時使用工具 |
提供具體的操作指導 | 設定回應的語調、格式和內容方向 |
HELLO_AGENT_DESCRIPTION = """
當接收到這些關鍵詞時,這個代理將會回應友善的問候語:
1. hello
2. 嗨
3. 你好
4. 哈囉
5. 您好
6. hi
這個代理專門處理問候相關的對話。
"""
HELLO_AGENT_INSTRUCTION = """
你是一個專門處理問候的代理人。當使用者打招呼時,請用友善且自然的語氣回應。
你可以使用 get_hello_world 工具來獲取基本的問候語,然後根據情況擴展或個性化回應。
請保持回應簡潔、友善且符合中文使用習慣。
"""
新增 root_agent.py 與 root_prompt.py
建立 root_agent
from google.adk.agents import Agent
from . import root_prompt as prompt
from dotenv import load_dotenv
from .hello_agent import hello_agent
load_dotenv()
root_agent = Agent(
name="root_agent",
model="gemini-2.0-flash-exp",
description=prompt.ROOT_AGENT_DESCRIPTION,
instruction=prompt.ROOT_AGENT_INSTRUCTION,
sub_agents= [
hello_agent
]
)
ROOT_AGENT_DESCRIPTION = """
這是一個根代理,負責協調和管理子代理。它可以根據用戶的需求將請求轉發給適當的子代理。
"""
ROOT_AGENT_INSTRUCTION = """
你是一個協調代理,負責處理用戶請求並將其轉發給適當的子代理。
當用戶提到問候、hello、你好、嗨、哈囉等關鍵詞時,請使用 hello_agent 來處理。
請根據用戶的輸入選擇最合適的子代理來回應。
"""
回去上一層資料夾 cd ..
執行 adk web
前往網址,選擇自己所建立的 agent 資料夾
就可以輸入訊息了~
右邊Event ,可以看到他成功使用 hello_agent
恭喜成功寫出第一個 agent (/≧▽≦)/
寫過一次之後,發現其實應該不難吧?
我們下一篇見! (╯▽╰ )