AI论文写作配置:用Python脚本把大纲和参考文献变成初稿
先想清楚:你要AI帮你写什么
直接让大模型“写一篇论文”通常得不到能用的内容。
更实际的做法是拆开:先定大纲,再把每节要讲的内容和参考文献喂给模型,让它生成对应段落。
这篇配置教程就是帮你用Python脚本把这件事跑通,适合有基本Python环境、想自己控制生成过程的研究者或学生。
准备:API密钥、Python环境和文献素材
开始前确认三件事:
- 一个可用的大模型API账号,拿到API Key(下文以常见兼容接口为例,具体地址以你所用平台文档为准)。
- 本地或服务器上装好Python 3.8以上,能运行
pip install requests。 - 整理好论文大纲(每节标题和要点)以及参考文献摘要或关键段落,存成文本文件。
不要把API Key直接写在脚本里,建议存到环境变量:
export AI_API_KEY="你的密钥"
export AI_API_BASE="https://你的接口地址/v1/chat/completions"
Windows可用 set 命令或在系统环境变量中配置。
核心步骤:拼装请求并生成初稿
脚本要做的事很简单:读取大纲和文献片段,套进提示词模板,调用API,把返回内容写到文件。
下面是一个可运行的最小示例:
import os, json, requests
API_KEY = os.environ["AI_API_KEY"]
API_URL = os.environ["AI_API_BASE"]
def generate_section(section_title, section_points, references):
prompt = f"""你是一名学术写作助手。请根据以下信息撰写论文的一节内容。
章节标题:{section_title}
本节要点:{section_points}
参考文献摘录:{references}
要求:
1. 用学术书面语,逻辑连贯;
2. 引用文献时在句末标注[1][2];
3. 不编造文献中没有的数据或结论;
4. 输出纯文本,不要Markdown标记。"""
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
body = {
"model": "你的模型名称",
"messages": [{"role": "user", "content": prompt}],
"temperature": 0.3
}
resp = requests.post(API_URL, headers=headers, json=body, timeout=60)
resp.raise_for_status()
return resp.json()["choices"][0]["message"]["content"]
if __name__ == "__main__":
sections = [
{"title": "引言", "points": "研究背景、问题提出、本文贡献"},
{"title": "相关工作", "points": "梳理三条技术路线并比较"}
]
refs = "[1] 作者A等. 论文标题. 期刊, 2023. 主要结论...\n[2] 作者B等. 论文标题. 会议, 2022. 方法要点..."
with open("draft.txt", "w", encoding="utf-8") as f:
for sec in sections:
content = generate_section(sec["title"], sec["points"], refs)
f.write(f"\n\n## {sec['title']}\n\n{content}")
print(f"已生成:{sec['title']}")
把 model 换成你账号可用的模型名,运行 python draft.py,当前目录会生成 draft.txt。
每节生成后打印提示,方便确认进度。
避坑:密钥、超时和内容跑偏
- 密钥泄露:不要把API Key提交到Git仓库或发到聊天工具里。脚本只从环境变量读取。
- 请求超时:长文本生成容易超过60秒,可把
timeout调大,或拆成更小的段落逐段请求。 - 内容跑偏:如果模型自行添加了文献里没有的数据,把
temperature降到0.2以下,并在提示词中强调“仅使用提供的文献信息”。 - 格式混乱:如果返回内容带多余解释,在提示词末尾加一句“只输出正文,不要任何说明或开场白”。
- 接口报错401或403:检查
Authorization头是否带Bearer前缀,密钥是否复制完整。
验证生成结果是否可用
生成完成后不要直接粘贴进论文。
先做三项检查:
- 打开
draft.txt,逐节核对是否覆盖了大纲要点,缺失的部分回到脚本调整points字段重新生成。 - 抽查文中标注的
[1][2]是否确实对应你提供的文献,防止模型张冠李戴。 - 用查重工具或人工阅读判断语句是否通顺,AI生成的过渡句往往需要手动润色。
如果某一节反复生成不理想,可以把该节拆成两个更小的子问题,分别请求后再合并,通常比一次生成长段落更可控。
常见疑问
Q:一定要用Python吗?
不一定。任何能发HTTP请求的工具都可以,但Python脚本方便批量处理和保存结果,适合多节论文。
Q:可以用这个脚本直接生成整篇论文吗?
不建议。整篇生成容易前后矛盾,更合理的是按节生成、人工串联和润色。脚本只负责初稿,最终质量仍取决于你的大纲和文献质量。
Q:参考文献需要全文放进去吗?
不需要。放摘要和关键结论段落即可,全文会超出模型上下文限制,也增加无关信息干扰。
这套AI论文写作配置的核心就是控制输入:大纲越具体、文献越聚焦,生成结果越接近可用初稿。
先跑通一节,确认接口和提示词有效,再扩展到整篇。