이 글은 Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass에 제출하는 내용입니다.
제가 만든 것 (What I Built)
저는 TrailQuest AI를 만들었습니다. 이 프로그램은 오프라인 환경에서 작동하며, 로컬 AI 추론을 실제 야외 활동 퀘스트로 변환하여 화면 피로(screen fatigue)를 해소하도록 설계된 야외 모험 생성기입니다.
오랫동안 데스크톱 PC 앞에 앉아 있는 공학도인 저는 휴식을 취하려고 할 때 얼마나 쉽게 화면에 몰두하는지 깨달았습니다. TrailQuest AI는 화면 상호작용을 30초 이내로 최소화합니다:
- 사용자는 이용 가능한 시간(10분~120분)과 도전 레벨을 선택합니다.
- 야외 분위기(Mindful & Chill, Scavenger Hunt, Energetic Walk, 또는 Nature Photography)와 현재 날씨/환경을 선택합니다.
- 순식간에, 로컬 추론(local inference)이 경로 목표, 마음챙김 관찰 과제, 성찰 사진 챌린지, 트레일 안전 팁 등이 포함된 구조화된 3단계
데모
🥾 TrailQuest AI — 오프라인 야외 모험 생성기
이것은 Hacktoberfest 오픈소스 AI 챌린지 주간 1: 풀밭에 발을 디디다 제출물입니다.
제가 만든 것
TrailQuest AI는 화면 시간을 오프라인 실제 야외 모험으로 바꾸는 가볍고 로컬 우선(local-first)의 웹 애플리케이션입니다.
사용자는 소셜 미디어를 끝없이 스크롤하거나 밖에 나가서 무엇을 할지 결정하는 데 어려움을 겪는 대신, 사용 가능한 시간(예: 10–120분), 원하는 야외 분위기(마음챙김 및 평온함(Mindful & Chill), 보물찾기(Scavenger Hunt), 활기찬 산책(Energetic Walk), 자연 사진 촬영(Nature Photography), 비 오는 날 산책(Rainy Day Walks), 단풍 추적기(Fall Foliage Tracker), 밤하늘 관측(Night Sky Observation) 등), 날씨/계절 설정, 그리고 즉각적인 위치를 선택합니다.
몇 초 만에 TrailQuest AI는 명확한 목표, 관찰 과제, 성찰 프롬프트, 안전 팁이 포함된 개인화된 3단계 물리적 '퀘스트 카드(Quest Card)'를 생성합니다. 일단 생성되면 화면 경험은 끝나고 사용자는
- 프론트엔드 및 대시보드: Streamlit을 사용하여 실시간 원격 측정(telemetry), 모델 상태 표시기, 로컬 사이드바 컨트롤이 포함된 깔끔한 다크 모드 UI로 구축되었습니다.
- 로컬 AI 엔진: 오픈 웨이트 모델(
gemma:2b / qwen2.5:3b)을 데스크톱 하드웨어에서 실행하는 Ollama를 통해 구동됩니다.
- 실시간 토큰 스트리밍: 생성된 퀘스트 카드는 로컬 LLM 런타임에서 직접 토큰이 스트리밍됨에 따라 문자 단위로 렌더링됩니다.
- Pydantic 스키마 유효성 검사: 구조화된 JSON 출력 강제를 사용하여 모든 생성된 퀘스트가 유효한 경로(Route), 관찰(Observation), 성찰(Reflection), 안전(Safety) 섹션을 포함하도록 보장합니다.
- 다중 모델 폴백(Multi-Model Fallback): 주 모델이 바쁘거나 초기화되지 않은 경우에도 퀘스트 생성이 성공할 수 있도록 복원력 있는 폴백 로직(
qwen2.5:3b -> llama3.2:1b / gemma:2b)을 구현합니다.
- 오프라인 기록 및 퀘스트 로깅: 클라우드 원격 측정 없이 지역 야외 연속 활동(streak)과 퀘스트 완료 기록을 추적하는 내장 SQLite 데이터베이스(
trailquest.db)가 있습니다.
로컬에서 실행하기
absh
# Ollama를 통해 오픈 웨이트 모델 풀링
...