GameTheory commited on
Commit
eb2f706
·
verified ·
1 Parent(s): afb996a

Delete SUBMISSION.md

Browse files
Files changed (1) hide show
  1. SUBMISSION.md +0 -123
SUBMISSION.md DELETED
@@ -1,123 +0,0 @@
1
- # Worcestershire Libraries - Live Assistant · Submission Pack
2
-
3
- > **Build Small Hackathon · Track: Backyard AI** (with a Thousand Token Wood crossover)
4
- > One‑line: *The library that "doesn't shout about what it offers" - given a voice that knows everything, built from public data, running on a small model.*
5
-
6
- ---
7
-
8
- ## 1. The fable (open the pitch with this)
9
-
10
- > Jack is a library resources manager in Worcester. His recurring frustration:
11
- > **"the library doesn't shout loudly enough about everything it offers."**
12
- >
13
- > Everything a resident needs to know *is* public - but it's scattered across 200+
14
- > council pages, a 1990s‑style catalogue, PDF van timetables and buried FOI logs.
15
- > So we gave the library one calm, conversational voice that mines all of it **live**,
16
- > tells you exactly **what you need to sign up**, and - the DCMS‑evidenced part -
17
- > nudges you toward the services you never knew existed. On a ≤32B model. On a laptop.
18
-
19
- That's the whole story: **civic data democratisation, small and local.**
20
-
21
- ## 2. What it is (elevator)
22
-
23
- A Gradio app where you ask in plain English and a small‑model agent answers from
24
- **live official data + a local knowledge graph**:
25
-
26
- - Find a book / eBook / audiobook (live **SirsiDynix catalogue**)
27
- - Branch **"open now?"**, hours, toilets, parking, café (live council pages)
28
- - **Mobile library** times for any of **154 villages**
29
- - **What's on** this week
30
- - **Free online** - newspapers (PressReader), eBooks (BorrowBox), family history (Ancestry) - with *exactly how to access each*
31
- - **Print Your Way** from your phone
32
- - **Multi‑hop graph** questions: *"a late‑opening library with a café and meeting rooms"* → Malvern
33
-
34
- Every answer carries **what you need to sign up**, a **£‑saved value receipt**, one
35
- **"did you know?" nudge**, a live **source link**, and an open **agent trace**.
36
-
37
- ## 3. Why we win (competitive read)
38
-
39
- The field is mostly *either* emotional *or* technical *or* genuinely‑used - rarely all
40
- three, and **none mine live, verifiable real‑world data**. We hit every judging criterion:
41
-
42
- | Judging criterion | Our evidence |
43
- |---|---|
44
- | Problem is specific & real | Jack's own words; a real council with real underused services |
45
- | The person actually used it | Named beneficiary + real patrons; demo on his branch |
46
- | Honest small‑model fit | The graph does the reasoning; the 7–32B model just routes + phrases |
47
- | Polish | Branded UI, streaming, chips, source‑cited every time |
48
- | (depth nobody else has) | Real **GraphRAG** + live multi‑source mining, not one prompt |
49
-
50
- Borrowed insight from the field: shareable output wins Community Choice (Lolaby/whimsy
51
- entries) → our **value‑receipt / hot‑take share‑card** is our shareable hook; strong
52
- Backyard entries **lead with a face + a quote** → the demo opens on Jack.
53
-
54
- ## 4. Bonus badges we're claiming
55
-
56
- | Badge | Status | Evidence |
57
- |---|---|---|
58
- | **Best Agent** | strong | 10 tools, LLM router + keyword fallback, graph search, visible traces |
59
- | **Open Trace** | | every turn → `traces.jsonl` (shareable schema); one‑click push to Hub |
60
- | **Field Notes** | | `IDEAS.md`, this pack, + a short build blog |
61
- | **Off‑Brand** | ◑ partial | custom Worcestershire‑teal UI (stretch: `gr.Server`) |
62
- | **Off the Grid** / **Llama Champion** | ◑ optional | runs fully local via llama.cpp (documented); Space default uses HF Inference |
63
- | **Well‑Tuned** | future | a small fine‑tune is the next badge to grab |
64
- | Specials | Best Demo · Judges' Wildcard (data democratisation) · Community Choice |
65
-
66
- ## 5. Demo video script (~75s)
67
-
68
- | t | Shot | Voiceover |
69
- |---|---|---|
70
- | 0–8s | Jack on camera (or his quote on screen) | "Jack runs library resources in Worcester. He says the library never shouts about what it offers." |
71
- | 8–18s | Type *"Is Malvern library open now?"* → /+ facilities | "So we built it a voice. It checks the council site live - open now, toilets, parking." |
72
- | 18–30s | *"Can I read newspapers for free?"* → PressReader steps + titles | "It knows what's free online - and exactly how to sign up." |
73
- | 30–45s | *"A late‑opening library with a café and meeting rooms"* → Malvern | "Ask by *features* - that's a knowledge‑graph traversal a chatbot can't do." |
74
- | 45–58s | Show the £‑saved receipt + a "did you know?" nudge | "Every answer shows what you saved, and surfaces a service you didn't know existed - straight from the DCMS playbook on re‑engaging non‑users." |
75
- | 58–70s | Expand the agent trace | "And it shows its working - open traces, all from public data, on a small model." |
76
- | 70–75s | Logo + Space URL | "Your library. Out loud." |
77
-
78
- ## 6. Social post (pick one)
79
-
80
- **X / Bluesky:**
81
- > Libraries are full of free stuff nobody knows about. So we gave Worcestershire's a
82
- > voice: ask it anything, it mines the council site + catalogue **live**, tells you
83
- > exactly how to sign up, and shows what you just saved - all on a ≤32B model.
84
- > #BuildSmall [link]
85
-
86
- **LinkedIn:**
87
- > For the Build Small Hackathon we built a "Backyard AI" for a friend who manages
88
- > library resources in Worcester. His problem: the library doesn't shout about
89
- > everything it offers. Our answer: a small‑model agent over a live knowledge graph
90
- > of the *whole* service - books, mobile van, events, free newspapers, "what you need
91
- > to sign up" - grounded in DCMS behaviour‑change research. Public data, public good,
92
- > running on a laptop. [link]
93
-
94
- ## 7. Tech summary (for the write‑up / Q&A)
95
-
96
- ```
97
- question → route (LLM JSON + keyword fallback)
98
- → 12 live/KB tools ── SirsiDynix catalogue (Atom) down to COPY level
99
- → ── all 57 Hive pages, exact offer (provenance‑tagged)
100
- → GraphRAG search ── council pages (87 services / 23 branches / 17 resources)
101
- → synthesise (≤32B) library_graph.json: 349 nodes · 502 edges · 26 Hive services
102
- → answer + eligibility + £‑receipt + EAST nudge + source + open trace
103
- ```
104
-
105
- - **Inspiration:** microsoft/graphrag, microsoft/markitdown, IBM Docling.
106
- - **Evidence spine:** DCMS/Ipsos *What works to engage non‑users* (COM‑B) + BIT **EAST**.
107
- - **Honest constraint fit:** small model + big graph; **no‑LLM fallback** so the demo never breaks.
108
- - **Sources:** worcestershire.gov.uk + the live catalogue (checked at question time), plus every page of thehiveworcester.org crawled with per‑fact provenance - council wins on conflicts.
109
-
110
- ## 8. Go‑live checklist (for Jack, Friday AM)
111
-
112
- - [ ] Create Space `build-small-hackathon/wpl-discovery` (Gradio, public).
113
- - [ ] Push: `app.py`, `library_sources.py`, `graph_rag.py`, `trace.py`,
114
- `library_kb.json`, `hive_kb.json`, `library_graph.json`, `requirements.txt`, `README.md`, `LICENSE`.
115
- *(build_kb.py / graph_build.py are build‑time only - optional to include.)*
116
- - [ ] Add Space secret **`HF_TOKEN`** (read scope) → enables the model. *Without it the
117
- app still runs in no‑LLM mode, so a missing token won't block Jack's test.*
118
- - [ ] Optional: set `MODEL_ID=Qwen/Qwen2.5-32B-Instruct` to run at the cap.
119
- - [ ] Smoke‑test the 6 example chips; confirm a live catalogue hit + a graph multi‑hop.
120
- - [ ] Send Jack the link + 3 starter questions; capture his reaction for the demo video.
121
-
122
- **Refresh data any time:** `python build_kb.py && python graph_build.py` (re‑crawls the
123
- council site and rebuilds the graph - keeps everything current).