Case study
Underwriter's Assistant Chatbot
In plain English
Underwriters ask a claim a question in plain language instead of jumping between tools.
Work that took minutes now completes in under 30 seconds.
Who it is for
- Underwriters who need future-risk facts from a case file without writing queries.
- Claims assessors who need post-issue file facts, not a bind decision.


Problem
Underwriters and claims staff jumped between tools for every question. Keyword search could not join cases, policies, labs, and timelines. Semantic search alone missed “what happened before the application was signed.”
They needed one conversation on a claim that classifies the query, picks cards and keywords, and refuses to invent a missing fact.
Solution
A LangGraph classifies the query, picks a retrieval strategy, and recommends card types and search keywords. Retrieval is hybrid: SQL full-text plus date filters, or SQL in parallel with Milvus, then merged. Incomplete answers loop to targeted retrieval or query refinement instead of hallucinating.
Role prompts cover underwriter, claims assessor, and a general assistant. Completion is Azure OpenAI. This is not a bind engine and does not call the extraction GPU pool.
Outcomes
One natural-language turn covers classification, card routing, keyword search, vectors, and answer validation.
Multi-tool work that once took minutes now completes in under 30 seconds when the cards are ingested.
How it works
Classify, retrieve, validate
What we built
LangGraph nodes
Classify the query
Type, complexity, domain, entities, and a retrieval strategy, not a keyword if-statement.
Hybrid retrieve
SQL full-text and dates, or SQL plus Milvus in parallel. Temporal and keyword queries skip vectors on purpose.
Generate by role
Underwriter, claims assessor, or assistant system prompts.
Validate, then loop
Completeness, evidence, and temporal accuracy. Incomplete answers go to targeted retrieval or query refine.
How it works
The client opens a claim session and asks in plain language. The graph analyzes the query, retrieves from SQL and optionally Milvus, generates with a role prompt, then validates before END.
Chat completion is Azure OpenAI. Extraction’s self-hosted GPU pool is a different product.
Integrations
LangGraph
Classify, retrieve, generate, validate, and loop in one turn.
SQL and Milvus
Keyword and date filters on cards, plus semantic overlap when the query needs it.
Azure OpenAI
Classification, answer, and validation. Chat does not call the local serving URL.
Have a similar challenge?
Start a project