book-to-skill 怎么部署?把技术书和文档转换成可复用的 AI Skill

开源神器 book-to-skill:一键把 PDF/EPUB/ 文档转为 AI 标准化 Skill,告别长文本幻觉与 Token 爆炸 book-to-skill 是一款开源工具,可将技术书籍、项目手册等文档转换为标准化 AI 技能包(SKILL.md),实现本地离线解析并按需加载章节内容。该工具解决了传统 AI 处理长文档时 Token 消耗大、内容碎片化等问题,支持 PDF、EPUB、DOCX 等多种格式,适配 Claude Code、GitHub Copilot 等 AI 编程助手。核心优势包括:本地处理保障隐私、智能解析保留技术内容(代码/公式/表格)、按需加载节省 80-95% Token 消耗、标准化输出兼容主流 AI 工具。适 阅读详情

很多技术书第一次读完时印象很深,但过一段时间再遇到实际问题,往往只记得“这本书里讲过”,却很难快速找到具体章节、框架和方法。

直接把整本 PDF 扔给 AI 也不是很理想。一方面上下文消耗比较大,另一方面模型还需要反复定位章节和内容。

virgiliojr94/book-to-skill 就是为这种场景设计的。

它可以把一本技术书、一个文档目录,甚至一组资料转换成结构化的 Agent Skill。生成结果并不是简单摘要,而是把内容整理成核心模型、章节文件、术语表、模式和速查表,之后由 AI Agent 按需加载。

book-to-skill 会生成什么?

运行转换后,通常会生成类似这样的目录:

~/.claude/skills/书名/
├── SKILL.md
├── chapters/
│   ├── ch01-xxx.md
│   ├── ch02-xxx.md
│   └── ...
├── glossary.md
├── patterns.md
└── cheatsheet.md

其中:

  • SKILL.md 保存核心框架和章节索引;
  • chapters/ 按章节拆分内容;
  • glossary.md 整理关键术语;
  • patterns.md 提取方法、算法和设计模式;
  • cheatsheet.md 保存快速决策规则。

生成完成后,可以在 Agent 中直接针对书中的某个主题提问,而不必每次重新把整本书放入上下文。

和普通 RAG 有什么区别?

RAG 更适合:

大量文档
   ↓
向量检索
   ↓
找出相近片段

book-to-skill 更接近:

一本书 / 一组资料
   ↓
一次结构化分析
   ↓
提炼框架、章节、规则
   ↓
Agent 按需读取

因此它更适合深入使用一本技术书中的方法,而不是替代大型知识库搜索。

项目自己的性能测试显示,对于针对单个问题读取一本书的场景,结构化 Skill 能显著减少每次重新把整本资料放入上下文所需的 Token;不过具体效果仍然会随书籍结构和实际查询方式变化。

支持哪些文件?

当前项目支持多种输入:

  • PDF;
  • EPUB;
  • DOCX;
  • HTML;
  • Markdown;
  • TXT;
  • RTF;
  • MOBI / AZW。

其中 MOBI、AZW 等格式可能需要 Calibre 等额外工具。

还可以直接输入一个文件夹或 Glob,对多份资料建立统一 Skill。

为什么可以放到 Linux 服务器?

book-to-skill 本身并不是网络服务。

它是一个本地转换工具:读取指定文档,然后把结果写入 Agent Skill 目录。官方安全说明也明确指出,它不会主动把文件上传出去,也不会自己启动网络服务。

因此,本地电脑就可以使用。

不过以下情况比较适合部署到 Linux 云服务器:

  • 技术资料比较多;
  • 希望长期保留统一 Agent 环境;
  • 多台电脑共享同一套 Skill;
  • Claude Code 或其他 Agent 本身就在远程服务器中运行;
  • 需要批量处理大量 PDF;
  • 不希望个人电脑长时间占用 CPU;
  • 希望把 AI 学习环境和日常电脑隔离。

这时候可以把服务器作为一台长期在线的 AI 开发机。

