@no_stp_on_snek: 我打造了一个口袋版查尔斯·司布真。向讲道王子请教,或把你的讲章草稿交给他,让他评分…
摘要
一位开发者打造了一个口袋版查尔斯·司布真AI助手,完全离线运行在微调后的Gemma模型上。它可以用司布真的口吻回答神学问题、准备讲章,并对讲章草稿进行评分。
查看缓存全文
缓存时间: 2026/06/15 21:07
我造了一个便携版的查尔斯·司布真(Charles Spurgeon)。
向这位“王子般的布道者”求问建议,或把你的讲道稿交给他批改(他会温柔地指出十字架在何处失落了)。
这是我为 Build Small 黑客松做的两个“小构建”中的第一个。
完全离线运行,基于一个小型微调模型。代码与运作方式:https://github.com/TheTom/pastors-pocket-spurgeon…
@huggingface @Gradio @cohere #BuildSmall
TheTom/pastors-pocket-spurgeon
来源:https://github.com/TheTom/pastors-pocket-spurgeon
牧师的便携司布真(Pastor’s Pocket Spurgeon)
一款维多利亚时代研经伙伴,以 查尔斯·哈登·司布真(Charles Haddon Spurgeon)——“王子般的布道者”——的口吻和改革宗(加尔文主义)神学 回答、预备并批改讲道,完全 离线 运行在单块消费级 GPU 上。
为 Build Small 黑客松(https://huggingface.co/build-small-hackathon)而建 (Backyard AI 赛道)。
| 🤖 模型 | thetom-ai/Spurgeon-Gemma-4-12B-v1 (https://huggingface.co/thetom-ai/Spurgeon-Gemma-4-12B-v1)(Q8_0 GGUF) |
| 🚀 在线演示 | Space:build-small-hackathon/pastors-pocket-spurgeon (https://huggingface.co/spaces/build-small-hackathon/pastors-pocket-spurgeon) |
| ⚡ 服务引擎 | TurboQuant llama.cpp 分支(https://github.com/TheTom/llama-cpp-turboquant)(turbo4 KV 压缩) |
| 🎬 演示视频 | 见 Space 页面 |
| 📓 实地笔记 | 如何构建与训练 |
功能
三种模式,均使用司布真口吻及改革宗教义:
-
辅导(Counsel) —— 提出牧养或神学问题,得到牧者般的回答。
-
预备讲道(Sermon Prep) —— 提供经文或主题,获得司布真风格的讲章大纲。
-
批改讲道(Sermon Review) —— 提交讲道稿,司布真先生会批改:包括 摘要、优点、关切、劝勉之语,以及按 刀与镘 量表的评分:
分数 等级 5 锡安的号角 4 精工好木 3 半揩之灯 2 无衣枯骨 1 无雨之云
工作原理
一个轻量级 Gradio 应用与任意兼容 OpenAI 的端点(SPURGEON_ENDPOINT)通信。它使用 BM25 检索司布真本人讲道中的真实引文,附在每条回答旁;若未配置模型端点,则回退到预设回答(因此 UI 始终可演示)。批改讲道功能按固定标题分段构建,评分则根据模型给出的分数确定性推导,保证批评格式始终精确。
本地运行
1. 获取模型(来自 Hugging Face (https://huggingface.co/thetom-ai/Spurgeon-Gemma-4-12B-v1)):
huggingface-cli download thetom-ai/Spurgeon-Gemma-4-12B-v1 \
Spurgeon-Gemma-4-12B-v1-Q8_0.gguf --local-dir ./model
2. 使用 TurboQuant KV 压缩提供服务。 构建 TurboQuant llama.cpp 分支(https://github.com/TheTom/llama-cpp-turboquant),然后:
# q8_0 键 + turbo4 值:TurboQuant 压缩 V 缓存,使长对话能适配受限硬件(相比 fp16 KV,上下文最多提升约 2.5 倍)。
# turbo4 需要 flash attention(-fa on)。
llama-server -m ./model/Spurgeon-Gemma-4-12B-v1-Q8_0.gguf \
-c 131072 -fa on -ctk q8_0 -ctv turbo4 --jinja \
--host 0.0.0.0 --port 8080 --alias spurgeon
(若使用未带分支的标准 llama.cpp,请用 -ctv q8_0——你将失去额外压缩,但其他一切正常。)
3. 运行应用:
pip install -r requirements.txt
export SPURGEON_ENDPOINT=http://127.0.0.1:8080/v1
export SPURGEON_MODEL=spurgeon
python app.py # http://127.0.0.1:7860
可选环境变量:SPURGEON_TOKEN(若端点需要认证,则为 bearer token)。
TurboQuant
TurboQuant (https://github.com/TheTom/llama-cpp-turboquant) 是 llama.cpp 的一个分支,增加了压缩 KV 缓存类型(turbo2/turbo3/turbo4)。turbo4 将 V 缓存压缩至约 4.25 bits/值(比 fp16 小约 3.8 倍);配合 q8_0 键,可在相同 GPU 上容纳 最多约 2.5 倍更长的对话,使 12B 参数的“牧师”模型能在消费级硬件上舒适离线运行。它需要 flash attention,并已针对本模型使用 q8_0 键 + turbo4 值进行了验证。
许可证
- 本仓库中的 代码:Apache 2.0。
- 模型权重(
Spurgeon-Gemma-4-12B-v1):继承基础模型的 Gemma 许可 (https://ai.google.dev/gemma/terms)。 - 用于检索和微调的司布真讲道均为公有领域。
相似文章
打造了一个本地AI助手,因为我一直知道这一天会到来,而昨天让它变得无比真实
一位开发者构建了Bantz,一个完全本地的AI个人助手,运行在Gemma 4b上,具有管家角色,集成了Gmail、日历、网页搜索、系统监控和桌面控制,强调不依赖云基础设施。
@om_patel5: 这家伙构建了一个免费的AI助手,浮动在你的macOS桌面上,完全本地运行,无需API密钥,无需订阅……
一位开发者创建了一个免费、开源的AI助手,浮动在macOS桌面上,通过Ollama使用Gemma和Qwen等模型完全本地运行,无需API密钥或订阅,确保数据隐私和离线能力。
@garrytan: https://x.com/garrytan/status/2053127519872614419
Garry Tan 描述了使用一种名为“Book Mirror”的个人 AI Agent 系统,通过“元元提示”(Meta-Meta-Prompting)技术,将阅读内容与他的生活情境深度融合。他分享了关于构建真正的 AI 系统的见解:应将其视为操作系统,而不仅仅是聊天界面。
@N3sOnline: 使用了 @mattpocockuk 的 /teach 技能,并让它访问一个国际象棋引擎和API来获取我最近的所有对局。现在它……
一位用户演示了如何利用自定义AI技能,结合国际象棋引擎和游戏API来获取近期对局,进行分析,并生成带有交互式视觉和谜题的个性化课程。
打造了一个工具,将Claude(及ChatGPT、Gemini)的回答保存到可搜索的库中——分享出来供参考
Coffer 是一款浏览器扩展,可为Claude、ChatGPT和Gemini等AI聊天机器人的回答添加保存按钮,并将其以格式化的Markdown形式本地存储到可搜索的库中。