Voyant Travel Assistant

Builds trust, then answers fast.

Production-ready travel assistant featuring Transformers.js NLP, Amadeus flight search, Vectara RAG for policy documents, intelligent web crawling with Playwright, and comprehensive anti-hallucination safeguards.

    ██╗   ██╗ ██████╗ ██╗   ██╗ █████╗ ███╗   ██╗████████╗
    ██║   ██║██╔═══██╗╚██╗ ██╔╝██╔══██╗████╗  ██║╚══██╔══╝
    ██║   ██║██║   ██║ ╚████╔╝ ███████║██╔██╗ ██║   ██║   
    ╚██╗ ██╔╝██║   ██║  ╚██╔╝  ██╔══██║██║╚██╗██║   ██║   
     ╚████╔╝ ╚██████╔╝   ██║   ██║  ██║██║ ╚████║   ██║   
      ╚═══╝   ╚═════╝    ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═══╝   ╚═╝   
✈️ VOYANT Travel Agent CLI
───────────────────────────────────────
Ask travel questions. I answer in concise English.
You can ask in any language; I will reply in English.
───────────────────────────────────────
What I can help with:
• Weather — "Weather in London this week?"
• Packing — "What to pack for Tokyo in March?"
• Attractions — "Kid‑friendly things to do in SF in late Aug"
• Destinations — "Where to go from Tel Aviv in August?"
• Flights — "Flights from NYC to London March 15" (live search via Amadeus)
• Policies (RAG) — "United baggage allowance", "Marriott cancellation"
and visas — "Do I need a visa for Japan with a US passport?"
• Web search on consent — events, flights, live info
───────────────────────────────────────
How to ask:
• Include city and month/dates when possible.
• I may ask to use web search or deep research — reply "yes" to proceed.
• I avoid prices/budgeting; I can still suggest options.
───────────────────────────────────────
Commands:
/why Show how I got my answer (sources, reasoning, fact-checking)
exit Quit
───────────────────────────────────────
account_tree View Agent Flow chat Try Live Chat
Note: The web interface offers limited functionality (e.g., deep research is disabled) due to free tier resource constraints.
Please use the CLI for the complete feature set.

Key Features

shield

Anti‑Hallucination

Self‑evaluates to prevent hallucinations, requiring citations and secondary verification.

travel_explore

Web Insights

Crawlee/Playwright crawling with anti-bot stealth for policy extraction. Brave/Tavily search with fallback when internal data insufficient.

psychology

Smart Routing

Transformers multilingual NLP with zero-shot routing. 20-40% LLM reduction via Regex→Transformers→LLM cascade. Natural multi-turn support.

public

Multi-Source Data Integration

Connects to Open‑Meteo, REST Countries, OpenTripMap, and Amadeus for verified travel info.

search

Enterprise-grade RAG

Advanced retrieval-augmented generation with Vectara integration for searching and retrieving information from internal knowledge bases, policy documents, and enterprise data sources.

bolt

Clean Architecture

CLI/REST API with TypeScript validation, 685+ tests, circuit breakers, rate limiting, and Prometheus observability.

Quick Start

# Clone repository and enter root directory
git clone https://github.com/chernistry/voyant/ && cd voyant/root

# Install dependencies
npm install

# Start CLI
npm run cli

# Or start HTTP server
npm run dev

# Run tests
npm test

Live Conversation Demo

Demo Notice: This page shows a real conversation transcript from the actual assistant. The conversation content is authentic and was recorded during live testing using the MistralAI Mistral-Nemo model. Only the presentation format is static - the actual assistant runs via a CLI and simple REST API.
CLI npm run cli
REST POST /chat, GET /healthz, GET /metrics
Details and examples in README.md.

⚡ Update: Functionality has been significantly expanded since this conversation was recorded. For the full experience with latest features including advanced RAG, policy search, and enhanced routing, please use the CLI version instead of just reading the transcript.
person
User
From NYC, end of June (last week), 4-5 days. 2 adults + toddler in stroller. Parents mid - 60s; dad dislikes long flights. Budget under $2.5k total. Ideas?
smart_toy
AI Assistant

