跳到主要内容

32 篇博文 含有标签「practice」

查看所有标签

· 阅读需 9 分钟
zhangshenghang

GSOC的起源与目的

GSOC 即 Google Summer of Code(谷歌编程之夏),是谷歌公司发起的一项全球性活动,旨在鼓励学生参与开源软件项目的开发,以下是其详细介绍:

  • GSOC 始于 2005 年,最初是谷歌为了促进开源社区的发展,鼓励更多学生投身于开源软件的开发和创新而设立的项目。通过该项目,谷歌希望能够为开源世界注入新鲜血液,让学生们在实践中提升技术能力,同时也为开源项目带来新的思路和贡献。

任务:基于MCP协议的用于监控信息交互的AI代理

网站: https://hertzbeat.apache.org/

Github: http://github.com/apache/hertzbeat/

背景

Apache HertzBeat是一款开源的实时监控工具,支持广泛的监控目标,包括Web服务、数据库、中间件等等。它具有高性能、可扩展性和安全性的特点。

随着人工智能(AI)技术的不断进步,将人工智能与监控系统集成可以显著提高其可用性和交互性。通过开发一个基于模型上下文协议(MCP)的AI代理,我们旨在实现对话式交互,以便查询监控信息、添加新的监控任务以及检索监控指标。这将提供更加用户友好和智能的监控管理体验。

功能需求

查询监控和报警信息

  1. 监控项状态监控

    通过自然语言能够获取监控项的状态;

    如:现在哪些监控项存在异常?应该告诉用户哪些监控项存在异常,并且异常发生时间。

  2. 搜索指标数据

    通过自然语言能够获取指标的数据;

    如:a. 现在哪些服务器 CPU 使用率超过 80%

    b. 服务器 192.168.1.1 最近一天 CPU 使用情况,用图表方式显示出来

  3. 报警数据 通过自然语言获取报警数据; 如:最近哪些监控报警比较多?

添加新的监控任务

  1. 添加新的监控目标 通过自然语言能够添加新的监控目标; 如:a. 我要监控Web服务的响应时间 b. 请帮我添加数据库连接池的监控
  2. 配置警报阈值 通过自然语言能够配置警报阈值; 如:a. 当Web服务响应时间超过5秒时触发警报 b. 数据库连接池使用率超过90%时发送通知

设计时需要考虑的事项

  1. 底层存储支持数据源比较多,如何监控? 比如:自然语言 -> SQL -> 查询数据源 -> 大模型
  2. 大模型的兼容性,支持常用模型
  3. 方案的易用性,让用户能够方便使用

需求分析

  • Apache HertzBeat:作为监控系统的核心后端,它提供数据收集、存储和管理功能。
  • MCP协议:一种开放协议,可实现大语言模型(LLM)应用程序与外部数据源和工具之间的无缝集成。
  • 前端交互:开发一个用户友好的界面,支持语音或文本输入,并显示监控信息和交互结果。

推荐技能

  • Java + TypeScript:Apache HertzBeat是基于此技术栈开发的。因此,掌握这些技术对于与HertzBeat集成至关重要。
  • SpringAi:建议使用SpringAi来构建AI代理。
  • LLM + MCP:你需要了解大语言模型(LLM)和MCP协议。SpringAi似乎支持MCP协议,或者可以考虑直接使用mcp-sdk。

规模

  • 难度:困难
  • 项目规模:约350小时

导师

如果您有意向可邮件发送给导师,带上您的方案和想法。

  • 宫超gongchao@apache.org
  • 张圣航shenghang@apache.org

我该怎么做才能提高被选为 GSoC 贡献者的几率?

  1. 在组织名单公布后,请访问计划网站查看这些组织,并找到几个您感兴趣的组织。
  2. 仔细阅读这些组织的“项目想法”列表。
  3. 如果您看到了感兴趣的想法,请通过组织的首选沟通方式(列在 GSoC 网站上的组织页面上)与该组织联系。
  4. 与导师和社区成员沟通,确定这个项目想法是否是你在该计划期间乐于着手实施的。如果您所做的不是自己感兴趣的事情,那么对您和您的导师来说,这将不会是一个愉快的暑假。
  5. 在与导师和其他组织社区成员沟通期间,您获得了一些信息,请利用这些信息撰写提案。
  6. 请尽早提交提案,以便导师有时间提供反馈。您需要有时间根据他们的反馈进行修改,并在截止日期之前重新提交。请勿等到最后一刻才提交提案!

2025年Google编程之夏时间轴

所有时间均为世界协调时间(UTC)

  1. 1月27日 - 18:00:导师组织可以开始向Google提交申请。
  2. 2月11日 - 18:00:导师组织申请截止日期。
  3. 2月11日至26日:Google计划管理员审核组织申请。
  4. 2月27日 - 18:00:发布已获批准的导师组织列表。
  5. 2月27日至3月24日:潜在的GSoC贡献者与指导组织讨论提案想法。
  6. 3月24日 - 18:00:开始接受Google全球服务学习贡献者(即GSoC贡献者)申请。
  7. 4月8日 - 18:00:GSoC贡献者申请截止日期。
  8. 4月29日 - 18:00:组织管理员需要确定GSoC贡献者提案排名。
  9. 5月8日 - 18:00:公布已接受的GSoC贡献者项目。
  10. 5月8日至6月1日:社区互动期。参与Google开放式项目贡献者(GSoC贡献者)结识导师、阅读文档,了解相关信息,为开始项目工作做准备。
  11. 6月2日:正式开始编码!
  12. 7月14日 - 18:00:导师和Google开放式项目贡献者可以开始提交中期评估(适用于标准12周编程项目)。
  13. 7月18日 - 18:00:中期评估截止日期(标准编码周期)。
  14. 7月14日至8月25日:工作阶段。在导师的指导下,GSoC贡献者开展项目。
  15. 8月25日至9月1日 - 18:00:最后一周。GSoC贡献者提交最终成果和最终导师评估(标准编码周期)。
  16. 9月1日至8日 - 18:00:导师提交最终的GSoC贡献者评估结果(标准编码周期)。
  17. 9月1日至11月9日:有延长时间表的GSoC贡献者可以继续编码。
  18. 11月10日 - 18:00:所有Google开放式课程贡献者提交最终成果和最终评估的截止日期。
  19. 11月17日 - 18:00:导师针对延长截止日期的GSoC贡献者项目提交评估的最终日期 。

Google 编程之夏常见问题解答

https://developers.google.com/open-source/gsoc/faq?hl=zh-cn