学员实践:openbili AI 接入驾驶舱介绍
Calvin 是「翔宇工作流」的学员,方向是 AI 模型中转。他把这件事做成了独立站点「openbili」,覆盖 OpenAI SDK 兼容、模型路由、调用成本可见、失败可解释。本文将其介绍给关注同方向的读者。
用 Make.com 和 Kimi API 搭建自动分析 PDF 文档的工作流。上传 PDF 到 Notion 后自动下载、提取文本、调用 Kimi 大模型生成结构化摘要并回填数据库。教程涵盖 Kimi API 申请配置、PDF 文本提取方案对比、长文档分段处理策略和 Notion 自动回写设置,适合需要批量处理学术论文、研报、合同等长文档的办公场景。
每天要读大量 PDF 文档的人一定懂这种感受:研报、白皮书、学术论文堆在那里,每份都要花半小时到一小时才能理清核心观点。如果你是金融分析师、产品经理、科研人员,这种重复性的文档分析占据了大量工作时间。
我是翔宇。本期教程我会教你用 Kimi API 在 Make 中搭建一套自动分析 PDF 文档的工作流。上传 PDF 到 Notion,Make 自动下载、提取文本、用 Kimi 的长文本能力生成 10 个核心观点,写回 Notion。整个过程全自动,你只需要把 PDF 扔进数据库就行。
为什么选 Kimi?两个原因:一是 Kimi 的长文本处理能力极强(支持 128K 甚至更长),适合处理几十页的文档;二是 Kimi API 获取门槛低,注册就送额度,微信支付宝充值,不需要折腾海外信用卡。对于获取 OpenAI API 有困难的用户,这是一个非常好的替代方案。
本教程配套视频已发布在 YouTube,建议搭配视频一起学习效果更佳。
整个工作流由八个模块组成:
| 步骤 | 模块 | 功能 |
|---|---|---|
| 1 | Notion Search | 检索状态为"开始"的文档条目 |
| 2 | HTTP Get a File | 下载 PDF 文件 |
| 3 | HTTP Make a Request | 发送 PDF 到 Kimi 文件接口 |
| 4 | Sleep | 等待文件处理完成 |
| 5 | HTTP Make a Request | 获取 Kimi 抽取的文本内容 |
| 6 | Text Replace | 去除影响 JSON 结构的特殊字符 |
| 7 | HTTP Make a Request | 发送文本到 Kimi 对话接口生成观点 |
| 8 | Notion Update | 更新状态为"已完成"并写入结果 |
在 Notion 中新建一个"文档分析"数据库,只需要三个属性:
状态字段是这个工作流的触发机制:Make 每次运行时只检索状态为"开始"的条目进行处理,处理完自动改为"已完成",避免重复操作。
Notion Search Database Items:
设置筛选器:状态字段的文本等于"开始"。这里的文本必须和 Notion 中的选项完全一致。每次只取一条(避免并发冲突)。
HTTP Get a File:
URL 填入 Notion 返回的文件链接字段。这个模块会把 PDF 下载到 Make 的临时存储中,供后续步骤使用。
这是本期的核心模块之一。Kimi 提供了独立的文件接口,专门用于从 PDF 中提取文本。
添加 HTTP 模块,选择 Make a Request:
URL: https://api.moonshot.cn/v1/files
Method: POST
Headers:
Authorization: Bearer 你的Kimi_API_Key
Body Type: Multipart/form-data
- file: (选择上一步下载的 PDF 文件)
- purpose: file-extract
Kimi API Key 的获取非常简单:登录月之暗面官网,在 API Key 管理页面点击新建即可。注册就送免费额度。
发送成功后,Kimi 会返回一个文件 ID,后续步骤通过这个 ID 获取提取结果。
Sleep 模块:
文档较短时等待 1 秒即可。如果你的 PDF 有几十页甚至上百页,建议设置 60-120 秒,给 Kimi 足够的处理时间。
HTTP 获取文本:
URL: https://api.moonshot.cn/v1/files/{file_id}/content
Method: GET
Headers:
Authorization: Bearer 你的Kimi_API_Key
Parse Response: 开启
这里的 {file_id} 替换为上一步 Kimi 返回的文件 ID。返回结果是整个 PDF 的纯文本内容。
这一步很关键。PDF 提取出的文本中可能包含换行符 \n、中括号 []、大括号 {}、反斜杠 \ 等字符,这些会破坏后续 Kimi 对话接口的 JSON 输入结构。
添加 Text Parser 模块,选择 Replace:
Pattern: ["{}\[\]\\\n]
Replace: (空格)
Global: 开启
Case Insensitive: 开启
Text: (上一步获取的文本内容)
这个正则表达式会把所有可能破坏 JSON 的字符替换为空格,保证后续输入格式合法。
添加最后一个 HTTP 模块,调用 Kimi 的对话接口:
URL: https://api.moonshot.cn/v1/chat/completions
Method: POST
Headers:
Authorization: Bearer 你的Kimi_API_Key
Body Type: Raw (JSON)
JSON Body 结构:
{
"model": "moonshot-v1-128k",
"messages": [
{
"role": "system",
"content": "你是 PDF 文档总结助手,从文档中提取 10 个最重要的核心观点,简明扼要地总结。"
},
{
"role": "user",
"content": "我发送的 PDF 内容为:{处理后的文本}"
}
],
"temperature": 0.3
}
模型选择 moonshot-v1-128k 处理长文档。如果文档较短(几页以内),可以换成 moonshot-v1-8k 节省成本。
在高级设置中把超时时间设为 300 秒,长文档处理可能需要较长时间。
两个 Notion 模块:
Update Database Item:把状态改为"已完成",防止下次运行重复处理。
Append a Page Content:把 Kimi 生成的 10 个核心观点写入条目的内容区域。
在每个 HTTP 模块之间添加条件筛选器:只有状态码等于 200 才继续执行。这样如果某一步 API 调用失败,后续步骤自动跳过,节省操作数。
文件处理完成后,还可以添加一个 HTTP Delete 模块调用 Kimi 的文件删除接口(DELETE https://api.moonshot.cn/v1/files/{file_id}),因为 Kimi 的文件存储限制是 100 个。定期清理可以避免达到上限。
Q:Notion 免费版上传文件有大小限制怎么办?
Notion 免费版单文件限制 5MB。如果需要处理更大的 PDF,可以把文件上传到 Google Drive,在 Make 中从 Google Drive 下载而不是从 Notion 下载。工作流的其余部分完全不受影响。
Q:Kimi API 和 OpenAI API 能混用吗?
完全可以。你可以用 Kimi 的文件接口提取 PDF 文本(因为它长文本能力强),然后把文本发给 OpenAI、Claude 或其他模型做分析。文件接口和对话接口可以搭配不同的模型使用。
Q:处理英文 PDF 效果怎么样?
Kimi 的英文理解能力也不错,本期演示用的就是一份英文的特斯拉研报。生成的中文观点总结准确度很高。
Q:能不能批量处理多个 PDF?
可以。在 Notion 中同时把多个文档的状态设为"开始",Make 会逐条处理。但建议每次不超过 3-5 个,避免 API 调用过于频繁。
本期教程我们用 Kimi API 在 Make 中实现了 PDF 文档的自动分析。核心链路是:Notion 触发、HTTP 下载、Kimi 文件接口提取文本、正则清洗、Kimi 对话生成观点、写回 Notion。
这个工作流的意义不只是总结 PDF。Kimi 的文件接口可以处理十万字以上的长文本,这给很多场景打开了大门:合同审查、论文速读、竞品分析、研报速览。而且 Kimi API 的获取门槛极低,注册就能用,对国内用户非常友好。
Make 本质上就是一个无代码的应用开发平台。你在 Make 里搭的每个工作流,就是一个为自己定制的小程序。不需要写代码,不需要搭服务器,串几个模块就能解决实际问题。
每周精选 AI 编程与自动化实战内容,直达你的邮箱