这是提交至Hacktoberfest 开源 AI 挑战赛第 1 周:Touch Grass

我构建了什么

大多数户外和休闲应用都鼓励用户花更多时间盯着屏幕——在迈出第一步之前阅读步道评论、比较天气数据、在杂乱的 GPS 界面中导航。

我构建了TerraPulse,围绕一个简单的设计理念:屏幕应该是整个体验中最短的部分——理想情况下不超过 30 秒。

TerraPulse 是一款 AI 驱动的野外指南,面向徒步者、越野跑者、采集者和园艺爱好者。用户无需研究图表,而是可以:

  1. 选择一个户外任务:徒步、越野跑、采集,或园艺。
  2. 探索环境输入,如温度、湿度、土壤湿度、海拔、冠层密度和近期降雨量。
  3. 获得一个综合草地评分(0–100)、对步道抓地力和霜冻风险的评估,以及一份简洁的语音野外简报。
  4. 接收一个实体的自然微任务——例如,观察生长在阴凉树干上的不同真菌。
  5. 收听简报,收起手机,专注于户外。

目标很简单:让环境信息变得有用,同时不让人黏在屏幕上。


演示

通过选择一个可用的步道预设来试用在线演示,例如Pine Ridge Trail或Alpine Ridge,然后使用Synthesize Briefing & Touch Grass(如果该选项可用)。收听简报并探索生成的户外指导。


我如何构建它

TerraPulse 结合了环境数据分析、AI 引导的户外体验、音频旁白和可观测性。

1. 使用 TabPFN 进行环境分析

步道状况可能取决于多个相互作用的变量,包括温度、湿度、土壤饱和度和降雨后的时间。

我集成了Prior Labs 的 TabPFN(tabpfn.TabPFNClassifier)来分析表格形式的环境观测数据。

  • 历史观测数据存储在data/trail_microclimate.csv中。
  • 该分析支持步道状况评估,如干燥、泥泞或湿滑,以及霜冻或结冰风险。
  • 由此产生的预测为户外简报提供结构化输入。

2. 使用 Google Gemma 2 进行户外推理

当环境预测被转化为实用、易懂的指导时,它们会变得更有用。

TerraPulse 集成了 Google 的开源权重Gemma 2(gemma-2-9b-it)作为其自然主义者风格的推理智能体。

  • 它将环境分析转化为一份简洁的实地简报。
  • 它可以生成一个自然微任务和一个感官观察提示。
  • 该项目支持可配置的推理路径,包括本地 Ollama 集成(USE_LOCAL_GEMMA=true)、Google AI Studio 端点以及确定性回退行为。

实际的模型可用性和推理需求取决于所选的运行时和配置。

3. 使用 ElevenLabs 实现无屏幕音频

TerraPulse 支持ElevenLabs Turbo v2.5用于语音旁白,帮助用户聆听而不是不断查看屏幕。

当所需的语音 API 配置不可用时,前端可以使用浏览器原生的 Web Speech API(window.speechSynthesis)作为回退方案。

4. 使用 Sentry 实现可观测性

该项目使用sentry-sdk为智能体流水线的部分环节添加自定义 span,包括:

  • ai.tabpfn.tabular
  • ai.gemma.llm
  • ai.elevenlabs.tts

该界面包含一个智能体追踪和延迟瀑布视图,旨在让处理流水线更易于检查。

5. 使用 Docker 和 Render 进行部署

TerraPulse 包含一个Dockerfile和一个render.yaml用于在 Render 上部署的配置。

在线部署使得无需在本地设置项目即可通过浏览器探索该应用。


为什么开放创新很重要

户外环境中的网络连接往往不可靠。一个有用的实地工具应当在设计时考虑到这些限制。

开源权重模型和灵活的部署选项带来了若干潜在优势:

  • 本地推理选项:在具备所需硬件和软件的情况下,Gemma 2 等模型可以在本地运行。
  • 对数据有更多控制:根据配置不同,本地处理可以减少将某些输入发送到外部服务的需求。
  • 灵活的实验:开源权重模型和开源工具使开发者更容易检查、调整和扩展系统。
  • 实用的回退行为:确定性回退和基于浏览器的语音可以在可选集成不可用时帮助保持体验的实用性。

TerraPulse 探索这些方法如何支持更专注、更有屏幕意识(screen-conscious)的户外体验。云端支持的功能仍然依赖网络连接、凭证和服务可用性。


我的智能体开发工作流

TerraPulse 借助 AI 辅助结对编程开发,并注重让系统更易于检查。

  • 在可用的情况下,可以通过应用的追踪界面查看智能体追踪和性能跨度(span)。
  • 源代码仓库包含实现代码和项目历史。
  • 模块化架构将环境分析、推理、语音生成和可观测性分离。

奖项类别

TerraPulse 拟参与以下挑战和赞助商类别的评选,具体以各类别的官方资格要求为准。

特色类别

  • Render 最佳使用奖:该应用部署在 Render 上,部署配置已包含在仓库中。
  • TabPFN 最佳使用奖:TabPFN 已集成用于表格化环境分析和步道状况评估。
  • Gemma 最佳使用奖:Gemma 2 已集成到户外推理工作流中,帮助将结构化信息转化为实地指导。

合作伙伴类别

  • ElevenLabs 最佳使用奖:ElevenLabs 集成支持语音户外简报。
  • Sentry 智能体追踪最佳使用奖:Sentry 埋点支持检查智能体流水线及其性能。

链接


少看屏幕,多去户外。去摸摸草吧!🌿