Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

🌿 TrailMates: Less Scrolling, More Wandering | Open-Weight AI for Touching Grass

Описание и применение

TrailMates – это открытое приложение, генерирующее персональные планы коротких прогулок на свежем воздухе с помощью модели Qwen2.5-7B-Instruct и дополнительных сервисов, позволяющее пользователям выйти из экрана и насладиться природой.

Задача

Users want spontaneous, screen‑free outdoor adventures but lack guidance on what to do and how to plan them.

Результат

TrailMates delivers a lightweight, AI‑powered outdoor planning experience that encourages users to step away from screens, with transparent fallback mechanisms and optional audio support.

Рабочий процесс

  • 1. User selects available time, energy level, setting, and interests on the web interface.
  • 2. Frontend sends request to FastAPI backend.
  • 3. Backend calls Hugging Face Inference Provider (Qwen/Qwen2.5-7B-Instruct) via POST https://router.huggingface.co/v1/chat/completions with system prompt for JSON schema.
  • 4. Backend validates response (non‑empty, ≥80 chars, JSON with title and steps).
  • 5. If validation fails, a rule‑based fallback plan is returned and clearly labeled.
  • 6. Backend optionally enriches plan with park data from SerpApi Google Maps engine if SERPAPI_API_KEY and location are provided.
  • 7. Backend optionally generates audio briefing via ElevenLabs SDK; if unavailable, falls back to browser Web Speech API.
  • 8. Frontend displays plan, items, safety tips, challenge, reflection question, and audio link.
  • 9. User follows plan, puts phone away, and enjoys the adventure.

Доказательства

TrailMates is an open-source outdoor adventure companion that turns spare time into small, screen-free adventures.

Источник

The core AI is Qwen/Qwen2.5-7B-Instruct, one of the models recommended on the HF Inference Providers documentation.

Источник

If inference is unavailable, the app can fall back to a clearly labeled rule-based demo plan rather than pretending that a model generated it.

Источник

Elevenlabs SDK is wired up in elevenlabs_service.py. When the API key is valid, it returns an audio URL for the plan briefing. When it returns 401 (expired key) or is unconfigured, the frontend falls back to window.speechSynthesis (browser Web Speech API).

Источник

serpapi_service.py calls the Google Maps engine for local park results when a key and location are provided. Results include a "source": "serpapi-live" tag.

Источник

  • Дата записи: 2026-10-10T22:56:21.660Z