既然我们已经讨论了用于LLM工作流的良好组织的Python开发环境的构成要素,那么现在就将这些想法付诸实践。本节提供了配置本地环境的具体步骤,基于前面提到的虚拟环境、依赖管理和安全API密钥处理等理念。依照这些步骤操作,将为本课程中的项目提供一个清晰且可重现的根基。我们假设您的系统上安装了合适版本的Python,如“选择Python版本”一节中所述。1. 创建项目目录首先,为您的LLM项目创建一个专用文件夹。打开您的终端或命令提示符,导航到您通常存储开发项目的位置。然后,创建并进入新目录:mkdir python-llm-course-project cd python-llm-course-project将项目保存在独立目录中是标准做法,有助于保持条理。2. 初始化虚拟环境在项目目录内,使用Python内置的venv模块创建一个虚拟环境。我们将环境目录命名为.venv(开头的点通常表示隐藏文件/文件夹,这在环境目录中很常见)。python -m venv .venv此命令会创建.venv子目录,其中包含Python解释器的副本以及管理本项目独立包所需的工具。3. 激活虚拟环境在安装包之前,您需要激活环境。激活命令在不同操作系统之间略有不同:macOS / Linux (bash/zsh):source .venv/bin/activate ```Windows (命令提示符):.venv\Scripts\activate.bat ```Windows (PowerShell):.venv\Scripts\Activate.ps1 ``` (您可能需要调整PowerShell的执行策略:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser)激活后,您的终端提示符通常会变为显示环境名称(例如,(.venv) your-user@hostname:~/python-llm-course-project$),表明pip命令现在将在该隔离环境中运行。4. 安装核心库虚拟环境激活后,我们来安装一些本课程中将要使用的核心库,使用pip。我们将从python-dotenv开始,用于管理环境变量(如API密钥),以及LangChain核心包。python -m pip install python-dotenv langchain openai注意:根据您之后计划使用的LLM提供商,您可能需要其他包,如anthropic、google-generativeai等。我们将在需要时安装这些。5. 创建requirements.txt文件为确保您的环境可重现并方便共享依赖,生成一个requirements.txt文件。此文件列出了您当前环境中安装的所有包及其具体版本。python -m pip freeze > requirements.txt您可以查看生成的requirements.txt文件。它将包含langchain==X.Y.Z、openai==A.B.C及其依赖项等条目。如果其他人想设置相同的环境,他们可以运行pip install -r requirements.txt。6. 安全设置API密钥存储(.env文件)如“安全设置API密钥”中所述,我们将使用.env文件来存储敏感凭据。在**项目目录的根目录(python-llm-course-project)**中创建一个名为.env的文件。以以下格式添加您的API密钥:# .env 文件 OPENAI_API_KEY='your_actual_openai_api_key_here' # ANTHROPIC_API_KEY='如果您需要Anthropic密钥' # 根据需要添加其他密钥将'your_actual_openai_api_key_here'替换为您的真实密钥。**重要提示:**切勿将此.env文件提交到Git等版本控制系统。7. 配置.gitignore为避免意外提交您的虚拟环境目录和敏感的.env文件,请在项目根目录中创建一个.gitignore文件。添加以下行:# .gitignore 文件 # 虚拟环境 .venv/ # 环境变量 .env # Python缓存文件 __pycache__/ *.pyc这会告诉Git忽略这些文件和目录。8. 通过简单脚本验证设置我们来在项目根目录中创建一个小型Python脚本(verify_setup.py),以确认环境已激活、包已安装,并且API密钥可以加载。# verify_setup.py import os from dotenv import load_dotenv print("尝试加载环境变量...") # 从.env文件加载变量到环境变量 load_success = load_dotenv() if load_success: print(".env 文件加载成功。") else: print("警告:.env 文件未找到或加载失败。") # 尝试从环境变量中获取API密钥 api_key = os.getenv("OPENAI_API_KEY") if api_key: # 简单检查,不直接打印主密钥 print("在环境变量中找到OpenAI API密钥。") print(f"长度: {len(api_key)}") else: print("错误:在环境变量中未找到OpenAI API密钥。") print("请确保它在您的.env文件中设置正确并且文件已加载。") # 验证包导入 try: from langchain_core.prompts import PromptTemplate print("成功从langchain_core导入PromptTemplate。") except ImportError as e: print(f"从LangChain导入时出错: {e}") print("请确保LangChain已正确安装在您的虚拟环境中。") 在您的终端中运行此脚本(请确保您的虚拟环境仍处于激活状态):python verify_setup.py如果一切配置正确,您应该看到确认.env文件已加载、API密钥已找到(以及其长度,而非密钥本身)以及LangChain组件成功导入的输出。如果您遇到错误,请仔细检查之前的步骤,确保.env文件存在于正确位置、虚拟环境已激活且库已无问题地安装。项目结构概述此时,您的项目目录应类似于以下结构:digraph G { bgcolor="transparent"; node [shape=folder, style=filled, fillcolor="#a5d8ff", fontname="Arial"]; edge [arrowhead=none]; proj [label="python-llm-course-project"]; venv [label=".venv", fillcolor="#e9ecef"]; env_file [label=".env", shape=note, fillcolor="#ffe066"]; gitignore [label=".gitignore", shape=note, fillcolor="#ced4da"]; reqs [label="requirements.txt", shape=note, fillcolor="#96f2d7"]; script [label="verify_setup.py", shape=note, fillcolor="#bac8ff"]; proj -> venv; proj -> env_file; proj -> gitignore; proj -> reqs; proj -> script; }您的项目目录包含虚拟环境(.venv)、API密钥存储(.env)、被忽略的文件列表(.gitignore)、依赖项列表(requirements.txt)以及您的Python脚本(verify_setup.py)。您现在拥有了一个功能完善且隔离的Python环境,已准备好开发LLM应用。此设置提供了一个稳定的基础,供您在整个课程中安装更多库、编写代码和管理依赖项,而不会干扰其他项目或您的全局Python安装。