1. 环境搭建与管理
任务目标
本案例完成两件事:一是搭建可用于大模型应用开发的Python虚拟环境并安装核心依赖库;二是实现一个安全的管理模块,避免将密钥硬编码在源码中。最终通过一个调用接口的最小示例验证环境与密钥管理均可用。
环境准备与依赖安装
需提前安装Python 3.9+。以下命令创建虚拟环境并安装所需库:
python -m venv .venv
# Windows: .venv\Scripts\activate | macOS/Linux: source .venv/bin/activate
pip install ==1.30.1 python-dotenv==1.0.1
说明:transformers库体积较大且本案例核心验证路径不依赖它,故不在此安装;若后续案例需要,可在同一虚拟环境中执行 pip install transformers 补充。
安全存储方案
采用.env文件 + python-dotenv方案:密钥存放在项目根目录的.env文件中,该文件须加入.gitignore防止误提交。代码通过load_dotenv()加载环境变量,运行时从os.environ读取。
关键完整代码
项目结构:
your_project/
├── .env # 存放真实密钥(不入库)
├── .gitignore # 忽略 .env
├── config.py # 密钥加载与校验
└── test_.py # 最小调用验证
.env文件(手动创建,将your-key-here替换为真实密钥):
_=your-key-here
.gitignore:
.env
.venv/
config.py:
import os
from dotenv import load_dotenv
load_dotenv()
def get__() -> str:
"""获取 ,缺失时抛出明确错误。"""
key = os.getenv("_")
if not key or key == "your-key-here":
raise ValueError(
"未检测到有效的_。"
"请在项目根目录创建.env文件并填入真实密钥。"
)
return key
test_.py:
from import
from config import get__
def main():
= get__()
client = (=)
response = client.chat.completions.create(
model="-turbo",
messages=[
{"role": "user", "content": "用一句话介绍你自己"}
],
max_tokens=50
)
print("API调用成功,返回内容:")
print(response.choices[0].message.content)
if __name__ == "__main__":
main()
运行与验证
- 在项目根目录执行
python test_.py。 - 通过条件:程序无异常退出,控制台先打印
API调用成功,返回内容:,随后输出一行模型生成的文本。 - 失败排查:若提示
未检测到有效的_,检查.env文件是否位于当前运行目录、变量名是否拼写正确;若提示AuthenticationError,说明密钥无效或已过期。
常见问题
- .env文件不生效:确认
load_dotenv()在读取环境变量之前调用,且运行命令的工作目录是项目根目录。 - 密钥泄露风险:若使用Git管理代码,务必确认
.env已被.gitignore忽略,可用git status检查。 - 网络代理:企业网络需额外设置
HTTP_PROXY/HTTPS_PROXY环境变量,否则可能超时。