【Python LLM小说自动化生成实战】3|项目.env配置文件设计
目录一、创建 .env 配置文件二、.env 文件通俗讲解第一块LLM 服务基础配置第二块生成参数第三块重试容错配置三、补充小白基础知识点四、结合本小说项目梳理运行逻辑文末收尾 下集预告上一节我们搭建好了 Pydantic 数据模型定下了小说数据的规范。现在有一个很现实的问题摆在眼前DeepSeek 的 API 密钥、模型名称、AI 创作温度这些参数如果直接硬编码写到 Python 代码里后患无穷。 密钥一旦跟着代码一起上传或者分享出去账户额度随时可能被别人薅空后续想调整模型、修改 AI 脑洞大小还得到处翻代码改动。 行业里标准的解决方案就是.env环境变量配置文件本节我们就来搭建这套统一配置方案。一、创建 .env 配置文件在项目根目录新建文件文件名固定为.env注意文件名前面带有英文小数点。 完整填写的配置内容参考下图二、.env 文件通俗讲解先说核心结论.env的作用就是集中存放项目密钥、全局可调参数。业务代码从文件读取配置绝不把敏感信息、可变参数硬写死在源码中。 我们把配置划分成三大模块逐个拆解含义。第一块LLM 服务基础配置连接大模型的必备三件套API_KEYsk*********************** BASE_URLhttps://api.deepseek.com MODELdeepseek-v4-flashAPI_KEY你调用大模型服务的账号凭证。接口请求时用来校验身份确认调用权限。 ⚠️ 重中之重绝对不要完整把密钥随意转发、随代码分享一旦泄露他人可以直接消耗你账户余额BASE_URL到大模型官方网站获取这个是大模型厂商的服务接口地址告诉程序应该向哪个服务器发送请求。 当前填写 DeepSeek 官方地址后续如果切换 OpenAI、智谱 AI 等其他平台只需要修改这一行地址。MODEL指定想要调用的大模型名称。示例中的deepseek-v4-flash特点是响应速度快、计价性价比高。想要更换同平台其他模型仅修改该参数即可不需要改动业务代码。第二块生成参数控制 AI 创作风格与输出上限OUTLINE_TEMPERATURE0.7 CHAPTER_TEMPERATURE0.85 MAX_TOKENS4096Temperature温度【小说项目核心参数】取值范围常规为0 ~ 1数值越接近 0AI 输出更加严谨、逻辑稳定但创意不足内容容易重复数值越接近 1AI 脑洞更大故事更富有想象力但是更容易出现逻辑跑偏、凭空编造内容的情况。OUTLINE_TEMPERATURE0.7生成小说大纲使用。大纲看重整体故事逻辑因此温度设置偏低保证主线不乱CHAPTER_TEMPERATURE0.85生成章节正文使用。正文需要丰富情节适度拉高温度提升故事可读性。MAX_TOKENS4096限制单次接口调用AI 能够输出内容的最大长度。token 可以粗略理解为文字计量单位设置上限能够避免单次生成文本超长触发接口报错。第三块重试容错配置MAX_RETRIES3网络波动、服务商服务器拥挤都有可能造成接口调用临时失败。MAX_RETRIES3代表请求失败后程序最多自动重试 3 次连续 3 次全部失败才抛出异常终止运行。配置简单却能显著提升整套小说生成程序的稳定性三、补充小白基础知识点环境配置文件标准命名就是.env配合python-dotenv第三方库读取Python 基础读取示例代码from dotenv import load_dotenv import os # 自动加载根目录.env文件 load_dotenv() api_key os.getenv(API_KEY) base_url os.getenv(BASE_URL)【补充问题】为什么独立.env 文件不直接写进 py 源码① 保护密钥避免敏感凭证直接暴露在代码内② 调整模型、AI 创意温度、接口地址只修改配置文件无需改动业务代码③ 分享项目代码、上传代码仓库时可以轻松隔离密钥规避财产损失风险。四、结合本小说项目梳理运行逻辑整套程序运行流程联动启动生成小说大纲时代码自动读取OUTLINE_TEMPERATURE0.7进入章节扩写阶段切换读取CHAPTER_TEMPERATURE0.85每一次向 DeepSeek 发起接口请求自动携带.env 内的 API_KEY请求失败时依照MAX_RETRIES的数值进行重试。文末收尾 下集预告至此我们完成项目全局配置管理密钥与可调参数全部实现解耦后续各个模块都统一读取这套配置。下一节预告【Python LLM 小说自动化生成实战】4系统提示词管理约束大模型严格输出规范 JSON解决字段缺失、命名错乱等解析报错。 本系列专栏合集传送门小白入门从零实战开发Python LLM小说自动化生成系统