Technical Support Use-Case
This tutorial uses a complete sample application — the curiosity-ai/technical-support repository — to walk through every layer of Curiosity Workspace on a realistic dataset: devices, parts, manufacturers, support cases, and conversation messages.
If you want a faster, framework-only tour, do Build your first enterprise AI app first; come back here when you want to see what a production-shaped app looks like end to end.
Prerequisites
- Complete the developer prerequisites.
- Clone the sample repo:
git clone https://github.com/curiosity-ai/technical-support. - A running local workspace from the Quickstart.
- An LLM/embedding provider configured under Settings → AI Settings.
Estimated time: 60–90 minutes the first time through.
What you'll learn (by example)
By the end, you will have:
- a workspace with a well-defined graph schema
- a connector that maps JSON records into nodes/edges
- search configured (text + optional embeddings)
- one or more custom endpoints implementing domain logic (similarity, search wrappers, chat orchestration)
- a custom interface tailored to your users
Step 1: Define the domain model
- Identify 3–7 core entity types (nodes).
- Identify the relationships users navigate (edges).
- Choose stable keys for each node type.
See Data Integration → Schema Design.
Step 2: Implement ingestion
- Choose ingestion approach (connector vs configured integration).
- Build the mapping into nodes/edges.
- Ensure idempotency (reruns do not duplicate).
See Data Integration → Connectors and Data Integration → Ingestion Pipelines.
Step 3: Validate graph correctness
Validate:
- node counts by type
- edge completeness
- correct keys (no duplicates)
See Reference → Graph Query Language.
Step 4: Configure text search and facets
- Choose searchable fields (titles, summaries, identifiers).
- Configure facets that match user refinement behavior.
- Tune ranking via boosts and scoping.
See Search → Text Search and Search → Ranking Tuning.
Step 5: Add embeddings and hybrid retrieval (optional)
- Enable embeddings on long, descriptive fields.
- Enable chunking for long text.
- Use hybrid search for balanced precision/recall.
See Search → Vector Search and Search → Hybrid Search.
Step 6: Add endpoints for domain logic
Create endpoints for:
- aggregates and analytics
- similarity and recommendations
- AI orchestration (retrieve → generate → store)
See APIs & Extensibility → Custom Endpoints.
Step 7: Build a user experience (optional)
Start with the default UI, then add a custom interface if you need domain-specific workflows:
- entity-centric pages (hub entities)
- curated search experiences (type-scoped + facets)
- workflow views (triage, investigation, review)
Next steps
- Operationalize the environment: Administration → Deployment and Monitoring
- Apply design patterns: Best Practices → Graph Design Patterns