知识索引:使用 Ollama 本地 LLM 模型角色扮演

前言 关于拿 LLM 做角色扮演这件事情,自从 OpenAI 发布 ChatGPT 时就已经发展起来,在近几年的硬件升级和模型升级下,已经形成了一个较为完善的生态。 相关的资料散落在各个站点,普通人想要了解,需要花费很大的功夫。 正好最近在逛 Reddit,收集到一些知识索引,本文就尝试做“索引的索引” 客户端 唯一推荐的客户端: SillyTavern , 仓库链接 安装方法: git clone https://github.com/SillyTavern/SillyTavern -b release cd SillyTavern && npm i && npm run start 本地模型 本地模型通常在性能上比不上云端模型,但是如果考虑到隐私性和费用,并且你也有一些合适的硬件,本地模型也不失为一种选择。 ...

三月 9, 2025 · 2 分钟 · 512 字 · Jiale Liu

从潜水到高玩:优化你的 Hacker News 使用习惯

基础 Hacker News(简称 HN)是一个由 Y Combinator 创建并运营的社交新闻网站,主要面向科技爱好者、程序员、创业者和对技术、创新感兴趣的人群。它于 2007 年由 Paul Graham 推出,旨在提供一个分享和讨论高质量内容的平台。 我想这是大多数情况下的使用方式是直接访问 https://news.ycombinator.com 点开即可看到最新的热门文章。主要板块: Front Page(首页):展示当前最热门的内容。 New:最新提交的帖子,按时间排序。 Past:历史帖子归档。 Comments:单独查看近期评论。 Ask HN:用户提问的专区,类似技术或职业建议的论坛。 ...

三月 9, 2025 · 3 分钟 · 1137 字 · Jiale Liu

告别重复输出!QwQ-32B 故障排查与修复实战指南

问题 QwQ-32B 是一个性能比肩 DeepSeek-R1 的推理模型, 但是很多人发现模型会出现无限生成、不停重复输出的情况。 等了两天后发现已经有解决方案了:Tutorial: How to Run QwQ-32B effectively | Unsloth Documentation 本文是自己的体验记录 推荐参数设置 Temperature = 0.6 TopP = 0.95 TopK = 20 ~ 40 Min_P of 0.02 Repetition Penalty of 1.0 使用对话模板 <|im_start|>user\nCreate a Flappy Bird game in Python.<|im_end|>\n<|im_start|>assistant\n<think>\n Ollama 我只有在 MacBook Pro 上才能跑起来这个模型,因此只记录了 Ollama 的使用。 llama.cpp的用法 ollama 支持将模型设置打包到 params 文件里,所以 MacBook 用户直接执行以下命令就行了 ollama run hf.co/unsloth/QwQ-32B-GGUF:Q4_K_M 或者用其他的量化版本 unsloth/QwQ-32B-GGUF at main ollama run hf.co/unsloth/QwQ-32B-GGUF:Q5_K_M 效果和总结 我尝试了 unslosh 的 Flappy Bird 游戏的例子: Create a Flappy Bird game in Python. You must include these things: - You must use pygame. - The background color should be randomly chosen and is a light shade. Start with a light blue color. - Pressing SPACE multiple times will accelerate the bird. - The bird's shape should be randomly chosen as a square, circle or triangle. The color should be randomly chosen as a dark color. - Place on the bottom some land colored as dark brown or yellow chosen randomly. - Make a score shown on the top right side. Increment if you pass pipes and don't hit them. - Make randomly spaced pipes with enough space. Color them randomly as dark green or light brown or a dark gray shade. - When you lose, show the best score. Make the text inside the screen. Pressing q or Esc will quit the game. Restarting is pressing SPACE again. - The final game should be inside a markdown section in Python. Check your code for errors and fix them before the final markdown section. 对话客户端用的是 chatbox,输出结果由于太长就不放出来了。可以直接看 unslosh 的分享 ...

三月 8, 2025 · 2 分钟 · 520 字 · Jiale Liu

