Skip to content

Add LLM banking assistant sample#140

Open
mxsisa wants to merge 2 commits into
getdozer:mainfrom
mxsisa:feat/llm-banking-assistant-sample
Open

Add LLM banking assistant sample#140
mxsisa wants to merge 2 commits into
getdozer:mainfrom
mxsisa:feat/llm-banking-assistant-sample

Conversation

@mxsisa
Copy link
Copy Markdown

@mxsisa mxsisa commented May 10, 2026

Sample: Dozer + LLM + Vector database + LangChain banking assistant
This PR adds a runnable sample to getdozer/dozer-samples for the hyper-personalized chatbot use case described in the Dozer blog post about LLMs, vector databases, and LangChain.

What’s included

  • A new sample at usecases/llm-banking-assistant

  • dozer-config.yaml sourcing multiple banking datasets from local CSV files

  • A LangChain app that:
    fetches customer context from Dozer REST APIs
    retrieves credit card knowledge from a Chroma vector database
    sends both into an LLM for personalized recommendations

  • A reviewer-friendly --dry-run mode that prints the assembled context without requiring an API key

Datasets included:

  • customers.csv
  • customer_products.csv
  • spending.csv
  • transactions.csv
  • credit_cards.csv

Dozer views
The sample uses Dozer SQL to build:

  • eligible_cards
    joins customers to cards using annual_income >= min_income

  • spending_summary
    aggregates spend per category

  • transaction_summary
    aggregates transactions per merchant category

Why this addresses the issue:
Issue #1690 asks for a complete working sample based on the blog post’s banking chatbot idea, with:

  • multiple datasets such as customer profiles and transactions
  • Dozer APIs integrated with LangChain
  • a vector database used for product knowledge retrieval
  • a credit-card recommendation scenario
    This sample implements exactly that shape while keeping the setup lightweight for local review.

Implementation notes:

  • Chroma is used as the vector database to keep the example easy to run locally.
  • The Python app supports --dry-run so reviewers can inspect the assembled Dozer context without needing an OpenAI API key.
  • The app lazy-loads optional dependencies so missing packages fail with clear setup guidance instead of import-time crashes.

Files added:

  • usecases/llm-banking-assistant/README.md
  • usecases/llm-banking-assistant/dozer-config.yaml
  • usecases/llm-banking-assistant/requirements.txt
  • usecases/llm-banking-assistant/app/chatbot.py
  • usecases/llm-banking-assistant/data/*

Docs update:

  • Added the new sample to the root dozer-samples README.

Limitations
I could not run a full end-to-end smoke test in this environment because dozer is not installed locally here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant