Verdantra: 야외 활동을 유도하는 AI 기반 식물 기록 일지
요약
Verdantra는 AI를 활용하여 야외 활동을 유도하는 오픈 소스 식물 기록 일지입니다. 사용자가 찍은 사진을 분석하고, 나뭇잎의 특징이나 관찰 내용을 안내하며, 실제 탐험을 장려합니다. 온라인에서는 Gemini API를, 오프라인에서는 Ollama와 Gemma 모델을 사용하여 구동할 수 있습니다.
핵심 포인트
- AI가 관찰을 대체하지 않고 호기심을 자극하는 원칙 기반 설계
- 사진 분석 및 가시적 증거 설명을 제공하여 사용자 경험 향상
- 온라인(Gemini API)과 오프라인(Ollama/Gemma) 모드를 모두 지원하는 유연성
- React, FastAPI 등 최신 웹 스택으로 구축된 오픈 소스 프로젝트
_이 글은 Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass 제출물입니다.
제가 만든 것 (What I Built)
🌿 Verdantra — 바깥을 좀 더 자세히 보세요.
Verdantra는 사람들이 화면에서 벗어나 자연 세계를 탐험하도록 장려하는 오픈 소스 AI 기반 식물 기록 일지(botanical field journal)입니다.
아이디어는 간단합니다. 나뭇잎, 식물, 돌, 물웅덩이 또는 다른 야외 사물의 사진을 찍고, 이를 대체하기보다는 관찰을 안내하는 데 AI를 사용하는 것입니다.
주요 기능 (Key Features)
- 사진 기반 관찰: 야외 사진을 업로드하여 AI 분석을 받습니다.
- 가시적 증거: 나뭇잎의 색상, 모양, 패턴 등 이미지에서 보이는 특징에 대한 설명을 받습니다.
- 솔직한 불확실성: AI는 추측을 사실처럼 제시하는 대신, 사진만으로는 확실하게 판단할 수 없는 부분을 강조합니다.
- 안전한 미니 실험: 식물을 꺾거나 맛보거나 손상시키지 않으면서 실제 탐험을 장려하는 짧은 관찰 활동을 제공받습니다.
- 개인 기록 일지: 사진, AI 예측, 그리고 사용자의 자체 관찰 내용을 저장하여 나중에 검토할 수 있습니다.
- 온라인 및 오프라인 AI 모드: 온라인 모드에서는 Google의 Gemini API를, 오프라인 모드에서는 Ollama를 통해 로컬 Gemma 모델을 사용할 수 있습니다. 각 모드는 명시적으로 선택할 수 있습니다.
Verdantra는 중요한 원칙에 기반하여 구축되었습니다: AI는 우리의 관찰을 대체하는 것이 아니라, 실제 세계에 대한 호기심을 장려해야 합니다.
데모 (Demo)
GitHub 저장소: https://github.com/codewithvishuuu/verdantra
현재 프로젝트는 로컬에서 실행됩니다. 공개적으로 배포된 데모는 아직 없습니다.
저장소에는 백엔드와 프론트엔드를 로컬에서 실행하고, AI 제공업체를 구성하며, 애플리케이션을 테스트하기 위한 설정 지침이 포함되어 있습니다.
코드 (Code)
전체 소스 코어를 탐색해 보세요:
저장소에는 React 프론트엔드, FastAPI 백엔드, AI 통합, 일지 기능, 테스트 및 개별 프로젝트 문서 파일이 포함되어 있습니다.
구축 과정 (How I Built It)
저는 실질적인 AI 통합, 개인 정보 보호 인식(privacy awareness), 그리고 신뢰할 수 있는 로컬 개발에 중점을 둔 최신 웹 스택을 사용하여 Verdantra를 구축했습니다.
기술 스택 (Technology stack)
- 프론트엔드: React, TypeScript, Vite, Tailwind CSS
- 백엔드: Python 및 FastAPI
- AI — 온라인:
gemma-4-26b-a4b-it를 사용하는 Google의 Gemini API - AI — 오프라인:
gemma4:e2b모델을 사용하는 Ollama를 통한 Gemma 4 E2B - 데이터 저장소: 일지 항목용 SQLite
- 테스트: 백엔드 테스트를 위한 Pytest, TypeScript 검사 및 Vite 프로덕션 빌드
이 애플리케이션은 공유 AI 서비스 인터페이스를 사용하여 관찰 워크플로우가 별도의 프론트엔드를 요구하지 않고 어느 제공업체와도 작동할 수 있도록 합니다.
온라인 사용의 경우, 백엔드는 이미지를 구성된 Gemini API로 전송합니다. 오프라인 사용의 경우, 백엔드는 로컬 Ollama 서버와 통신하여 모델이 설치되고 실행되면 인터넷 연결 없이 이미지 분석을 가능하게 합니다.
AI 지침은 사진 기반 증거(photo-grounded evidence), 평이한 언어(plain language), 명시적인 불확실성(explicit uncertainty), 그리고 안전한 관찰 활동에 중점을 둡니다. 예측 결과는 검증되지 않음(unverified)으로 표시되어 사용자가 AI가 생성한 설명이 틀릴 수 있음을 이해하도록 합니다.
또한 백엔드 동작 및 출력 제약 조건에 대한 자동화 테스트를 추가했습니다. 테스트 통과는 구현 동작을 검증할 뿐, 모든 AI가 생성한 관찰 내용이 식물학적으로 정확함을 보장하지는 않습니다.
오픈 혁신(Open Innovation)은 왜 중요한가?
자연 탐험은 비싼 하드웨어 또는 단일 온라인 AI 서비스에 의존해서는 안 됩니다.
오픈 소스 도구 덕분에 전체 애플리케이션을 구축하고 검사하며, 다양한 AI 추론 옵션을 결합하고, 사용자에게 호스팅 방식과 로컬 처리 방식 중 선택권을 제공할 수 있게 되었습니다.
Ollama를 통한 로컬 추론(Local inference)은 인터넷 접속이 불가능할 때의 대안도 제공합니다. 호스팅된 옵션은 다른 모델과 추론 경로를 제공하는 반면, 로컬 옵션은 이미지 처리를 사용자 기기에서 수행합니다.
오픈 혁신(Open innovation) 덕분에 Verdantra와 같은 프로젝트는 다른 개발자들이 검토하고, 학습하며, 개선하고, 자신들의 커뮤니티에 맞게 적용하기가 더 쉬워졌습니다.
다른 기여자분들이 관찰 기록의 품질 향상, 접근성, 오프라인 사용 가능성, 그리고 전반적인 필드 저널링 경험을 개선하는 데 도움을 주시기를 바랍니다.
나의 에이전트 세션 (My Agent Session)
이 섹션은 선택 사항입니다. 포함할 검증된 공유 가능한 DevRelay 에이전트 세션 링크가 없기 때문에, 존재하지 않는 세션을 연결하기보다는 생략합니다.
수상 부문 (Prize Categories)
제 제출물은 Hacktoberfest Open-Source AI Challenge — Week 1: Touch Grass에 관한 것입니다.
어떤 파트너 카테고리가 이 프로젝트에 적용되는지 확인하지 못했기 때문에 추가적인 파트너 수상 부문은 추가하지 않았습니다.
호기심, 오픈 소스 도구, 그리고 조금 더 많은 야외 시간이 만들어낸 결과입니다.
Verdantra — 밖을 좀 더 자세히 보세요. 🌱
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기