Releases: juandagalo/flight-report-agent
Releases · juandagalo/flight-report-agent
v2.1.0 - Bug fixes and observability improvements
Fixes
- Fix WikiVoyage API 403 by adding required User-Agent header (#12)
- Fix raw markdown rendering in PDF activities section (#13)
- Remove json_mode warning when using Claude as LLM provider (#14)
Improvements
- Add per-destination logging in enrich node for better pipeline observability (#14)
- Add RAG retrieval logging in suggest node (#14)
- Add test verifying User-Agent header is sent (#12)
Testing
- 196 tests, all passing
v2.0.0 - Multi-provider LLM, RAG, MCP Server
What's New
Multi-provider LLM Support
- Switch between Claude and OpenAI via LLM_PROVIDER env var
- Provider-agnostic factory pattern -- same code, different models
RAG-Enhanced Recommendations
- Qdrant vector store with embedded mode (no external server needed)
- WikiVoyage knowledge base: scrape, chunk, embed, and index 35+ destinations
- User interaction history for personalized suggestions across sessions
- Prompt injection sanitization for safe RAG context injection
MCP Server
- Expose the flight report pipeline as an MCP tool
- Compatible with Claude Code, Claude Desktop, and any MCP client
Claude Code Skill
- Natural language triggers for travel queries
- Seamless integration with the MCP server
Pipeline Changes
- New store_interaction node saves completed requests for future personalization
- suggest and enrich nodes query Qdrant for context before LLM calls
- Graceful fallback when RAG is unavailable
Testing
- 196 tests (103 new), all passing
- End-to-end integration tests with real Qdrant
- All external APIs mocked
Setup
uv sync
uv run ingest-wikivoyage # One-time knowledge base ingestion
uv run uvicorn src.app.main:app --reloadv1.0.0 - LangGraph Travel Recommendation Agent
Initial Release
LangGraph-based travel recommendation agent that generates comparative PDF reports with flight options.
Features
- Natural language intake via GPT-4o with structured output
- 5-stage pipeline: intake -> validate -> suggest -> search_flights -> enrich -> generate_report
- Real flight search via Amadeus API with budget filtering
- Weather enrichment via Open-Meteo (previous year data as proxy)
- LLM-generated activity recommendations per destination
- Weighted scoring algorithm (climate 30%, activity 30%, price 25%, stops 15%)
- PDF report generation with comparison table and detail pages
- SSE streaming endpoint for real-time pipeline progress
- PDF download route
- All prompts and user-facing content in Spanish
API Endpoints
- POST /api/chat -- Generate travel report
- POST /api/chat/stream -- SSE streaming version
- GET /api/reports/{filename} -- Download generated PDF
- GET /api/graph/viewer -- Interactive Mermaid pipeline diagram
Tech Stack
Python 3.12+, LangGraph, FastAPI, GPT-4o, Amadeus API, ReportLab
Testing
93 tests covering all pipeline nodes, services, and API endpoints