当前位置:首页>python>项目2:写个Python脚本调API,批量生成日报/处理文档

项目2:写个Python脚本调API,批量生成日报/处理文档

  • 2026-10-11 06:13:44
项目2:写个Python脚本调API,批量生成日报/处理文档
PROJECT #2 · PYTHON实战2026.08.04

调用 AI API 需要学后端框架,太麻烦了

项目2:写个Python脚本调API,

批量生成日报 / 处理文档

30行起步 · 分批处理 · 多任务支持 · 完整代码 · 成��分析与避坑

从外包到BAT · 零代码/低代码实战系列

PythonAPI批量处理

📦 7 Parts + Conclusion

👉 滑动

PART 01

为什么要学

Dify的局限

PART 02

前置准备

3样东西

PART 03

第一版30行

最简单的版本

PART 04

第二版加强

多格式+分批

PART 05

第三版扩展

不止日报

PART 06

完整代码

80行成品

PART 07

成本与避坑

5条经验

PART ///

写在最后

未来的方向

从“用别人的产品”到“写自己的工具”,这个跨越比你以为的小得多

30行代码起步,80行封顶——Python调API批量处理文档

01

PART

为什么要学这个

MOTIVATION · Dify 的局限

上次用 Dify/Coze 搭 Bot,优点是快。但局限也明显:知识库只能"查"不能"做"、流程固定难定制、批量处理 100 个文件做不到。

而写一个 Python 脚本调 API,这些问题全部解决——而且比你想象的简单得多。今天的目标:写一个能跑起来的脚本,批量读文档让 AI 生成日报。

02

PART

前置准备

SETUP · 3 样东西

准备项
说明
Python 3.8+
python3 --version 检查
API Key
DeepSeek、通义千问、OpenAI 都可(本文用 DeepSeek,最便宜)
openai 库
pip install openai,一行搞定

为什么用 openai 库调 DeepSeek?因为 DeepSeek API 完全兼容 OpenAI 格式,一套代码改个 base_url 就能切模型。后面换成通义千问、豆包,也是改一行配置的事。

03

PART

第一版:最简单的脚本(30 行)

V1 · 30 行起步

import os from openai import OpenAI  client = OpenAI(     api_key="sk-你的Key",     base_url="https://api.deepseek.com" )  def read_docs(folder="docs"):     contents = []     for f in sorted(os.listdir(folder)):         if f.endswith(".txt"):             with open(os.path.join(folder, f), "r") as fp:                 contents.append(f"[{f}] {fp.read()}")     return "  ".join(contents)  docs_text = read_docs() response = client.chat.completions.create(     model="deepseek-chat",     messages=[         {"role": "system", "content": "你是日报助手,请根据文档生成日报。"},         {"role": "user", "content": f"以下是我今天的工作文档,请汇总:  {docs_text}"}     ] ) print(response.choices[0].message.content)

就这 30 行。跑一下:python3 daily_report.py。docs/ 文件夹扔几个 txt,AI 帮你汇总。跑通了吗?恭喜,你已经有一个能用的 AI 工具了。

04

PART

第二版:加点干货,让它更实用

V2 · 多格式+分批

支持更多文件格式

不只是 txt。加上 Markdown、Word、PDF:

if f.endswith((".txt",".md",".log")):     text = open(path).read() elif f.endswith(".docx"):     from docx import Document     text = " ".join(p.text for p in Document(path).paragraphs) elif f.endswith(".pdf"):     import pymupdf     text = " ".join(page.get_text() for page in pymupdf.open(path))

pip install python-docx pymupdf

处理大量文档:分批 + 汇总

文档加起来 10 万字怎么办?标准套路:先分批总结,再汇总。(MapReduce 思想的乞丐版实现,但足够好用)

def batch_summary(docs, batch_size=5):     # 第一轮:每批单独总结     summaries = []     for i in range(0, len(docs), batch_size):         batch = "  ".join(docs[i:i+batch_size])         resp = client.chat.completions.create(             model="deepseek-chat",             messages=[{"role":"user","content":f"总结: {batch}"}]         )         summaries.append(resp.choices[0].message.content)     # 第二轮:汇总所有总结     all_s = " ".join(f"{i+1}. {s}" for i,s in enumerate(summaries))     resp = client.chat.completions.create(         model="deepseek-chat",         messages=[{"role":"user","content":f"合并: {all_s}"}]     )     return resp.choices[0].message.content

定制日报模板

每个团队日报格式不同。加 --template 参数:default / research / product / sales 四种模板,一键切换。

05

PART

第三版:不止日报,还能干嘛

V3 · 多任务支持

框架搭好了,换个 Prompt 就是另一个工具:

任务
一句话描述
日报
生成工作日报
摘要
200 字总结核心要点
翻译
翻译成英文
会议纪要
整理议题、讨论、决议、待办
周报
本周完成+下周计划+风险
提取待办
按优先级排列所有待办事项

同一个脚本,换个参数就是不同工具:

python3 ai_task.py --task 会议纪要 --folder meeting_notes/ python3 ai_task.py --task 翻译 --folder docs_to_translate/ python3 ai_task.py --task 提取待办 --folder emails/

06

PART

完整代码(约 80 行)

FULL · 成品脚本

把上面所有功能拼起来,就是最终的 ai_task.py。支持:多种文件格式 / 分批处理 / 6 种任务类型 / 命令行参数 / 环境变量管理 Key / 输出到文件。

核心结构:配置 → 文件读取 → 分批处理 → 命令行入口。80 行代码,不需要框架,不需要部署,跑起来就能省时间。

07

PART

成本分析 + 避坑指南

TIPS · 5 条经验

成本:几乎不要钱

场景
文档量
Token 消耗
费用(DeepSeek)
5 份日报(每天)
约 2 万字
~3 万 Token
约 0.03 元
10 份摘要
约 5 万字
~8 万 Token
约 0.08 元
100 份分批处理
约 50 万字
~80 万 Token
约 0.8 元

每天跑一次日报,一个月不到 1 块钱。这可能是你花过最值的 1 块钱。

5 条避坑经验

1

API Key 不要硬编码。用 os.getenv("DEEPSEEK_KEY"),代码上传 GitHub 不会泄露。

2

加 try/except。API 可能超时、限流、Key 过期。没异常处理脚本直接崩。

3

文档太长要截断。单次调用有上下文限制。每条截 3000 字足够了。

4

免费 Key 可能有频率限制。两批之间加个 time.sleep(1) 避免被限流。

5

输出结果要审查。AI 生成的东西可能出错,花 30 秒扫一眼。

///

PART

写在最后

CONCLUSION · 下一步

这可能是你写的第一个能用的 AI 工具。30 行起步,80 行封顶,跑起来就能帮你省时间。

从"用别人的产品"到"写自己的工具",这个跨越比你以为的小得多。

下一步可以试试:接入飞书/钉钉机器人每天自动发日报、加 crontab 定时任务、输出格式改成 Markdown 表格。

这是零代码/低代码 AI 实战系列的第 2 篇,敬请关注后续。

我是 从外包到BAT,热衷于分享 AI 实战干货。如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见。

既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。

点赞
在看
转发

THANKS FOR READING

最新文章

随机文章