服务器配置怎么选?

book-to-skill 本身对硬件要求并不算高。

真正影响资源消耗的是:

  • PDF 页数;
  • 文档数量;
  • 是否采用技术文档解析模式;
  • 是否安装 Docling;
  • 是否同时运行其他 AI Agent。

基础使用

适合普通书籍和少量 PDF:

  • 2 核 CPU;
  • 4GB 内存;
  • 40GB SSD。

日常使用

适合处理多本技术书:

  • 4 核 CPU;
  • 8GB 内存;
  • 80GB SSD。

大量文档处理

可以考虑:

  • 8 核 CPU;
  • 16GB 内存;
  • 150GB 以上 SSD。

项目性能文档给出的实际测试中,普通 pdftotext 提取速度很快,而技术模式使用 Docling 时速度明显更慢,但能更好地保留表格和代码块。

因此服务器配置主要是为了提高文档解析效率,而不是为了运行大模型。

云服务器怎么选择?

如果 Agent 本来就部署在远程 Linux 环境中,可以直接把 book-to-skill 安装在同一台机器。

选择服务器时可以关注:

  • CPU 性能;
  • 内存容量;
  • SSD 空间;
  • Linux 系统兼容性;
  • 文件上传速度;
  • 是否支持快照;
  • 后续能否方便扩容。

例如可以使用莱卡云服务器搭建一套 Ubuntu 或 Debian 开发环境,运行 Claude Code、book-to-skill 和自己的项目资料。

对于个人使用,可以先从 2 核 4GB 或 4 核 8GB 开始,处理一段时间后再根据文档解析速度和磁盘占用进行调整。

如果已经有其他云服务器或者自建 Linux 主机,也完全可以使用相同方案。

Ubuntu 准备环境

更新系统:

apt update
apt upgrade -y

安装常用工具:

apt install -y \
git \
python3 \
python3-pip \
python3-venv \
poppler-utils \
curl \
ca-certificates

其中:

poppler-utils

提供 pdftotext 等 PDF 处理工具。

检查:

pdftotext -v
python3 --version

两种安装方式不要混淆

项目当前有两种不同安装方式。

方式一:安装 Agent Skill

如果希望在 Claude Code、Copilot CLI 或 Amp 中使用 /book-to-skill,应该把仓库作为 Skill 安装。

例如 Claude Code:

mkdir -p ~/.claude/skills
cd ~/.claude/skills

克隆:

git clone \
https://github.com/virgiliojr94/book-to-skill.git

这样 Agent 就可以读取项目中的 SKILL.md。

方式二:安装独立 CLI

如果只需要文档提取和转换能力,可以通过 Python 包安装:

python3 -m venv ~/book-to-skill-env
source ~/book-to-skill-env/bin/activate

然后:

pip install book-to-skill

需要 PDF 支持时,可以安装 PDF Extra:

pip install "book-to-skill[pdf]"

项目近期已经将 PDF 依赖从停止维护的 PyPDF2 切换到 pypdf。

需要注意:

pip install book-to-skill

只会安装独立 CLI,并不会自动把 /book-to-skill 注册到 Claude Code。

转换一本 PDF

假设文件位于:

~/books/designing-data-intensive-applications.pdf

在 Agent 中可以执行:

/book-to-skill ~/books/designing-data-intensive-applications.pdf

转换完成后,就会创建对应的 Skill 目录。

之后可以使用生成的 Skill 查询相关内容,例如:

/对应书名 replication

Agent 会根据主题选择对应章节,而不是重新把整本 PDF 加载进上下文。

不只有 PDF

如果有一整个文档目录:

~/docs/project/
├── architecture.md
├── api.md
├── database.md
└── deployment.md

也可以直接把整个目录转换成 Skill。

这种方式比较适合:

  • 公司内部技术文档;
  • 项目设计说明;
  • 开发规范;
  • 产品说明;
  • 运维手册。

它实际上已经不只是“book-to-skill”,也可以看成“documents-to-skill”。

