The Lantern:以本機開放式 AI 延續家庭故事
The Lantern
The Lantern 是一款本機紀念日誌,使用 Qwen2.5-0.5B-Instruct 將選取的家庭回憶編織成可編輯的追思文字,並保留原始回憶供比較和核對。模型以 Q8_0 GGUF 權重透過 llama.cpp 在 CPU 上本機運行,無需 API 帳戶或按次付費;用戶可審閲內容並匯出 Markdown。測試發現模型曾遺漏來源標籤及改動細節,因此匯出前須由人手審閲。
The Lantern: Keeping Family Stories Alive with Local, Open AI
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine.
What I Built
The Lantern is a local remembrance journal that turns small memories into a tribute.
Save a story about someone: a Sunday recipe, a favorite song, the flowers they grew. Select a few memories, and an open-weight model helps weave them into a short remembrance. You can compare the draft with the original memories, edit it, and export everything together as Markdown.
I interpreted “Ghost in the Machine” through the stories we carry forward. Inspired by the invitation to honor the past, I built a quiet space for remembering, with deep green, warm amber, and the feeling of leaving a little light on.
The person keeping the memories always has the final word.
Demo
[Insert your demo video link here.]
The app includes a separate fictional demo vault featuring Elena: orange cake on Sundays, marigolds in blue pots, and boleros on a silver radio.
The walkthrough is simple:
- Select the saved memories.
- Click Weave selected memories.
- Compare the generated tribute with its sources.
- Edit the wording and correct any mistakes.
- Export the reviewed tribute. The fictional examples make it possible to demonstrate the app without sharing real family stories. Code [Insert your public GitHub repository link here.]
The application code is MIT licensed. It includes Python source, Windows launchers, a model setup script, tests, and documentation.
Personal memory databases are excluded from version control.
How I Built It
The AI core is Qwen2.5-0.5B-Instruct, using Q8_0 GGUF weights and running locally on CPU through llama.cpp.
Python and Tk provide the desktop interface. SQLite stores the memories. The application uses Python’s standard library, so there are no pip packages to install.
The workflow follows one path:
Saved memories → selected sources → local model
→ editable tribute → human review → Markdown export
Export preserves the exact source memories used for that draft, even if the saved memories change later.
Testing also revealed a limitation worth keeping visible. The small model omitted requested source labels and changed a detail in one generated tribute. Instructions alone did not prevent that mistake. That is why the interface keeps the sources available and asks for review before export.
Real local inference completed startup and generation in roughly four seconds on the development machine. Six automated tests passed for storage, validation, and source-preserving exports.
Why Does Open Innovation Matter?
For The Lantern, control over inference is part of the product.
After downloading the runtime and weights, generation runs locally without an API account or per-request billing. The application sends selected memories to a model process on the same computer.
Open weights also make the model replaceable. A configuration file can point the app to another compatible local instruct model. The prompt is available to inspect and change.
The stories remain portable, too. Memories live in SQLite, and tributes export as ordinary Markdown. Reading an exported remembrance does not depend on a subscription or the continued existence of this app.
There are tradeoffs: local hardware matters, small models make mistakes, and the database is plaintext rather than encrypted. Open innovation gives us control over those decisions and room to improve them.
For a tool handling personal stories, that control matters.
來源:DEV Community · dev.to