决策问题:30 岁程序员是否在农村自建房

背景 程序员喜欢解决问题,追求最优解。然而问题不仅仅存在于代码的世界,现实生活中的问题更多,而且更复杂难以抉择。 决策问题 这一分类就是为此而设。希望总结出不同条件下,相对最合适的选项。 本次问题是跟多个 AI 工具进行多轮对话后给出的最终评分表,对话过程中有很多有意思的结论,基本涵盖了本问题相关联的所有话题。 链接我放在文章末尾,有兴趣可以了解一下。 1. 明确问题和目标 问题描述:30 岁程序员是否应该在农村自建房? 背景信息:手头资金 30 万,可借 10 万,无房有车,父母养老需求,职业稳定性,情感价值,资金机会成本,未来经济形势。 主要目标:做出是否在农村自建房的决策。 次要目标:最大化经济回报,满足父母养老需求,保持职业发展的灵活性,考虑情感价值和陪伴价值。 2. 收集信息 政策环境:当地宅基地政策支持自建房,需符合规划和面积要求。 经济数据:自建房成本约 40 万,可能的经济回报包括房产增值和租金收入。 家庭需求:父母需要宽敞舒适的居住环境,希望与子女同住。 职业发展:当前职业稳定,可以远程工作。 情感价值:重视家族传承和文化认同。 陪伴价值:希望增加与父母的陪伴时间。 资金机会成本:将 40 万用于自建房,而非投资其他渠道的潜在收益。 未来经济形势:房地产市场稳定,政策支持农村自建房。 其他因素:子女教育、社区环境、个人生活习惯、法律风险。 3. 确定决策因素 权重:总权重应该为 1,单个因素在 0 到 1 之间,代表单个因素在整体决策里的占比。 ...

二月 20, 2025 · 4 分钟 · 1586 字 · Jiale Liu

在 Next.js 中 添加 Google Analytics

挺久没用 Google 分析对它的操作流程都有点陌生了,这里记录一下在 GA 新建站点和添加统计脚本的过程。 新建站点并拿到统计 ID。 打开:https://analytics.google.com/ 我已经有账号了,所以直接 管理 -> 创建-> 创建媒体资源,一路点下去就能找到统计代码了 具体操作流程可以看文档:https://support.google.com/analytics/answer/9304153?hl=zh-Hans 最终拿到一串统计代码: <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-0xxxxxxxx"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-0xxxxxxxx'); </script> 其中 G-0xxxxxxxx 这一串就是该网站的统计 ID,记录下来后面要用。 首先确保安装了 @next/third-parties 这个包 npm i @next/third-parties 项目结构如下: ➜ tree ./src -L 2 ./src ├── app │ ├── favicon.ico │ ├── globals.css │ ├── layout.tsx │ ├── modules │ └── page.tsx ├── components │ └── ui └── lib └── utils.ts 如果是每个页面都需要添加统计,则修改 src/app/layout.tsx ,将之前记下来的 gaId 填进去 ...

二月 17, 2025 · 2 分钟 · 518 字 · Jiale Liu

一起来将每日所学记录到 TIL 上

降低创作门槛 TIL 是 Today I Learned 的缩写。灵感来自: My approach to running a link blog 其他典型的链接分享网站: https://news.ycombinator.com/ 采用用户投稿的形式发布新闻、新产品、文章 https://www.solidot.org/ 分享新闻 https://www.owenyoung.com/categories/journal/ 沉浸式翻译作者的链接博客 相较于撰写长篇大论,碎片化短篇写作更容易实践。 持续输出博客内容具有价值,但长文创作往往存在难度。 若能将单篇体量适当缩减,并保持规律性的更新频率,是否更能形成可持续的创作节奏呢? 内容创作方向 任何有价值的记录都值得书写,但需注意信息增量原则——在原始素材基础上进行深度加工。 创作形式可灵活多样: ...

二月 12, 2025 · 2 分钟 · 574 字 · Jiale Liu