211 lines
5.7 KiB
Markdown
211 lines
5.7 KiB
Markdown
# 🔄 Google ADK 迁移指南
|
||
|
||
## 📋 迁移概述
|
||
|
||
本指南将帮助您将项目从当前的 OpenRouter/OpenAI Swarm 架构迁移到 Google Agent Development Kit (ADK)。
|
||
|
||
## 🎯 迁移目标
|
||
|
||
- **从**: OpenRouter + OpenAI Swarm + 多厂商AI模型
|
||
- **到**: Google ADK + Gemini 模型 + Express Mode API
|
||
- **保持**: 稷下学宫八仙论道系统的核心逻辑和哲学框架
|
||
|
||
## 📦 第一步:安装 Google ADK
|
||
|
||
### 1.1 更新 Python 环境要求
|
||
|
||
<mcreference link="https://google.github.io/adk-docs/get-started/quickstart/" index="1">1</mcreference>
|
||
|
||
```bash
|
||
# 确保 Python 3.9+ 版本
|
||
python --version
|
||
|
||
# 创建新的虚拟环境(推荐)
|
||
python -m venv .venv
|
||
|
||
# 激活虚拟环境
|
||
# macOS/Linux:
|
||
source .venv/bin/activate
|
||
# Windows CMD:
|
||
# .venv\Scripts\activate.bat
|
||
# Windows PowerShell:
|
||
# .venv\Scripts\Activate.ps1
|
||
```
|
||
|
||
### 1.2 安装 Google ADK
|
||
|
||
<mcreference link="https://pypi.org/project/google-adk/" index="2">2</mcreference>
|
||
|
||
```bash
|
||
# 安装稳定版本
|
||
pip install google-adk
|
||
|
||
# 或安装最新开发版本
|
||
pip install git+https://github.com/google/adk-python.git@main
|
||
```
|
||
|
||
## 🔑 第二步:配置 API 密钥
|
||
|
||
### 2.1 获取 Gemini API 密钥
|
||
|
||
<mcreference link="https://google.github.io/adk-docs/get-started/quickstart/" index="1">1</mcreference>
|
||
|
||
您有三种选择:
|
||
|
||
**选项A: Google AI Studio (推荐开发环境)**
|
||
- 前往 [Google AI Studio](https://aistudio.google.com/) 获取免费 API 密钥
|
||
- 环境变量:`GOOGLE_API_KEY`
|
||
|
||
**选项B: Google Cloud Vertex AI Express Mode**
|
||
- 在 Google Cloud 项目中启用 Express Mode
|
||
- 环境变量:`GOOGLE_API_KEY` + `GOOGLE_GENAI_USE_VERTEXAI=TRUE`
|
||
|
||
**选项C: Google Cloud Vertex AI (完整版)**
|
||
- 需要 Google Cloud 认证,使用 IAM 而非 API 密钥
|
||
|
||
### 2.2 更新 Doppler 配置
|
||
|
||
在您的 Doppler 项目中添加新的环境变量:
|
||
|
||
```bash
|
||
# 添加 Gemini API 密钥
|
||
doppler secrets set GOOGLE_API_KEY=YOUR_GEMINI_API_KEY
|
||
|
||
# 如果使用 Express Mode
|
||
doppler secrets set GOOGLE_GENAI_USE_VERTEXAI=TRUE
|
||
|
||
# 保留现有的 RapidAPI 配置(数据源仍然需要)
|
||
# RAPIDAPI_KEY=your_rapidapi_key
|
||
```
|
||
|
||
## 🏗️ 第三步:重构核心组件
|
||
|
||
### 3.1 更新配置管理
|
||
|
||
需要更新 `config/settings.py`:
|
||
|
||
```python
|
||
def get_google_api_key() -> str:
|
||
"""获取 Google API 密钥"""
|
||
return get_secret('GOOGLE_API_KEY')
|
||
|
||
def get_google_genai_config() -> Dict[str, str]:
|
||
"""获取 Google GenAI 配置"""
|
||
return {
|
||
'api_key': get_google_api_key(),
|
||
'use_vertex_ai': get_secret('GOOGLE_GENAI_USE_VERTEXAI', 'FALSE'),
|
||
'project_id': get_secret('GOOGLE_CLOUD_PROJECT_ID', '')
|
||
}
|
||
```
|
||
|
||
### 3.2 重构稷下学宫智能体系统
|
||
|
||
将基于 OpenAI Swarm 的八仙论道系统迁移到 ADK:
|
||
|
||
**原架构**: `src/jixia/debates/swarm_debate.py` (OpenAI Swarm)
|
||
**新架构**: `src/jixia/debates/adk_debate.py` (Google ADK)
|
||
|
||
### 3.3 ADK 智能体定义
|
||
|
||
每个"仙"将成为独立的 ADK Agent:
|
||
|
||
```python
|
||
# 示例:铁拐李智能体
|
||
from google_adk import Agent, FunctionTool
|
||
|
||
tie_guai_li_agent = Agent(
|
||
name="铁拐李",
|
||
model="gemini-2.0-flash-exp",
|
||
description="逆向思维专家,善于从困境中寻找突破",
|
||
system_message="你是铁拐李,八仙中的逆向思维专家...",
|
||
tools=[
|
||
FunctionTool(name="逆向分析", function=reverse_analysis),
|
||
FunctionTool(name="困境突破", function=breakthrough_analysis)
|
||
]
|
||
)
|
||
```
|
||
|
||
## 🔄 第四步:分阶段迁移策略
|
||
|
||
### 阶段1:基础设施迁移 (第1-2天)
|
||
- [ ] 安装 Google ADK
|
||
- [ ] 配置 API 密钥
|
||
- [ ] 创建简单的测试智能体
|
||
- [ ] 验证基本功能
|
||
|
||
### 阶段2:核心逻辑迁移 (第3-5天)
|
||
- [ ] 重构八仙智能体定义
|
||
- [ ] 迁移论道逻辑
|
||
- [ ] 保持数据源 (RapidAPI) 集成
|
||
- [ ] 测试单个智能体功能
|
||
|
||
### 阶段3:系统集成 (第6-7天)
|
||
- [ ] 多智能体协作
|
||
- [ ] Streamlit 界面适配
|
||
- [ ] 完整功能测试
|
||
- [ ] 性能优化
|
||
|
||
### 阶段4:部署和监控 (第8天)
|
||
- [ ] 部署配置
|
||
- [ ] 监控设置
|
||
- [ ] 文档更新
|
||
|
||
## 📊 功能对照表
|
||
|
||
| 当前 (OpenRouter/Swarm) | 迁移后 (Google ADK) | 状态 |
|
||
|-------------------------|-------------------|------|
|
||
| OpenAI Swarm 多智能体 | ADK Multi-Agent | ✅ 等价替换 |
|
||
| OpenRouter 模型池 | Gemini 模型系列 | ✅ 统一模型 |
|
||
| 自定义 Tool 系统 | ADK FunctionTool | ✅ 等价替换 |
|
||
| 论道逻辑 | ADK Agent协作 | ✅ 保持逻辑 |
|
||
| RapidAPI 数据源 | 保持不变 | ✅ 无需改动 |
|
||
| Streamlit 界面 | ADK Dev UI + Streamlit | ✅ 双界面 |
|
||
|
||
## 🎛️ 开发工具对比
|
||
|
||
### 当前工具
|
||
- OpenRouter API 测试
|
||
- 自定义调试脚本
|
||
- Streamlit 界面
|
||
|
||
### ADK 工具
|
||
<mcreference link="https://google.github.io/adk-docs/get-started/quickstart/" index="1">1</mcreference>
|
||
|
||
```bash
|
||
# ADK 开发界面 (推荐)
|
||
adk web
|
||
|
||
# 命令行运行
|
||
adk run multi_tool_agent
|
||
|
||
# API 服务器模式
|
||
adk api_server
|
||
```
|
||
|
||
## 🚨 注意事项
|
||
|
||
### 保留的组件
|
||
- **RapidAPI 数据源**: 继续使用,无需更改
|
||
- **MongoDB 数据库**: 继续使用
|
||
- **Doppler 配置管理**: 继续使用,仅添加新密钥
|
||
- **稷下学宫哲学框架**: 完全保持
|
||
|
||
### 移除的组件
|
||
- OpenAI Swarm 依赖
|
||
- OpenRouter API 调用
|
||
- 多厂商 API 密钥管理
|
||
|
||
### 新增优势
|
||
- **统一的模型生态**: 专注 Gemini 系列
|
||
- **更强的 Google 服务集成**: Search、Cloud 等
|
||
- **官方支持的框架**: 长期维护保证
|
||
- **更好的开发工具**: ADK Dev UI
|
||
|
||
## 📝 下一步行动
|
||
|
||
1. **立即开始**: 运行第一步的环境配置
|
||
2. **获取 API 密钥**: 访问 Google AI Studio
|
||
3. **阅读 ADK 文档**: [官方文档](https://google.github.io/adk-docs/)
|
||
4. **测试简单智能体**: 验证基本功能
|
||
|
||
准备好开始迁移了吗?我可以帮您逐步执行每个阶段! |