This looks like a complex travel planning request that would benefit from deeper research. Would you like me to search for comprehensive information to help with your trip planning?

person
User
Yes
smart_toy
AI Assistant

Short Answer: For a 5-day trip from NYC ending June 26th with adults, a toddler, and seniors, consider these family-friendly destinations: Shelter Island, Hudson Valley, and Montauk.

  • Shelter Island, NY is a 2.5-hour drive, offering a summer dream with beaches and family fun [1].
  • Hudson Valley, NY is an 85-mile drive, featuring New Paltz with its family-friendly activities [2, 5].
  • Montauk, NY is a 2.5-hour drive, providing a beach destination with family-friendly accommodations [5].
person
User
Flights from Paris to Berlin tomorrow?
smart_toy
AI Assistant

Found 73 flight offers from PAR to BER on 2025-09-15

Top options:

  • 110.68 EUR - CDG 2025-09-15T21:45:00 → BER 2025-09-16T16:45:00 (D8, 1 stop(s))
  • 120.22 EUR - CDG 2025-09-15T20:35:00 → BER 2025-09-16T09:05:00 (DY, 1 stop(s))
  • 145.22 EUR - CDG 2025-09-15T20:35:00 → BER 2025-09-16T21:00:00 (DY, 1 stop(s))

...and 70 more options available.

person
User
What should I pack to Barcelona today?
smart_toy
AI Assistant

Barcelona in March: Weather: High 25.2°C / Low 21°C; precip prob 0% (Open-Meteo)

Pack: layered clothing, light waterproof jacket, comfortable walking shoes, umbrella or poncho, light scarf, medium-weight sweater, jeans or comfortable pants, breathable socks, daypack or crossbody bag, travel pillow, long-sleeve shirts, cardigan or light jacket, comfortable jeans, walking sneakers, light rain poncho, breathable windbreaker, travel blanket, extra underwear, medium-weight pajamas, socks for different activities, versatile belt, light scarf for versatility, crossbody purse or wallet, phone armband for activities, small first aid kit, travel-sized toiletries

person
User
What are some must-see acttractions there?
smart_toy
AI Assistant

Here are some attractions in Barcelona:

Barcelona, a city rich in history and culture, offers a diverse range of attractions that cater to every type of traveler. Architecture enthusiasts will delight in the Casa Leandre Bou, a striking building nestled in the heart of the Eixample district, and the Cases Jeroni F. Granell, a stunning ensemble that once housed the prominent Granell family. Art lovers should not miss the Sala Gaspar, a historic gallery that once showcased the works of renowned artists, now commemorated by a plaque on the Consell de Cent street. For those interested in the city's planning and development, the Sector de conservació de l'Eixample is a must-visit, a testament to Ildefons Cerdà's urban planning vision. The Casa Ernest Castellar, another architectural gem, offers a glimpse into the city's modernist past. Meanwhile, the Font de la Pagesa and Cine Roma, while details are scarce, promise unique experiences in Barcelona's vibrant cultural scene.

Source: OpenTripMap

person
User
Please search for any festivals or events that week we should plan around California.
smart_toy
AI Assistant

I can look this up on the web. Want me to search now?

person
User
Yes
smart_toy
AI Assistant

Short Answer: Plan around these California festivals and events in September 2025: Basscon Wasteland, 805 Night Market, Hermitfest West, and Thai Fest by the Beach.

  • Basscon Wasteland Festival in San Bernardino, CA on August 29-30, 2025 [1]
  • 805 Night Market in Ventura on September 5-7, 2025 [2]
  • Hermitfest West in Bear Valley on September 6, 2025 [2]
  • Thai Fest by the Beach in Santa Monica on September 20-21, 2025 [7]
person
User
Quick one: do US passport holders need a visa for Canada?
smart_toy
AI Assistant

No, US passport holders do not need a visa for Canada. They are exempt from the Electronic Travel Authorization (eTA) and can enter for tourism or business stays of up to 180 days.

Sources:
  • Policy Document (canada-visa-requirements.txt)
