adhit-r / adhit-r/holocron

Local LLM-driven entity descriptions for archive gaps

Offen
#15 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
advanced area: ai/ml area: data enhancement
Vorherrschende Sprache
TypeScript
Sterne
0
Forks
1
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

> **Skills:** Transformers.js / WebLLM · prompt engineering · build scripting · QA review
> **Time:** ~10 hours
> **Good for:** ML engineers · NLP folks · lore curators
> **Difficulty:** Advanced

---

## Context

Of our 310 entities, ~120 don't have Wikipedia entries (`entity.long` is
empty). Mostly minor characters, ships, vehicles. The semantic search struggles
on these because there's no narrative for the embedding model to chew on.

## Goal

At build time, run a small local LLM (Phi-3-mini, Gemma-2B, or similar via
Transformers.js / WebLLM) to generate canonical descriptions from the entity's
relations + name + type. Manually verified before merging into kb.json.

## Where to start

- New `scripts/build-llm-descriptions.ts` — pure Node script that:
- Loads kb.json
- For each entity with empty `long`, builds a structured prompt from
`name + type + relations + short`
- Calls a local LLM (no external API)
- Caches output to `data/.cache/llm/.json` for review
- A small UI in CLI to approve/reject each generated description before merging
- Re-run `build:embeddings` after merge

## Acceptance criteria

- 80%+ of empty `long` fields populated with plausible descriptions
- Every generated description manually reviewed (one-shot pass is fine)
- No hallucinated facts; if the LLM doesn't have enough signal, leave the
field empty
- Local-only, no API keys, no network calls beyond model download

## Notes

- Model size budget: ≤2 GB on disk, ≤4 GB RAM
- Generation budget: ≤2s per entity on CPU (so ~4 minutes total)

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.