Build. Learn. Document. Repeat.
持续学习,持续实践,持续沉淀。
欢迎来到我的数字花园 🌱。
我习惯将学习、实践与思考沉淀为可复用的笔记,希望把零散的信息整理成系统化的知识,也希望它们能在未来的某一天再次帮助自己,或帮助正在阅读的你。
我相信知识不是一次性整理完成的文档,而是在学习、实践和复盘中不断生长的网络。
如果某篇文章帮助到了你,希望它也能成为你知识网络中的一个节点。
🕰️ 最近笔记
temperature、top_p 与输出长度分别控制什么
AI / LLM模型生成回答时,每一步都会根据当前上下文,计算下一个 Token 的分数,再由解码程序选出一个。已经生成的内容会加入后续计算,模型就这样继续往下生成,直到满足停止条件。这种方式称为自回归生成。
Token 是什么:为什么字数不能直接换算模型用量
AI / LLM“你好,世界”有 5 个字符,用 cl100k_base 编码会得到 6 个 Token,换成 o200k_base,又只需要 3 个。
一次模型调用的输入究竟包含什么
AI / LLM我们和模型聊旅行,先说了目的地、预算和人数,又补充了交通要求,最后只问一句:“住哪儿合适?”
用 Python Decimal 计算 Token 费用:单位、缓存与金额精度
AI / LLM假设一次模型调用用了 1000 个输入 Token,其中 800 个命中缓存,又生成了 200 个输出 Token。总共用了 1200 个 Token,但计算费用时,不能把这个总数直接乘一个单价。
初识 Jev:让 AI 帮程序做判断
AI / AgentJev 是 TypeSafe AI 推出的一款模型,主要用来帮助程序做分类、打分和判断。你提供待分析的内容,提前定义问题和答案类型,它就返回程序可以直接使用的结果。例如,判断一条消息是不是退款申请、应该交给哪个团队、是否需要优先处理。
Python 对象相等判断:从 JavaScript 理解 ==、!= 与 is
Engineering / Python在 JavaScript 中,两个分别创建的对象,即使属性完全一样,a === b 也会得到 false。带着这个经验读 Python,下面的代码就容易让人困惑:
Python 懒加载:初始化究竟在什么时候发生
Engineering / Python一个搜索服务可能需要加载模型,但程序启动后,不一定马上有人搜索。如果创建服务时就加载模型,即使最后没有执行搜索,也已经付出了加载的时间和内存开销。
为什么更换 Embedding 模型后需要重建向量索引
AI / Agent文档已经做成向量索引后,如果把查询时使用的 Embedding 模型换掉,可能出现两种情况:搜索报错,或者搜索没有报错,返回的内容却不相关。
用 LangChain 和 FAISS 为 Markdown 建立语义检索
AI / Agent本文讲如何把一份 Markdown 做成可以用问题搜索的文档库:先生成 index.faiss 和 index.pkl,再加载这两个文件,找出与问题相关的原文。
VS Code 联动调试 Flask 与 Celery
Engineering / Python本文讲如何在 VS Code 中调试 Flask 接口和 Celery 后台任务:给代码设置断点,发送一次请求,让程序停下来,查看变量,再逐行执行。
📝 关于这些笔记
这里的大部分内容都来自实际学习和开发过程。
为了方便长期维护,每篇笔记都会尽量按照统一的知识结构整理,例如:
| 类型 | 说明 |
|---|---|
Theory | 概念讲解、原理分析、成因对策 |
Practice | 实践指南、实现方案、最佳实践 |
Snippet | 代码片段、实用函数 |
Reference | 学习笔记、语法参考 |
Tutorial | 上手教程、快速入门、搭建指南 |
Cheatsheet | 命令备忘、配置速查 |
Experience | 踩坑记录、FAQ、排查过程 |
希望每一篇笔记不仅能解决当前的问题,也能成为未来可以快速检索和复用的知识资产。
📖 知识导航
-
🤖 AI 大模型、AI 应用开发以及相关技术实践。
-
💻 Engineering 记录软件开发、编程实践与工程设计思考。
-
☁️ Infrastructure 沉淀开发环境、部署流程与基础设施相关知识。
-
🛠 Tools 分享提升效率的工具、配置与个人工作流。