Teams

ContextOverflow

Recommendation Agent
4 updates
RK
Roman Karanczuk Final
May 11, 09:57 PM
Introducing RecAI — Supplier Recommendations That Show Their Work TLDR An intelligent supplier recommender that finds suppliers your buyers would otherwise miss — from spend history and from the open web — and explains, in plain language, why each one was picked. It ships alongside the existing recommender, not on top of it, so the lift is visible side-by-side, not asserted in a deck. What is it? RecAI Engine — a new supplier-recommendation service that returns three side-by-side lists in a single response: the untouched ms-recsys baseline, a "golden" list grounded in Fairmarkit's own award and response history, and a list of net-new suppliers discovered live from the open web. Each supplier row carries a structured explanation block — status, evidence by source, missing evidence, score breakdown, risks, and what changed vs the baseline — so the UI shows buyers why a supplier was recommended. To make this visible to actual buyers, RecAI Engine also ships with a companion UI panel that lives inside the main Fairmarkit product — one click opens it next to the suppliers list, no tab-switching, no separate tool. Same data, rendered in the place buyers already work. What can it do? Find suppliers the legacy retriever misses Three retrievers run in parallel — exact match on identifiers, lexical search on descriptions, semantic search on past transactions — and the engine decides how much to lean on each based on how specific the buyer's request is. A vague request leans semantic; a specific part number leans exact. Discover suppliers that aren't in Fairmarkit at all Live web search, page scraping, and PDF extraction surface real procurement candidates the buyer would otherwise never see. Every one of them is identity-verified before it's shown and tagged as "needs FM validation," so a web-only supplier can never silently outrank a verified internal one. Explain every recommendation Each supplier comes with a plain-English headline, supporting evidence broken out by source (your history, supplier profile, public web), missing evidence, risks, and a transparent score breakdown. Buyers can ask "why this one?" and the answer is sitting on the row, with receipts. Prove the lift, on real cases A side-by-side view shows what the legacy retriever found, what the new engine surfaced, and which net-new suppliers came from the open web. Built-in eval reports recall@K, precision@K, NDCG and recall lift against a golden dataset so the improvement is measurable, not anecdotal. Why it matters A recommendation is only as credible as its weakest visible output — a 90%-NDCG ranker with a wrong email or an unverified competitor at #1 is worse than a calmer ranker that ships contacts a buyer can actually call. RecAI was built around that idea: find more, verify before you show, rank fairly, and always explain. AI does the messy parts (extracting from scraped pages, drafting explanations, classifying feedback); a deterministic, calibratable scorer makes the final call. The buyer sees an answer they can act on, with the receipts attached. Built by the ContextOverflow team for the Recommendation Agent competition.
🎥 Watch Loom
RK
Roman Karanczuk

Repositories: 1. Main RecAI en: ms-recsys https://gitlab.fmdev.io/fairmarkit/ms-recsys/-/merge_requests/71 2. Minor but dependency: event https://gitlab.fmdev.io/fairmarkit/event/-/merge_requests/698/diffs 3. UI Panel: frontend https://gitlab.fmdev.io/fairmarkit/frontend/-/merge_requests/3941

May 11, 09:58 PM
RK
Roman Karanczuk

The jupyter notebook used during demo: https://gitlab.fmdev.io/fairmarkit/ms-recsys/-/blob/context-overflow/src/notebooks/recai_demo_final.ipynb?ref_type=heads

May 11, 10:03 PM
?
RK
Roman Karanczuk
May 8, 07:08 PM
After a great discussion with Andrew and Victor, we realized it’s quite challenging to clearly demonstrate the impact of our work using only numeric metrics within JSON fields. So now we’re shifting focus toward adapting this into a more intuitive UI representation.
VK
Viktar Kushch
sticker
May 8, 10:17 PM
EA
Evgeni Alisyonok
sticker
May 9, 12:48 PM
?
RK
Roman Karanczuk
May 8, 11:17 AM
Good thing the limit was on tokens used, not on the number of lines changed in the code =)
AT
Andrey Timonin
sticker
May 8, 01:06 PM
?
RK
Roman Karanczuk
May 7, 03:33 PM
Small teaser: our team already has a strong direction, and it’s looking promising.
VK
Viktar Kushch
sticker
May 7, 06:43 PM
AT
Andrey Timonin
sticker
May 7, 07:08 PM
?