← Lesson
Why RAG
Joeven
Run
Reset
Python loads on first run
WEIGHTS = {"who wrote hamlet": "Shakespeare"} CORPUS = { "runbook.md": "Runner OOM: raise memory limit on the worker, then replay the DLQ.", "billing.md": "Refunds for INV-* take 5-7 days. Never refund in cash.", } def closed_book(q): for k, v in WEIGHTS.items(): if k in q.lower(): return v return "I don't know (or I might invent a runbook)." def retrieve(q, k=1): words = set(q.lower().split()) scored = [] for name, text in CORPUS.items(): overlap = len(words & set(text.lower().split())) scored.append((overlap, name, text)) scored.sort(reverse=True) out = [] for score, name, text in scored[:k]: if score > 0: out.append((name, text)) return out def rag_answer(q): hits = retrieve(q) if not hits: return closed_book(q) name, text = hits[0] return text + " [source: " + name + "]" print("closed:", closed_book("Runner OOM what do I do")) print("rag: ", rag_answer("Runner OOM what do I do")) print("fact: ", rag_answer("who wrote Hamlet"))
Run to execute this in your browser. Nothing is sent to a server.