person
User
/why
smart_toy
AI Assistant
--- RECEIPTS ---
Sources: Policy Document (canada-visa-requirements.txt)
Decisions: Retrieved 1 policy citations with receipts integration
Self-Check: pass (All specific claims in the draft are directly present in facts, No invented specifics, numbers, or locations, Properly cited source)
Budget: 0ms API, ~400 tokens
person
User
What about visa for German passports for travelling to China?
smart_toy
AI Assistant

I don't have this information in our internal database, but let me search the web for current details:

Short Answer: German passport holders can travel to China visa-free under certain conditions.

  • Visa-free entry is available for stays up to 30 days [1, 3, 5, 7].
  • This policy is part of a pilot program running from December 1, 2023, to December 31, 2025 [2, 5, 7].
  • Shorter stays and specific purposes may qualify for visa exemption [4].
person
User
What is the standard cancellation window for Marriott hotels, and what penalty applies if you cancel after this window?
smart_toy
AI Assistant

The standard cancellation window for Marriott hotels is 24 hours before arrival. If you cancel within this window, there is no fee. However, if you cancel after this window, a penalty of one night's stay will be charged.

Sources:
  • Policy Document (marriott-cancellation.txt)
person
User
What are the change fees for JetBlue flights? Get me the official policy with receipts.
smart_toy
AI Assistant

Based on the provided JetBlue policy documents, the change fees for flights are as follows:

Blue Basic fares:

  • Change/Cancel Fee: $100 for flights within North America, Central America, and the Caribbean, $200 for other routes.
  • Fare difference and fare rules apply on date of change.

Other fares (Blue, Blue Plus, Blue Extra, Mint, Refundable versions):

  • Change/Cancel Fee: No change/cancel fee, but fare difference applies if the new fare is higher.
Sources: Policy Receipts:
Extract: "Change & Cancellation Policy Blue Basic fares: • Change/cancel fee: $100 (North America, Central America, Caribbean), $200 (other routes)..."
Extract: "## Change Policy: • Tickets are valid for one year from the date of original ticketing. • For nonrefundable fares (Blue, Blue Plus, Blue Extra, Mint),..."
person
User
What is the timeframe for Delta's risk-free cancellation policy and what are the key conditions?
smart_toy
AI Assistant

The timeframe for Delta's risk-free cancellation policy is within 24 hours of booking. The key conditions are:

  • Applies to all fare types
  • Flight must be at least 7 days away
  • After 24 hours, no refunds or changes are allowed for Basic Economy fares
Sources:
  • Policy Document (delta-cancellation.txt)
person
User
My flight DL8718 from CDG to LHR was cancelled, please help me rebook
smart_toy
AI Assistant

I found 3 rebooking options for your disruption:

Option 1 (keep partial):

  • Route: SK834 CDG-LHR
  • Additional cost: $301.2 USD
  • Confidence: 60%
  • Rules: MCT validated for CDG, Same day changes only

Option 2 (keep partial):

  • Route: SK564 CDG-LHR
  • Additional cost: $316.65999999999997 USD
  • Confidence: 60%
  • Rules: MCT validated for CDG, Same day changes only

Option 3 (keep partial):

  • Route: SK834 CDG-LHR
  • Additional cost: $329.2 USD
  • Confidence: 60%
  • Rules: MCT validated for CDG, Same day changes only

All options have been validated against airline policies and connection requirements. Would you like me to proceed with one of these options?

person
User
What is El Al's carry-on baggage size limit? I need the exact policy with receipts.
smart_toy
AI Assistant

El Al's carry-on baggage size limit is:

  • Economy Class: 55x35x25 cm (21.7x13.8x9.8 in)
  • Premium and Business Classes: 55x35x25 cm (21.7x13.8x9.8 in)
  • Personal Item: 40x30x10 cm (15.7x11.8x3.9 in)
Sources: Policy Receipts:
Extract: "Carry-On Baggage Policy for EL AL Economy Class: • Lite ticket: One carry-on, max 8 kg (17.6 lbs), max dimensions 55x35x25 cm (21.7x13.8x9.8 in)..."
Extract: "EL AL Airlines Baggage Policy Carry-On Baggage • Each passenger is allowed one carry-on bag. • Size and weight requirements: Must fit either ..."

