liurenchaxin/docs/guides/GOOGLE_ADK_MIGRATION_GUIDE.md

211 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🔄 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/doppler_config.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. **测试简单智能体**: 验证基本功能
准备好开始迁移了吗?我可以帮您逐步执行每个阶段!