1. 为什么你需要一个“零配置”的AI天气助手?
想象一下,你刚接触AI应用开发,满脑子都是好点子,比如做一个能查天气、能聊天、还能记住你偏好的智能助手。但一打开教程,扑面而来的就是“创建Google Cloud项目”、“启用Vertex AI API”、“配置服务账号密钥”…… 光是看到这些步骤,热情就凉了半截。更别提后续的账单管理和复杂的权限设置了,对于想快速验证想法或者个人开发者来说,这门槛实在有点高。
我刚开始玩AI的时候也踩过这个坑。后来发现,其实Google早就为我们这些“轻量级玩家”铺好了一条捷径——直接用API密钥。这就像你去高级餐厅吃饭,不一定非得办会员卡、预存消费,你完全可以凭一张简单的入场券(API密钥)先体验核心服务。Google ADK(Agent Development Kit) 就完美支持这种模式。
所以,这篇教程要做的,就是带你绕过所有云服务的繁文缛节,只用几个API密钥,快速搭起一个功能丰富的多模型天气助手。你会得到一个能灵活切换Gemini、GPT-4o、Claude等大模型的智能体,它不仅能查天气,还能通过“智能体团队”分工合作,处理问候、告别,甚至记住你喜欢用摄氏度还是华氏度。整个过程,你只需要一个文本编辑器和几个密钥,5分钟就能看到效果。这种“零配置”启动的爽快感,正是快速学习和原型迭代的最佳方式。
2. 5分钟极速准备:你的API密钥和开发环境
万事开头简。我们不需要庞大的云控制台,只需要准备好三样东西:Python环境、ADK库,以及最重要的——API密钥。
2.1 获取你的“万能钥匙”:多平台API密钥
核心在于API密钥。你可以只用一个(比如Gemini的),但为了体验多模型切换的乐趣,我建议你把能申请的都要上。别担心,它们通常都有免费的额度,足够我们折腾了。
第一步:获取Google AI Studio API密钥
- 用你的Google账号访问 Google AI Studio。
- 登录后,在页面左侧找到并点击 “Get API key”。
- 点击 “+ Create API key in new project”。密钥会立刻生成。
- 立刻、马上复制并保存好这个密钥。它只显示一次,丢了就得重新生成。把它当成密码保管好。
第二步:获取其他模型的API密钥(可选但推荐)
- OpenAI API密钥:访问 OpenAI平台,在“API Keys”页面创建新密钥。
- Anthropic Claude API密钥:访问 Anthropic控制台,在“API Keys”部分创建密钥。
把这些密钥都先存到记事本里,我们马上就用。
2.2 搭建本地开发环境
打开你的终端(Windows用CMD或PowerShell,Mac/Linux用Terminal),跟着我一步步来:
# 1. 创建一个项目文件夹,名字随意,比如 `adk_weather`
mkdir adk_weather
cd adk_weather
# 2. 创建并激活Python虚拟环境(避免包冲突的好习惯)
python -m venv venv
# Windows 用户激活命令
.\venv\Scripts\activate
# Mac/Linux 用户激活命令
source venv/bin/activate
# 看到命令行前缀出现 (venv) 就说明成功了
# 3. 安装核心依赖:Google ADK
pip install google-adk
# 4. 为了支持多模型,我们安装 litellm,它是一个统一的LLM调用库
pip install litellm
# 5. 安装python-dotenv,方便管理密钥
pip install python-dotenv
环境搞定!整个过程如果网络顺畅,一两分钟就完成了。比配置云服务快多了,对吧?
2.3 配置密钥到环境变量
在项目根目录(adk_weather文件夹)下,创建一个名为 .env 的文件。注意文件名开头有个点。用任何文本编辑器打开它,填入你的密钥:
# .env 文件内容
GOOGLE_API_KEY=你的_Google_AI_Studio_API密钥
OPENAI_API_KEY=你的_OpenAI_API密钥
ANTHROPIC_API_KEY=你的_Anthropic_API密钥
# 关键:告诉ADK我们使用API密钥模式,而非Vertex AI
GOOGLE_GENAI_USE_VERTEXAI=FALSE
重要提示:.env文件包含了你的秘密信息,务必将它添加到 .gitignore 文件中,千万不要提交到公开的代码仓库。
至此,所有准备工作在5分钟内全部就绪。没有项目创建,没有服务启用,没有账单关联,只有最纯粹的代码和密钥。让我们开始构建第一个智能体。
3. 从零构建第一个智能体:基础天气查询
现在进入最有趣的编码环节。我们将循序渐进,从一个只会查天气的“单细胞”智能体,进化成一支分工明确的“智能体团队”。
3.1 创建项目结构与核心工具函数
在项目根目录下,创建我们的智能体团队文件夹和主文件:
mkdir weather_assistant
cd weather_assistant
touch weather_assistant.py
用编辑器打开 weather_assistant.py,开始编写代码。首先,我们导入必要的库,并加载环境变量中的密钥。
import os
import asyncio
from typing import Dict, Any, Optional
from dotenv import load_dotenv
# 加载 .env 文件中的环境变量
load_dotenv()
# 导入ADK核心组件
from google.adk.agents import Agent
from google.adk.tools import FunctionTool
from google.adk.runners import Runner
from google.adk.sessions import InMemorySessionService
from google.genai import types
# 多模型支持
import litellm
# 从环境变量读取密钥
GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY")
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
ANTHROPIC_API_KEY = os.getenv("ANTHROPIC_API_KEY")
# 定义模型常量,方便切换
GEMINI_PRO = "gemini-2.0-flash" # 推荐使用Gemini 2.0 Flash,速度快且免费额度足
GPT_4O = "gpt-4o"
CLAUDE_SONNET = "claude-3-sonnet-20240229"
接下来,我们需要一个模拟的天气数据源。在真实项目中,这里可以替换成调用真正的天气API(如OpenWeatherMap)。为了演示,我们先建一个“数据库”:
# 模拟天气数据库
mock_weather_db = {
"New York": {"temperature": 72, "condition": "Sunny", "humidity": 50},
"London": {"temperature": 60, "condition": "Rainy", "humidity": 80},
"Tokyo": {"temperature": 80, "condition": "Partly Cloudy", "humidity": 65},
"Sydney": {"temperature": 85, "condition": "Clear", "humidity": 45},
"Paris": {"temperature": 65, "condition": "Cloudy", "humidity": 70},
}
# 中英文城市名映射,让我们的助手能理解中文输入
city_map = {
"纽约": "New York",
"伦敦": "London",
"东京": "Tokyo",
"悉尼": "Sydney",
"巴黎": "Paris"
}
3.2 定义核心工具:让AI学会“查天气”
智能体之所以智能,是因为它们能使用“工具”。我们的第



被折叠的 条评论
为什么被折叠?



