Skip to content

feat(sample): add Dozer + LLM + Vector DB + LangChain banking chatbot sample (#1690) - #148

Open
rish-anu wants to merge 1 commit into
getdozer:mainfrom
rish-anu:feat/dozer-1690-llm-banking-chatbot-1
Open

rish-anu wants to merge 1 commit into
getdozer:mainfrom
rish-anu:feat/dozer-1690-llm-banking-chatbot-1

Conversation

@rish-anu

@rish-anu rish-anu commented Nov 7, 2026

Copy link
Copy Markdown
dozer-1690-demo.mp4

/claim #1690
/claim getdozer/dozer#1690

Fixes getdozer/dozer#1690

Contributor & Payout Details
Contributor: Rish Anu

PayPal: srivikas346@gmail.com

Summary
Adds a complete, reproducible usecases/llm-banking-chatbot sample based on the Dozer LLM Chatbot hyper-personalization article:

Multi-Dataset Dozer Pipeline (dozer-config.yaml & dozer-config.postgres.yaml): Ingests customers.csv, credit_accounts.csv, transactions.csv, and card_products.csv via Dozer LocalStorage (and includes docker-compose.yml + sql/init_postgres.sql for PostgreSQL logical CDC).

Streaming SQL Unified Customer Profile: Joins customer demographics, credit account balances/utilization, and multi-category transaction aggregations (travel, dining, groceries, fuel, online_shopping, utilities) into /customer_profiles and /category_spending REST (:8080) and gRPC (:50051) endpoints.

Vector Database + LangChain Integration (app/vector_store.py, app/dozer_client.py, app/banking_chatbot.py): Performs semantic retrieval over credit card brochures, checks credit score and income eligibility against the live Dozer profile, and synthesizes hyper-personalized recommendations via LangChain (ChatOpenAI when OPENAI_API_KEY is set, plus deterministic --offline-fixture mode).

Real-Time CDC Transaction Shift (--simulate-realtime-tx): Demonstrates how streaming new international travel transactions into Dozer immediately updates the unified customer profile and dynamically flips the top recommended credit card.

Verification

python3 -m unittest discover -s usecases/llm-banking-chatbot/tests -v
python3 usecases/llm-banking-chatbot/app/banking_chatbot.py --offline-fixture --customer C001 --question "Which card is best for travel and dining rewards?"
python3 usecases/llm-banking-chatbot/app/banking_chatbot.py --offline-fixture --customer C003 --simulate-realtime-tx

Signed-off-by: Rish Anu <351947886+rish-anu@users.noreply.github.com>
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.

Sample: Dozer + LLM + Vector database + Langchain sample

1 participant