Qloo TasteGraph Agentic Concierge (v2.0) — "Agents, but with taste"
Author: Vigneshwara Kireeti Alugunulla (vigneshalugunulla)
Organization: NuAIBot Technologies
Competition: Qloo Agentic Hackathon: Agents, but with taste
Live Interactive Web Application: https://getplacedoff-ops.github.io/qloo-agentic-taste-concierge/
Public Open-Source Repository: https://github.com/getplacedoff-ops/qloo-agentic-taste-concierge
License: MIT
1. Inspiration & Problem Statement
Standard LLM travel and lifestyle agents suffer from Popularity Collapse: when asked to plan an evening in Tokyo, New York, Paris, or London, they recommend the same generic tourist traps regardless of whether the user's cultural sensibility leans toward Wong Kar-wai + Miles Davis + Haruki Murakami or Wes Anderson + Daft Punk + Anthony Bourdain. Worse, naive embedding retrieval produces Redundant Clumping—recommending five nearly identical coffee shops in a row instead of a balanced multi-category experience.
We built Qloo TasteGraph Agentic Concierge (v2.0) to give autonomous agents genuine cultural taste using Qloo Taste AI™ (/v2/entities, /v2/insights, /v2/tags), Maximal Marginal Relevance (MMR) experiential diversity optimization, Autonomous Budget & Category Self-Correction, and a standardized Model Context Protocol (MCP) Server.

2. How It Works: 4-Stage Autonomous Agentic Loop
- Stage 1 — Multi-Modal Cultural Seed Perception (
/v2/entities):QlooTasteAPIClient.resolve_seed_entitiesresolves user seed preferences across Film (urn:entity:movie), Music (urn:entity:artist), and Literature (urn:entity:book) into canonical Qloo Entity URNs and aggregates their cross-domain taste embeddings into a unit L2 vector $\mathbf{u} \in \mathbb{R}^8$.
- Stage 2 — Cross-Domain Qloo
/v2/insightsGraph Expansion:QlooTasteAPIClient.query_cross_domain_insightsqueriesGET /v2/insights?filter.type=urn:entity:place&signal.interests.entities=...&filter.location.query=...to project abstract media preferences into physical venues (Dining,Vinyl_Listening_Bar,Indie_Cinema,Bookshop_Cafe,Gallery_Salon).
- Stage 3 — Maximal Marginal Relevance (MMR) Diversity Optimization:
- Instead of greedy top-$K$ similarity,
QlooAgenticItineraryOrchestratorsequentially selects stops maximizing: $$S_{\text{MMR}}(c \mid S_{\text{selected}}) = \lambda \cdot (\mathbf{v}c^\top \mathbf{u}) - (1 - \lambda) \max{s \in S_{\text{selected}}} (\mathbf{v}_c^\top \mathbf{v}_s), \quad \lambda = 0.88$$
- Instead of greedy top-$K$ similarity,
- Stage 4 — Autonomous Constraint Self-Correction:
- Inspects total itinerary spend against
max_budget_usdand category diversity constraints, autonomously replacing any budget-violating stop with the highest-affinity affordable alternative and generating an explainable cultural rationale for every stop.
- Inspects total itinerary spend against

3. Empirical Evaluation Benchmark (50 Cultural Personas x 60 Venues)
| Metric | Generic Popularity Concierge Baseline | Qloo TasteGraph Agentic Concierge (v2.0) |
Verified Gain |
|---|---|---|---|
| Mean NDCG@5 Cultural Relevance | 0.3508 |
0.9982 |
+0.6474 (+184.5%) |
| Intra-List Experiential Diversity | 0.5810 |
0.6351 |
+9.3% Higher Variety |
| Budget Cap & Constraint Compliance | 72.0% |
100.0% (Autonomous Self-Correction) |
+28.0% |
| Total Evaluation Latency (50 Personas) | 18.4 ms |
125.16 ms (2.50 ms / persona) |
Real-Time Ready |
4. Repository Structure & Quickstart
qloo_taste_agent.py: CoreQlooTasteAPIClient(/v2/entities,/v2/insights),QlooAgenticItineraryOrchestrator, and 50-persona benchmark.qloo_mcp_server.py: JSON-RPC 2.0 Model Context Protocol (MCP) server exposingqloo_resolve_cultural_entities,qloo_query_cross_domain_insights, andqloo_plan_agentic_itinerary.evaluate.py: Benchmark runner and Matplotlib chart generator (qloo_benchmark_comparison.png).test_suite.py: 10-test unit & Qloo API v2 schema verification suite.index.html: Interactive Qloo TasteGraph Concierge web application.
# 1. Run the 10-test unit & Qloo API v2 verification suite
python test_suite.py
# 2. Run the 50-persona benchmark & generate visual charts
python evaluate.py
# 3. Inspect MCP Server tool schemas
python qloo_mcp_server.py
Built With
- html5
- javascript
- model-context-protocol
- numpy
- python
- qloo-api
Log in or sign up for Devpost to join the conversation.