文档解析模式怎么选?

如果 PDF 主要是普通文字内容,简单解析速度更快。

如果书里包含大量:

  • 表格;
  • 代码;
  • 复杂布局;
  • 多栏内容;

则可以考虑技术解析模式。

项目性能测试中,一份 103 页技术 PDF:

pdftotext
约 0.1 秒

Docling 技术模式
约 164 秒

但 Docling 能保留更多表格和代码结构。

所以没有必要所有 PDF 都强制使用最复杂的解析方式。

可以放多少本书?

每一本书通常生成独立 Skill,例如:

~/.claude/skills/
├── clean-code/
├── ddia/
├── python-book/
├── linux-performance/
└── system-design/

之后 Agent 可以根据需要加载。

如果只是十几本、几十本常用技术资料,这种方式比较直观。

如果资料已经达到数百或数千份,需要做跨文档检索,那么向量数据库和 RAG 可能更加合适。

对上传的文档要做安全隔离

book-to-skill 会解析本地文档,因此不要默认所有文件都是可信的。

项目安全文档指出,主要风险面之一就是解析不可信文档,同时某些可选功能还可以按用户选择安装缺失的 Python 依赖。

近期版本还增加了生成 Skill 的 Prompt Injection 扫描,用于发现类似:

  • 指令覆盖语句;
  • 模型控制标签;
  • 隐藏 Unicode;
  • 可疑权限扩展;
  • 数据外泄形式内容。

扫描属于提示性质的安全检查,不意味着可以完全信任来源未知的文档。

如果准备处理陌生用户上传的文件,更稳妥的方式是:

  • 使用普通 Linux 用户;
  • 限制处理目录;
  • 设置 CPU 和内存上限;
  • 不让解析环境读取 SSH 私钥;
  • 不挂载生产环境密钥;
  • 不自动安装未知依赖。

技术资料还要注意版权

book-to-skill 能够转换 PDF,并不意味着所有 PDF 都可以随意复制或传播。

比较合适的是:

  • 自己购买并依法使用的电子书;
  • 自己编写的技术文档;
  • 公司授权内部使用的资料;
  • 明确允许再利用的开放文档;
  • 公有领域资料。

如果生成的 Skill 来源于受版权保护的书籍,也不建议直接公开上传完整章节内容。

是否需要 Docker?

个人使用时没有必要强制使用 Docker。

一个简单结构就足够:

Linux Server
│
├── Claude Code
├── book-to-skill
├── ~/books
└── ~/.claude/skills

如果要做批量自动处理或者允许多人上传文件,可以再考虑 Docker 隔离。

例如:

上传服务
   ↓
任务队列
   ↓
隔离 Worker
   ↓
book-to-skill
   ↓
Skill 输出

这样更适合团队内部的自动化流程。

部署建议

virgiliojr94/book-to-skill 更适合被理解成一个“文档编译器”,而不是传统的网站程序。

它把技术书、文档目录或资料集合转换成 Agent 能够按需读取的 Skill。对于经常使用 Claude Code、Amp 或 Copilot CLI,并希望把技术资料真正融入日常工作流的开发者,这种方式值得尝试。

个人处理少量书籍时,在本地电脑安装已经够用;需要长期保存大量 Skill、远程运行 Agent 或批量处理文档时,可以准备独立 Linux 环境。

莱卡云可以作为这类远程 AI 开发环境的一个选择,用于保存技术资料、运行 book-to-skill 和 Agent;已有其他云服务器也可以采用相同方案。

实际配置不用追求过高规格。普通文档可以先从 2 核 4GB 开始,如果大量使用 Docling 处理复杂技术 PDF,再根据 CPU、内存和磁盘占用逐步升级。相比单纯提高服务器配置,文档来源安全、Skill 权限、资料版权以及备份管理更值得长期关注。

