需创建独立Python虚拟环境并安装openai 1.42.0+,通过.env和config.py安全加载API密钥,再按平台差异(SD/DALL·E/MidJourney)用子目录、配置字典或Docker隔离提示词工程。
准备ChatGPT调用环境
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜
要在本地稳定调用chatgpt生成绘画提示词,必须先建立可复用、可切换、不污染全局的python运行环境。打开终端,执行:python -m venv chatgpt-prompt-env。这一步创建独立虚拟环境,避免与系统其他项目依赖冲突。
激活环境:Windows用户运行 chatgpt-prompt-env\Scripts\activate.bat,macOS/Linux用户运行 source chatgpt-prompt-env/bin/activate。未激活就安装包,所有依赖会装进系统Python,后续调试时极易出现版本错乱或权限报错。
执行 pip install openai python-dotenv。注意不要装 openai==0.28 旧版——它不支持 chat.completions.create 新接口,会导致脚本运行时报 AttributeError: 'OpenAI' object has no attribute 'ChatCompletion'。
安全存储并加载API密钥
在项目根目录新建文件 .env,写入一行:OPENAI_API_KEY=sk-xxx(把你的实际密钥粘贴在等号后,【不要加引号,不要空格】)。
创建 config.py 文件,内容为:
from dotenv import load_dotenv<br>import os<br>load_dotenv()<br>api_key = os.getenv("OPENAI_API_KEY")<br>if not api_key:<br> raise ValueError("OPENAI_API_KEY 未在 .env 中设置")
这一步校验密钥是否存在,能提前暴露配置疏漏。很多人跳过校验,等到调用时才报 NoneType 错误,再回头排查要多花10分钟。
按需隔离不同模型的提示词工程环境
当你同时为Stable Diffusion、DALL·E 3、MidJourney生成提示词时,各平台对语法、长度、关键词权重的要求完全不同,混用同一套环境容易导致输出失效。
方法一:用子目录分隔
在 chatgpt-prompt-env 下建三个文件夹:sd_prompts、dalle_prompts、mj_prompts。每个文件夹内放专属的 prompt_generator.py 和 .env(后者可复用主密钥,但推荐为高频率调用场景单独配Rate Limit策略)。
方法二:用Python模块动态加载参数
在主 generator.py 中定义:
PLATFORM_CONFIG = {<br> "sd15": {"max_tokens": 75, "negative_support": True, "weight_syntax": "(word:1.3)"},<br> "dalle3": {"max_tokens": 400, "negative_support": False, "weight_syntax": "very detailed::2"},<br> "mj6": {"max_tokens": 60, "negative_support": False, "weight_syntax": "--no text, deformed"}<br>}
调用时传参 generate_prompt("赛博朋克猫", platform="sd15"),函数自动按规则截断、注入负向提示、重写权重语法。
方法三:用Docker容器固化环境(适合团队协作)
写 Dockerfile 指定 Python 3.11 + openai 1.42.0 + 预载常用风格词典JSON,构建镜像后每次运行都干净如初,彻底规避“在我机器上能跑”的问题。


















