个性化学习助手

Study Buddy AI 是一个基于 Google Agent Development Kit (ADK) 和 Gemini 2.0 Flash 的多代理个性化辅导系统,能够评估知识水平、适应学习风格并跟踪学习进度。

  • by Tharun007-TK
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Tharun007-TK/studybuddy-ai-agent

使用说明

学习Buddy AI🎓

学习Buddy AI 是一个由 谷歌代理开发工具包(ADK) 和 双子座2.0闪光灯。它不仅仅是简单的问答,而是积极评估你的知识,根据你的学习风格调整解释,并跟踪你的学习进度。

问题陈述

学生被迫依赖通用的、一刀切的材料,而忽略了先前的知识、速度和首选的学习风格。如果没有持续的评估和适应,他们就会浪费时间,脱离接触,无法掌握具有挑战性的概念。

解决方案架构

Study Buddy AI通过Google ADK协调Gemini代理团队:

代理人和责任

  • studybuddy_coordinator –协调整个会话,在子代理之间转移控制权,并调用共享工具。
  • knowledge_assessor –采访学习者,推断知识水平+学习风格,并坚持结果。
  • explanation_agent –制作量身定制的教学片段,包括类比、例子和自我检查问题。
  • quiz_generator –构建多格式测验,收集结构化答案,调用评分工具,并更新掌握程度。
  • resource_finder –使用谷歌搜索来策划与目标相一致的有信誉的文章、视频和互动工具。

ADK工具带

  • FunctionTool(fetch_student_profile) 和 FunctionTool(update_student_profile) 暴露内存库。
  • FunctionTool(grade_quiz_session) 对测验尝试进行评分,附加历史记录,并标记主题完成。
  • FunctionTool(progress_tracker_tool) 计算掌握率、薄弱环节和建议的下一步。
  • FunctionTool(log_study_time) 和 FunctionTool(record_topic_completion) 追踪习惯数据。
  • 内建 google_search 满足“网络资源”要求。

技术实现

能力 实施
多代理编排 定义于 agents/,使用明确的指令、工具和 output_keys
会话和记忆 使用ADK InMemorySessionService 加上一个自定义 MemoryBank (memory/student_memory.py)它存储知识水平、学习偏好、测验历史、完成的主题、目标和总学习时间。
Gemini模型 所有代理默认为 config.settings.GEMINI_MODEL (gemini-2.0-flash-001)但可以通过env变量进行覆盖。看 故障排除.md 为了模型兼容性。
自定义工具 测验评分、进度跟踪和记忆更新显示为ADK FunctionTool年代 agents/toolbelt.py.
资源整合 knowledge_assessor, quiz_generator,以及 resource_finder 所有人都可以访问ADK google_search 用于获取最新事实和链接的工具。

设置和运行

  1. 安装依赖项

    cd studybuddy-ai
    python -m venv .venv
    .venv\Scripts\activate  # Windows
    pip install -r requirements.txt
    
  2. 配置凭据

    • 复制 env.example 到 .env
    • 设置API密钥和模型:
    # In .env file:
    GEMINI_API_KEY=your_api_key_here
    GEMINI_MODEL=gemini-2.0-flash-001
    

    重要提示: 使用 gemini-2.0-flash-001, gemini-1.5-flash,或 gemini-1.5-pro 用于稳定的函数调用支持。实验 gemini-2.0-flash-exp 该模型不支持使用googlesearch调用函数。看 故障排除.md 了解详情。


故障排除

如果您遇到以下错误 Tool use with function calling is unsupported,请看 故障排除.md 详细解决方案包括:

  • 模型兼容性矩阵
  • 如何切换到稳定型号
  • 没有google_search的替代配置

使用流程示例

  1. 开球

    You: Hi StudyBuddy, I (alice123) want help with photosynthesis.
    
    • 协调员捕获 student_id,主题,话题。
    • 转账至 knowledge_assessor,采访学习者并致电 update_student_profile.
  2. 解释

    • explanation_agent 获取记忆条目并提供风格一致的课程(视觉/语言/实践)。
  3. 练习

    • quiz_generator 生成JSON测验,收集结构化答案,调用 grade_quiz_session,并记录精通。
  4. 资源与进展

    • resource_finder 分享策划的文章、视频或互动实验室。
    • 协调员来电 progress_tracker_tool 显示掌握百分比、薄弱环节和下一步建议。

测试

pytest

测试涵盖了自定义工具(评分、进度、内存更新)和核心助手。在纯ADK模式下运行时,您还可以添加类似于Agent Shutton的集成测试 tests.test_agent.


演示场景

  1. 新主题:光合作用

    • 知识评估将学生设置为中级视觉学习者。
    • 解释代理使用图表和类比。
    • 测验生成器发出5个混合格式的问题并对其进行评分。
    • 资源查找器推荐最近的生物学视频和实验室。
  2. 进度检查:数学

    • 用户要求“我的数学进步”。
    • 协调员调用 progress_tracker_tool 每个主题,表面掌握统计数据(例如,代数90%,微积分40%),并建议下一步行动。

未来的增强功能

  • 间隔重复安排测验提醒。
  • 游戏化(XP、条纹、徽章)与学习时间日志相关联。
  • 为导师或家长提供可导出的进度报告(PDF/CSV)。
  • 通过语音转文本/文本转语音的语音接口。
  • 将内存中的存储体与Firestore/Spanner交换以实现持久性。

Kaggle提交说明

  • 标题: StudyBuddy AI-个性化学习助手
  • 字幕: 个性化教育的自适应多智能体系统
  • 写提纲:
    1. 问题:通用材料浪费时间。
    2. 解决方案:基于ADK的多代理导师+记忆库+自定义工具。
    3. 价值:适应性解释、有针对性的测验、实时资源。
    4. 技术:ADK树、Gemini模型、FunctionTool集成、InMemorySessionService。
    5. 影响/未来:可扩展的辅导,为代理引擎/云运行部署做好准备。

参考


许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。