book-to-skill:把技术书变成AI技能包,token省51倍 在大模型应用中,token消耗是成本控制的核心痛点。传统做法是将整本技术书直接注入上下文,或依赖RAG进行向量检索,前者导致每次问答都要支付高额输入成本,后者则存在检索不稳定、维护复杂等问题。book-to-skill提供了一种新的技术思路:将Markdown格式的技术书拆分为结构化技能包,仅保留目录索引与章节摘要作为常驻上下文,模型根据用户问题按需读取对应章节内容,实现从“全书常驻”到“随用随取”的转变,官方实测token消耗可降低约51倍。这种方案适合AI辅助阅读、团队知识库构建、智能文档问答等场景,尤 阅读详情

相关推荐

技术书转AI技能:book-to-skill如何省51倍token消耗

大模型处理长文档时,token消耗高且上下文受限,技术书动辄几十万字,直接作为提示词注入成本极高。AI技能是一种结构化指令包,将高频知识压缩为精简文件,按需加载。book-to-skill能够把PDF、EPUB、Markdown等技术书解析并提炼成技能文件,运行时仅加载几KB内容,显著降低大模型调用的token消耗。该工具适用于AI Agent技能库构建、企业知识库压缩、重复性文档问答等场景,尤其在上下文窗口有限时,可作为RAG方案的有效补充。文章围绕工具的能力边界、部署启动、批量任务设计及token节省效

weixin_30598225的博客 469

book-to-skill:如何把 500 页技术书编译成按需加载的 Agent 技能,查询 token 省 24×–51×

