130 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			130 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Python
		
	
	
	
#!/usr/bin/env python3
 | 
						|
# -*- coding: utf-8 -*-
 | 
						|
"""
 | 
						|
稷下学宫 Google ADK 论道系统测试
 | 
						|
基于 Google ADK 的八仙论道原型
 | 
						|
"""
 | 
						|
 | 
						|
import os
 | 
						|
import asyncio
 | 
						|
from google.adk import Agent
 | 
						|
from google.adk.tools import FunctionTool
 | 
						|
 | 
						|
# 八仙智能体定义
 | 
						|
def create_baxian_agents():
 | 
						|
    """创建八仙智能体"""
 | 
						|
    
 | 
						|
    # 铁拐李 - 逆向思维专家
 | 
						|
    tie_guai_li = Agent(
 | 
						|
        name="铁拐李",
 | 
						|
        model="gemini-2.5-flash"
 | 
						|
    )
 | 
						|
    
 | 
						|
    # 汉钟离 - 平衡协调者
 | 
						|
    han_zhong_li = Agent(
 | 
						|
        name="汉钟离",
 | 
						|
        model="gemini-2.5-flash"
 | 
						|
    )
 | 
						|
    
 | 
						|
    # 张果老 - 历史智慧者
 | 
						|
    zhang_guo_lao = Agent(
 | 
						|
        name="张果老",
 | 
						|
        model="gemini-2.5-flash"
 | 
						|
    )
 | 
						|
    
 | 
						|
    # 蓝采和 - 创新思维者
 | 
						|
    lan_cai_he = Agent(
 | 
						|
        name="蓝采和",
 | 
						|
        model="gemini-2.5-flash"
 | 
						|
    )
 | 
						|
    
 | 
						|
    # 何仙姑 - 直觉洞察者
 | 
						|
    he_xian_gu = Agent(
 | 
						|
        name="何仙姑",
 | 
						|
        model="gemini-2.5-flash"
 | 
						|
    )
 | 
						|
    
 | 
						|
    # 吕洞宾 - 理性分析者
 | 
						|
    lu_dong_bin = Agent(
 | 
						|
        name="吕洞宾",
 | 
						|
        model="gemini-2.5-flash"
 | 
						|
    )
 | 
						|
    
 | 
						|
    # 韩湘子 - 艺术感知者
 | 
						|
    han_xiang_zi = Agent(
 | 
						|
        name="韩湘子",
 | 
						|
        model="gemini-2.5-flash"
 | 
						|
    )
 | 
						|
    
 | 
						|
    # 曹国舅 - 实务执行者
 | 
						|
    cao_guo_jiu = Agent(
 | 
						|
        name="曹国舅",
 | 
						|
        model="gemini-2.5-flash"
 | 
						|
    )
 | 
						|
    
 | 
						|
    return {
 | 
						|
        "铁拐李": tie_guai_li,
 | 
						|
        "汉钟离": han_zhong_li,
 | 
						|
        "张果老": zhang_guo_lao,
 | 
						|
        "蓝采和": lan_cai_he,
 | 
						|
        "何仙姑": he_xian_gu,
 | 
						|
        "吕洞宾": lu_dong_bin,
 | 
						|
        "韩湘子": han_xiang_zi,
 | 
						|
        "曹国舅": cao_guo_jiu
 | 
						|
    }
 | 
						|
 | 
						|
def test_single_agent():
 | 
						|
    """测试单个智能体"""
 | 
						|
    print("🧪 测试单个智能体...")
 | 
						|
    
 | 
						|
    # 创建铁拐李智能体
 | 
						|
    tie_guai_li = Agent(
 | 
						|
        name="铁拐李",
 | 
						|
        model="gemini-2.5-flash"
 | 
						|
    )
 | 
						|
    
 | 
						|
    print(f"✅ 智能体 '{tie_guai_li.name}' 创建成功")
 | 
						|
    print(f"📱 使用模型: {tie_guai_li.model}")
 | 
						|
    
 | 
						|
    return tie_guai_li
 | 
						|
 | 
						|
def test_baxian_creation():
 | 
						|
    """测试八仙智能体创建"""
 | 
						|
    print("\n🎭 创建八仙智能体...")
 | 
						|
    
 | 
						|
    baxian = create_baxian_agents()
 | 
						|
    
 | 
						|
    print(f"✅ 成功创建 {len(baxian)} 个智能体:")
 | 
						|
    for name, agent in baxian.items():
 | 
						|
        print(f"   - {name}: {agent.model}")
 | 
						|
    
 | 
						|
    return baxian
 | 
						|
 | 
						|
def main():
 | 
						|
    """主测试函数"""
 | 
						|
    print("🚀 开始稷下学宫 ADK 论道系统测试...")
 | 
						|
    
 | 
						|
    # 检查API密钥
 | 
						|
    api_key = os.getenv('GOOGLE_API_KEY')
 | 
						|
    if not api_key:
 | 
						|
        print("❌ 未找到 GOOGLE_API_KEY 环境变量")
 | 
						|
        print("请使用: doppler run -- python src/jixia/debates/adk_debate_test.py")
 | 
						|
        return
 | 
						|
    
 | 
						|
    print(f"✅ API密钥已配置 (长度: {len(api_key)} 字符)")
 | 
						|
    
 | 
						|
    # 测试单个智能体
 | 
						|
    single_agent = test_single_agent()
 | 
						|
    
 | 
						|
    # 测试八仙智能体创建
 | 
						|
    baxian = test_baxian_creation()
 | 
						|
    
 | 
						|
    print("\n🎉 ADK 论道系统基础测试完成!")
 | 
						|
    print("\n📝 下一步:")
 | 
						|
    print("   1. 实现智能体间的对话逻辑")
 | 
						|
    print("   2. 集成 RapidAPI 数据源")
 | 
						|
    print("   3. 创建论道主题和流程")
 | 
						|
    print("   4. 连接 Streamlit 界面")
 | 
						|
 | 
						|
if __name__ == "__main__":
 | 
						|
    main() |