Notes on Prompt Engineering

  • Format Priming: Enforced JSON/bullet-point schemas ensure structured, parseable outputs while preventing hallucinations.
  • Few-Shot Prompting: Curated examples in router.md and cot.md train accurate intent classification and slot extraction.
  • Chain-of-Thought: Structured reasoning in cot.md and verify.md decomposes analysis into verifiable steps.
  • Guardrails: blend.md requires fact-grounding + verify.md provides secondary validation of claims.
  • Query Optimization: Rewrites user search queries to reduce noise.

Other Perks

  • Anti-hallucination receipts with self-check and sources.
  • Resilient data blend: APIs → search fallback when providers fail.
  • Smart routing + memory for natural multi-turn conversations.
  • Optional /metrics endpoint (Prometheus or JSON) and structured logs (PII‑redacted by default).
  • Security-conscious: host allowlist, timeouts, retries with jitter, and circuit-like backoff.
  • E2E transcripts and golden tests for the core scenarios.

Priority Roadmap

These are the features we would implement next if we continued development beyond this demo.
Deliberate tradeoffs (assignment scope):
  • Linear graph today: prioritized debuggability and clear guardrails; interfaces are stateless and typed to drop in parallel branches and rollbacks.
  • Prod wrappers: avoided Docker/CI to keep local start ≤5 min; packaging and minimal CI are listed below.
  • check_circleRouter Optimization: COMPLETED
    Implemented Transformers.js with 'Xenova/bert-base-multilingual-cased-ner-hrl' for multilingual NER, language detection with langdetect library, enhanced entity extraction (LOCATION, DATE, MONEY, DURATION), and Transformers > LLM > Rules cascade routing with 20-40% latency reduction.
  • check_circleWeb Insights: COMPLETED
    Implemented Crawlee (Cheerio/Playwright) for comprehensive web page content extraction and AI summarization when users request complex queries, providing detailed analysis beyond basic search snippets with source citations and receipts. Cheerio handles the fast/simple pages, Playwright handles the complex ones that need JavaScript rendering.
  • check_circlePolicy RAG & Anchored Citations: COMPLETED
    Implemented Vectara RAG integration with PolicyAgent for airlines, hotels, and visas. Seeded 6 policy documents with paragraph-level citations including URL + snippet in receipts. Full cascade routing (Transformers > LLM > Rules) with robust error handling and Brave search fallbacks.
  • check_circleFlight Search Integration: COMPLETED
    Implemented Amadeus API integration for live flight search with complete itineraries, pricing, connection details, and IATA code conversion. Features natural language date parsing and comprehensive flight information display.
  • check_circleCircuit Breaker & Rate Limiting: COMPLETED
    Implemented opossum circuit breaker with per-host configuration and Bottleneck rate limiter. Features configurable timeouts, error thresholds, and comprehensive metrics/stats collection with /metrics endpoint integration.
  • check_circlePolicy Browser Mode v1: COMPLETED
    Headless Playwright navigation to official policy pages with screenshot+DOM evidence, verbatim citations, and content hashing for chain of custody.
  • constructionIRROPS & Partial-Leg Changes: FOUNDATION READY
    Foundational components implemented: PNR schemas, constraint validators (MCT/fare/carrier), option ranking algorithms, and disruption classification. Ready for production workflow integration and policy rule engine connection.
  • Hotels & Stays (Amadeus): City + dates + guests search with policy compliance filtering, loyalty integration, and unified itinerary view.
  • Profile & Policy Guardrail Engine: YAML-based rules engine for corporate travel policy with IN-POLICY/OUT-OF-POLICY badges and exception workflows.
  • Unified Itinerary & Smart Notifications: Merged flights+hotels+POIs with ICS export and proactive nudges (check-in, gate changes, cancellation windows).
  • Trip Risk & Resilience Score: Predictive disruption scoring with Plan B recommendations based on MCT buffers, weather patterns, and carrier reliability.
  • Enterprise Observability & Packaging: P95/P99 metrics, OpenAPI documentation, Docker/Lambda packaging, and cost guardrails with budget controls.