A RAG-powered Q&A assistant grounded in the Kalder Personalization Hub corpus — a synthetic nine-document framework describing a B2B buying group personalization system for a fictional enterprise platform. Created for portfolio purposes: all company names, team members, and business data are fictional.
Ask a question and get an answer grounded exclusively in the Kalder corpus, with a source citation for every claim. If the corpus doesn't cover something, the assistant says so explicitly rather than guessing.
- Streamlit for the interface
- Pinecone for vector storage
- OpenAI
text-embedding-3-smallfor embeddings - Claude
claude-sonnet-4-6for answer generation
- Install dependencies:
pip install -r requirements.txt - Add your API keys to
.streamlit/secrets.toml:ANTHROPIC_API_KEY = "..." OPENAI_API_KEY = "..." PINECONE_API_KEY = "..." - Run the app:
streamlit run knowledge_assistant.py - In the sidebar, click Rebuild Index to ingest the ten Kalder corpus files
(nine markdown documents plus the data model) into the
pm-knowledgePinecone index. This flushes any existing vectors first.
- Ask — ask a question grounded in the Kalder corpus and get a cited answer with retrieved sources, token usage, and estimated cost.
- Ingest Log — see what's currently indexed: chunk count and last-ingested timestamp per document.
- Eval — run an 8-question golden-set smoke test across all nine corpus documents to catch retrieval or index regressions.
The Kalder Personalization Hub corpus is a synthetic nine-document framework describing a B2B buying group personalization system for a fictional enterprise platform. It covers role architecture, signal definition, audience segmentation, content modeling, decisioning rules, journey convergence, measurement, operations, and privacy. It was built for portfolio purposes — there is no real company called Kalder.