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()

运行与验证

  1. 在项目根目录执行 python test_.py。
  2. 通过条件:程序无异常退出,控制台先打印API调用成功,返回内容:,随后输出一行模型生成的文本。
  3. 失败排查:若提示未检测到有效的_,检查.env文件是否位于当前运行目录、变量名是否拼写正确;若提示AuthenticationError,说明密钥无效或已过期。

常见问题

  • .env文件不生效:确认load_dotenv()在读取环境变量之前调用,且运行命令的工作目录是项目根目录。
  • 密钥泄露风险:若使用Git管理代码,务必确认.env已被.gitignore忽略,可用 git status 检查。
  • 网络代理:企业网络需额外设置HTTP_PROXY/HTTPS_PROXY环境变量,否则可能超时。