DEV Community

tiramisu-framework
tiramisu-framework

Posted on

Building Tiramisu: An Open-Source Multi-Expert RAG Framework for Marketing Consultancy

TL;DR

I just published Tiramisu Framework — an open-source Python framework that provides AI-powered marketing consultancy by synthesizing insights from three complementary perspectives using RAG (Retrieval-Augmented Generation).
pip install tiramisu-framework
🔗 GitHub
🔗 PyPI
📧 frameworktiramisu@gmail.com
The Problem

Traditional marketing consultancy is:
• Expensive ($10k–50k+ per engagement)
• Slow (weeks to months)
• Not scalable (limited expert availability)
• Single-perspective (one consultant = one viewpoint)

Businesses need strategic guidance now, not weeks from now.

The Solution: Multi-Perspective RAG

What if you could get marketing analysis from three complementary perspectives — strategic fundamentals, digital tactics, and transformation strategy — instantly?
That’s what Tiramisu Framework does.

The Three Perspectives
1. Strategic Marketing Fundamentals → positioning, competitive analysis, core principles
2. Digital Marketing & Social Media → modern tactics, content strategy, engagement
3. Digital Transformation & Innovation → tech integration, business model innovation

Architecture
User Query

Query Expansion (synonyms, related terms)

FAISS Vector Search (semantic retrieval)

Context Assembly (relevant chunks from 3 perspectives)

GPT-4 Synthesis (structured analysis)

Parsed Response (Roots → Trunk → Branches)
Tech Stack

Core: Python 3.11+, FastAPI, LangChain, FAISS (Meta AI), OpenAI GPT-4
Features: CLI (tiramisu init, build-index, run), REST API + conversation management, SQLite, Pydantic schemas

Code Walkthrough

RAG Initialization
from tiramisu import TiramisuRAG

rag = TiramisuRAG(
faiss_index_path="data/faiss_index",
openai_api_key="your-key"
)
from tiramisu import TiramisuRAG

rag = TiramisuRAG(
faiss_index_path="data/faiss_index",
openai_api_key="your-key"
)
Simple Analysis
query = """
B2B SaaS startup, $50k/month marketing budget.
Need to improve inbound lead generation.
"""
result = rag.analyze(query)
print(result)
Conversational Mode
from tiramisu.core import ConversationManager

manager = ConversationManager()
conv_id = manager.create_conversation(title="Marketing Strategy Discussion")
response = manager.add_message(conversation_id=conv_id, user_message="How do I position against competitors?")
history = manager.get_conversation_history(conv_id)
The “Three Trees” Methodology

🌱 ROOTS (Foundations)

Deep context, root causes, resources/capabilities.

🌳 TRUNK (Core Strategy)

Positioning, value proposition, competitive differentiation.

🍃 BRANCHES (Tactics)

Action plan, KPIs, timeline.

CLI in Action

Initialize project

tiramisu init my-marketing-ai

Add your own documents

tiramisu add-docs ./marketing-docs/

Build FAISS index

tiramisu build-index

Start API server

tiramisu run

http://127.0.0.1:8000

API Endpoints
POST /analyze
POST /conversations
POST /conversations/{id}/messages
GET /conversations/{id}/history

Why Open Source?

Transparency, credibility, community.
Business model: framework free; paid services for expanded knowledge bases, custom integrations, support, white-label.

Challenges Solved

Query expansion
"improve marketing" →
["enhance marketing","optimize campaigns","increase ROI","boost engagement"]

Multi-perspective synthesis
Retrieve strategic + digital + transformation contexts → synthesize with perspective-aware prompting

Context window management
Smart chunking (800/150) + re-ranking + top-k

Structured output
{ "roots": {...}, "trunk": {...}, "branches": {...},
"perspective_insights": { "strategic": "...", "digital": "...", "transformation": "..." } }

Performance
• Retrieval: <100ms (FAISS)
• Generation: 3–8s (GPT-4)
• Total: <10s per analysis
• Async FastAPI for concurrency

Installation & Quick Test
pip install tiramisu-framework
python -c "from tiramisu import TiramisuRAG; print('✅ Ready')"
tiramisu init demo && cd demo && tiramisu run

Real-World Example (simplified)

Input
B2B SaaS, low lead quality, $30k/month budget

Output
🌱 ROOTS — misaligned targeting; unclear value prop
🌳 TRUNK — ABM with ICP refinement + personalized nurture
🍃 BRANCHES — 8-week plan; KPIs: Lead→SQL, CAC, velocity

What’s Next

v1.1: more perspective domains, dashboard, multi-language, CRM integrations
v2.0: multi-agent collab, predictive analytics, A/B testing

Lessons Learned

RAG ≠ only vector search • Structured prompts win • Synthesis > concatenation • Conversation state is hard • Good CLI matters • Open source builds trust

Try It Now
🔗 GitHub
🔗 PyPI
📧 frameworktiramisu@gmail.com
Contributing

PRs welcome! Areas: domain curation, React/Next dashboard, tests/CI, docs, alt embeddings.

Top comments (0)