← 返回信息流

dev.to #ai短讯

Verdantra:一款利用 AI 引导户外观察的开源植物野外日记应用

dev.to作者:Vishal Kumar开源AI评分:50/100

Verdantra 是 Hacktoberfest 开源 AI 挑战赛的参赛作品,旨在鼓励用户走出屏幕探索自然。该应用允许用户上传户外拍摄的照片(如树叶、植物、岩石等),利用 AI 技术辅助识别并引导用户进行更深入的观察,而非替代真实体验。这是一个结合计算机视觉与自然教育的开源项目。

这是 Hacktoberfest 开源 AI 挑战第一周“接触自然(Touch Grass)”主题的参赛作品。

我构建了什么

🌿 Verdantra —— 仔细观察户外世界。

Verdantra 是一款开源的、由人工智能驱动的植物园野外日记,旨在鼓励人们离开屏幕,探索自然界。

理念很简单:拍摄一片叶子、植物、岩石、水坑或其他户外主体的照片,利用人工智能引导你的观察,而非取代它。

主要功能

  • 基于照片的观察:上传户外照片,进行 AI 辅助分析。
  • 可见证据:接收图像中可见特征的描述,如叶子的颜色、形状和图案。
  • 诚实的不确定性:AI 会明确指出无法从照片中可靠确定的内容,而不是将猜测当作事实呈现。
  • 安全的小实验:提供简短的观察活动,鼓励现实世界的探索,同时避免采摘、品尝或损坏植物。
  • 个人野外日记:保存你的照片、AI 预测结果以及你自己的观察记录,以便日后回顾。
  • 在线和离线 AI 模式:在线模式下使用 Google 的 Gemini API,离线模式下通过 Ollama 使用本地 Gemma 模型。可以明确选择每种模式。

Verdantra 围绕一个重要原则构建:人工智能应激发人们对现实世界的好奇心,而不是取代我们自己的观察。

演示

GitHub 仓库:https://github.com/codewithvishuuu/verdantra

该项目目前仅在本地运行。尚未提供公开的部署演示。

仓库中包含在本地运行后端和前端的说明、配置 AI 提供商以及测试应用程序的步骤。

代码

浏览完整的源代码:

在 GitHub 上查看 Verdantra

该仓库包含 React 前端、FastAPI 后端、AI 集成、日记功能、测试以及单独的项目文档文件。

我是如何构建它的

我使用现代 Web 技术栈构建了 Verdantra,重点在于实用的 AI 集成、隐私意识以及可靠的本地开发。

技术栈

  • 前端:React、TypeScript、Vite 和 Tailwind CSS
  • 后端:Python 和 FastAPI
  • AI — 在线:使用 gemma-4-26b-a4b-it 的 Google Gemini API
  • AI — 离线:通过 Ollama 使用 gemma4:e2b 模型的 Gemma 4 E2B
  • 数据存储:SQLite 用于存储日记条目
  • 测试:Pytest 用于后端测试,TypeScript 检查以及 Vite 生产构建

应用程序使用共享的 AI 服务接口,使得观察工作流程可以在两个提供商之间无缝切换,而无需分别构建前端。

对于在线使用,后端将图像发送到配置的 Gemini API。对于离线使用,后端与本地 Ollama 服务器通信,一旦模型安装并运行,即可在没有互联网连接的情况下进行图像分析。

AI 指令强调基于照片的证据、通俗语言、明确的不确定性以及安全的观察活动。预测结果被标记为“未验证”,以便用户了解 AI 生成的描述可能是错误的。

我还为后端行为和输出约束添加了自动化测试。通过的测试验证了实现行为;它们并不能保证每一条 AI 生成的观察结果在植物学上都是正确的。

为什么开放创新很重要?

自然探索不应依赖于昂贵的硬件或单一的在线 AI 服务。

开源工具使得构建和审查整个应用程序成为可能,能够组合不同的 AI 推理选项,并让用户在选择托管处理和本地处理之间拥有选择权。

通过 Ollama 进行的本地推理在互联网不可用时也提供了一种替代方案。托管选项提供了不同的模型和推理路径,而本地选项则将图像处理保留在用户的机器上。

开放创新使得像 Verdantra 这样的项目更容易让其他开发者进行检查、学习、改进,并为其所在社区进行适配。

我希望其他贡献者能帮助提升观察记录的质量、可访问性、离线可用性以及整体的野外日志体验。

我的 Agent 会话

本部分为可选内容。由于我目前没有经过验证且可分享的 DevRelay agent-session 链接,因此我选择不包含此部分,以免链接到不存在的会话。

奖项类别

我的参赛作品属于“Hacktoberfest 开源 AI 挑战赛”——第一周:亲近自然(Touch Grass)。

我没有添加任何额外的合作伙伴奖项类别,因为我尚未核实哪些合作伙伴类别适用于本项目。

由好奇心、开源工具以及更多户外时光共同构建。

Verdantra —— 仔细观察窗外世界。🌱

译文已达到本站中文翻译的字数上限,剩余内容请查看原文。

阅读原文