book-to-skill 是一个书籍转技能(book to skill)转换器,把 PDF、EPUB、DOCX 等技术书与文档编译成可被 Agent 按需加载的 SKILL.md 技能,面向用 Agent 编程的开发者:Agent 从真实章节内容作答,token 账单只付一次,之后按答案大小计费。 [![book-to-skill 项目横幅:书页散作火花并落成结构化技能网格](https://

gitblog_00523的博客 215

book-to-skill:用AI将技术文档转化为可执行代码与交互式学习任务

在人工智能与软件工程领域,RAG(检索增强生成)技术正成为连接非结构化文档与智能应用的关键桥梁。其核心原理是通过向量化技术将文档内容转化为可检索的语义表示,再结合大语言模型的生成能力,实现精准的信息提取与内容生成。这一技术的工程价值在于,它能够将海量的静态知识资源(如技术书籍、API文档)转化为动态、可交互的智能体,从而解决开发者面临的信息过载、知识留存率低等痛点。典型的应用场景包括构建个性化编程助手、自动化代码示例生成以及交互式技术学习平台。本文聚焦的 book-to-skill 项目,正是这一技术范式的

375

Agent之Skills:book-to-skill的简介、安装和使用方法、案例应用之详细攻略

​ Agent之Skills:book-to-skill的简介、安装和使用方法、案例应用之详细攻略 目录 book-to-skill的简介 book-to-skill的安装和使用方法 book-to-skill的案例应用 book-to-skill的简介 book-to-skill 的定位是:把一本技术书、一个文档文件夹,或者一组资料,转换成一个统一的 Claude Code skill,让你在工作时可以直接调用这份知识,而不是把整本书塞进上下文里。仓库在首页明确写到,

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 3665

book-to-skill:把长文档变为按需技能,节省51倍上下文

在AI编程助手的实际使用中,上下文窗口限制往往比模型能力更早成为瓶颈。随着上下文工程理念的兴起,业界开始从无限扩容转向按需调度——将长文档拆解为小型、可独立加载的技能包,仅在任务需要时精准调用对应片段。这种思路既能显著降低token消耗,又能提升模型对关键信息的聚焦程度。book-to-skill正是这一方向的开源实践:它离线将书籍、技术资料等结构化文档转换为多个结构化技能文件,编码助手如Claude Code可在运行时按需加载,官方演示中单本书可节省约51倍上下文。文章从核心能力、环境部署、功能验证、批量

weixin_33849215的博客 406

book-to-skill把技术书变成Claude的外挂技能包(Python源码)能将PDF、EPUB等技术书籍转化为Claude Code或GitHub Copilot CLI可直接调用的技能

book-to-skill把技术书变成Claude的“外挂技能包(Python源码)能将PDF、EPUB等技术书籍转化为Claude Code或GitHub Copilot CLI可直接调用的“技能(Skill)”。 它不是简单的全文输入,而是通过深度分析将书籍拆解为结构化的SKILL.md、分章节文件、术语表和模式库。当你在终端编程询问特定问题时,AI只会按需加载相关的章节片段,而非一次性吞掉整本书。 这解决了大模型应用中“长上下文”的经济与效率悖论:即便模型支持百万Token,全量加载不仅昂贵,还会因“信息迷失”导致推理精度下降。 该工具的核心逻辑是“编译时处理”,即在本地预先提取作者的知识框架,将RAG的搜索逻辑升级为Agent的推理技能。对于需要反复查阅的内部文档或经典技术书,这种按需加载模式能节省24到51倍的Token消耗,同时显著降低幻觉

book-to-skill 实战教程:书籍转AI Agent技能完整部署与落地指南

文章核心是介绍book-to-skill工具,内容涵盖痛点、原理、架构、安装、使用、产物和调用等,信息量很大。摘要需要抓住关键点:工具定位(离线蒸馏生成标准化Agent Skill)、核心优势(Token消耗降至1/24-1/51,幻觉率降低87%),以及使用价值。写作摘要时要简洁,突出主要卖点,不深入技术细节。</think>本文介绍开源工具book-to-skill:将书籍离线蒸馏为标准化Agent Skill,解决传统AI读书痛点。相比

从零开始,掌握网络安全。提供全面的网络安全教程、攻防演练技巧和行业动态。 867

maya权重拷贝一对一,一对多

是不是有时候盔甲很多很碎头很大,用代理一个个拷贝很麻烦吧 用下面代码直接运行进行一对多或者一对一拷贝 第一个先选择参考物体,加选其他一堆有的没的有权重或没权重的物体执行一键拷贝,就可以啦 以下是源码送上,带走吧 ------------------------ #! -*- coding:utf -8 -*- #author:liubingdong #date:20...

weixin_30852367的博客 1532

book-to-skill:将技术资料转化为代理技能,节省成本、提升使用效率!

安装后,输入 `/your-book-slug replication`,代理就能读取相应章节并根据实际内容作答,不生成虚假信息,无需在 PDF 中翻找,让书籍融入工作流程。技能创建后,可按不同方式使用。解答了能否将 PDF/EPUB 放入 Claude 项目上下文、Claude 有 1M token 上下文窗口能否直接加载整本书、是否只是 RAG、流行书籍在 Claude 训练数据中为何还要用 book-to-skill、NotebookLM 与 book-to-skill 适用场景等问题。

EveningTalk的博客 25

一维光子晶体态密度计算与应用解析

态密度(DOS)是凝聚态物理和光子学中的核心概念,描述了量子态在能量空间的分布规律。基于麦克斯韦方程组的周期性介电结构分析表明,一维光子晶体通过布拉格散射形成光子带隙,其态密度曲线呈现典型的范霍夫奇点和禁带特征。这种特性使光子晶体在光学工程中具有重要价值,特别是在滤波器设计和传感器开发领域。通过转移矩阵法等数值计算手段,可以精确预测带隙位置和宽度,其中折射率对比度与周期数是关键设计参数。实际应用中,1550nm通信波段滤波器常采用Si/SiO2交替结构,而引入缺陷层则能产生高Q值缺陷模。计算优化时需注意数值

weixin_36487018的博客 193

西门子S7-200 SMART控制步进电机(二)

目录 一、开环运动控制方法 二、运动轴概述 三、配置运动控制向导 一、开环运动控制方法 S7-200 SMART CPU提供三种开环运动控制的方法: 1、脉冲宽度调制(PWM):内置于CPU中,用于速度、位置或占空比的控制 2、脉冲串输出(PTO):内置于CPU中,用于指定长度脉冲或指定距离的控制 3、运动轴:内置于CPU总,用于速度和位置的控制。本文所讲的就是通过运动轴实现步进电机的运动控制。 SR20和ST20 CP...

qq_43134642的博客 2万+

book-to-skill安装失败怎么办:最全故障排查清单与7个解决方法

> book-to-skill 是一款把技术书 PDF 转成 AI Agent 技能(Skill)的开源工具,支持在 Claude Code、Copilot CLI、Amp、Hermes Agent 中按需查阅书籍内容。本文整理了 book-to-skill 安装失败、依赖缺失、格式不支持等最常见故障的完整排查清单与对应解决方法,帮你一步定位问题。 [![book-to-skill 书籍转技能工

gitblog_00017的博客 322

USB-Blaster在Win11报错?3分钟搞定驱动兼容性问题(Quartus 21.4实测)

本文针对Windows 11系统下USB-Blaster驱动安装问题,提供了一套快速解决方案。通过优化驱动安装流程、绕过签名验证及设备管理器高级技巧,帮助开发者在3分钟内解决Quartus 21.4的兼容性问题,提升FPGA调试效率。

weixin_30772105的博客 291

book-to-skill 怎么部署?把技术书和项目文档变成 AI Agent 可复用知识

更准确的定位不是传统知识库,也不是普通 PDF 摘要工具,而是一个**“文档 → Agent Skill 编译器”**。核心框架章节术语PatternCheatsheet之后由 Claude Code、Copilot CLI、Amp 等 Agent 按需读取。如果只是偶尔转换一本书,本地电脑已经足够;如果希望长期保存大量 Skill、远程运行 Agent,或者把项目文档和技术资料统一放进开发工作流,可以准备独立 Linux 环境。

tedcloud123的博客 344

深入解析Cuk、Zeta和Sepic拓扑:非隔离型开关电源的设计奥秘

本文深入解析了Cuk、Zeta和Sepic三种非隔离型开关电源拓扑的设计奥秘。它们均能实现升降压转换,但特性各异:Cuk拓扑输出反向电压,输入输出纹波极低;Sepic拓扑输出同极性电压,应用广泛;Zeta拓扑输出纹波小,适合精密供电。文章详细对比了其电路结构、工作原理、核心公式及选型指南,帮助工程师根据输入电压范围、输出极性及纹波要求,灵活选择最合适的拓扑方案。

weixin_28308325的博客 476

【异常】‘build.plugins.plugin.version‘ for org.apache.maven.plugins:maven-resources-plugin is missing

maven-compiler-plugin 插件版本信息没有指定导致了错误提示如下字面意思就是没有指定版本信息。

奶爸的编程之路,也就一周冷个三天 4599

book-to-skill 使用教程:把任意文档蒸馏成 AI Skill 个人知识库 Agent 技能详解

book-to-skill 是一台个人知识蒸馏器:把任何你反复翻的文档——书、报告、笔记、规范、研究——蒸馏成 AI 随时可查阅的技能,等于给你的 AI 装上这些资料的"长期记忆"。一次提炼、随时调用、按需加载、无幻觉、省 token。适合技术学习者、知识工作者、文档多的团队。

qq_34958121的博客 1078

【QT开发】web开发,内嵌网页展示和交互工具QWebEngineView类详解及实战应用

QWebEngineView 类为 Qt 应用提供了强大的网页展示和交互能力。通过合理运用其方法、属性和事件,能够创建出功能丰富、用户体验良好的网页浏览界面。在开发过程中,要注意处理常见问题,以确保网页的正常展示和交互效果。

科技改变人类,技术成就未来 2004

book-to-skill 怎么部署?把技术书籍和文档变成 AI Agent 的长期知识

更准确地说,是一个把书籍、技术文档和资料转换成 Agent Skill 的知识整理工具。它目前支持 PDF、EPUB、DOCX、Markdown、HTML、RTF、MOBI/AZW/AZW3 等多种格式,并可以将内容拆分为章节、术语表、技术模式和快速参考规则,让 Agent 在需要的时候按需读取,而不是每次加载整本书。github.com如果只是偶尔使用,本地电脑即可;如果长期进行 AI Coding、技术学习或者维护自己的知识库,则可以准备一台 Linux 远程开发环境。

tedcloud123的博客 385

文末含资料链接和视频讲解!YOLOv8集成CoordAtt注意力机制详细教程

本文详细介绍了如何在YOLOv8目标检测框架中集成CoordAtt注意力机制。首先解析了CoordAtt的工作原理,它通过分解式池化将位置信息嵌入到通道注意力中,相比传统注意力机制具有更好的空间信息保持能力。然后提供了PyTorch实现代码解析,包括自适应平均池化、Hard-Swish激活函数等关键实现细节。最后概述了YOLOv8架构,为后续集成CoordAtt提供基础。该教程适合具备深度学习基础的开发者,将理论与实践结合,帮助读者掌握这一目标检测优化技术。

FJN110的博客 266

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

book-to-skill:将技术书转为AI技能包,token节省51倍

大模型应用日益普及,长文档问答和知识库处理中的token消耗成为成本瓶颈。book-to-skill通过离线将技术书拆解为结构化技能包,使每次调用仅加载关键片段而非全文,从原理上减少无效token。该项目核心价值在于将离线处理成本前置,以一次性转换换取在线调用的持续压缩,可广泛应用于AI Agent技能开发、RAG检索优化和企业知识库压缩等场景。读者可据此快速上手并亲测token节省效果。

weixin_34151004的博客 338

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

如何把书变成 Agent Skill:book-to-skill 完整指南,每题节省 24–51 倍 Token 成本

book-to-skill 是一个开源转换工具:把任意一本技术书(PDF、EPUB、DOCX 等)转成可被按需加载的 Agent Skill,让你的 AI 编程助手在你干活时用这本书自己的框架和决策规则来回答问题。本文帮你搞清它值不值得引入、与 RAG 的本质差别、会踩哪些失败场景,以及成本账本上的真实数字。 [![book-to-skill 吉祥物把书页转化为结构化 Agent Skill 的

gitblog_00297的博客 451

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

book-to-skill:将PDF技术书编译为Agent可调用Skill的工程实践

在AI Agent开发中,知识注入与上下文管理是核心挑战。传统RAG检索按需拉取,难以实现知识内化,而PDF等版式文档直接解析又面临语义丢失、知识密度不均等问题。book-to-skill通过版式分析与语义标注双通道,将PDF还原为结构化知识块,再经概念聚类与图谱构建,生成包含检索接口的Skill包,使Agent能直接调用操作性知识。该方案适用于技术书知识库构建、Agent专业分工等场景,为知识注入提供了从文档到Skill的工程化管线。

weixin_29047545的博客 194

从整本书到按需调用:book-to-skill技术资料高效喂给AI编程助手

在AI编程助手和本地大模型应用中,上下文窗口(Context Window)是最稀缺的资源。当面对动辄数十万字的技术书、内部Wiki或项目文档时,直接全量加载会让token消耗急剧上升,甚至触发“多次自动总结仍超限”的报错。RAG检索和长上下文模型虽有帮助,却各有局限。基于上下文工程思想,book-to-skill 方案将书籍按“解决什么问题、需要什么输入、输出什么结果”拆分为结构化技能包,借助技能注册表实现按需加载,只将当前问题命中的技能描述与精选片段注入提示词。这种方式可将单轮请求的上下文占用从约20万

weixin_34218579的博客 530
上一篇: PDF Inspector 怎么部署?在 Linux 服务器搭建轻量 PDF 文本解析服务
下一篇: AirLLM 怎么部署?低显存运行大模型的 Linux 实践
tedcloud123
博客等级 码龄1年 18粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值