要构建LangChain应用,需要准备一个本地开发环境。这包括安装所需软件包,以及设置与大型语言模型交互所需的凭据。一个正确设置的环境是构建任何应用的起点。Python与虚拟环境首先,请确保已安装受支持的Python版本,通常是Python 3.8或更高版本。为了保持项目依赖整洁并避免包之间的冲突,在Python开发中,使用虚拟环境是惯例。这会将您的项目库与系统全局Python安装隔离开来。您可以使用Python内置的venv模块来创建和激活虚拟环境。打开终端并运行以下命令:# 创建一个名为'venv'的虚拟环境 python -m venv venv # 在macOS/Linux上激活环境 source venv/bin/activate # 或者,在Windows上激活 .\venv\Scripts\activate激活后,您的终端提示符通常会改变,显示当前环境的名称,这表明您安装的任何包都将包含在这个独立空间中。安装LangChain软件包LangChain采用模块化架构,其功能分布在多个软件包中。这使得您可以只安装特定应用所需的部分。核心库提供基础抽象,而独立软件包包含针对特定LLM提供商、数据库和工具的集成。在本课程中,我们将主要使用OpenAI模型,因此您需要安装核心langchain库以及langchain-openai集成包。我们还会安装python-dotenv,这是一个辅助库,用于管理环境变量,它是处理API密钥的常用方法。在您已激活的虚拟环境中执行以下命令:pip install langchain langchain-openai python-dotenv此命令安装三个软件包:langchain:汇集了常用依赖项和LangChain表达式语言 (LCEL) 的主软件包。langchain-openai:提供与OpenAI模型(包括其LLM和嵌入模型)交互的特定类。python-dotenv:一个用于将环境变量从.env文件加载到应用环境中的工具。管理API密钥要使用云端大型语言模型,例如OpenAI的模型,您需要一个API密钥。此密钥用于验证您的请求,并将其关联到您的账户以进行计费和使用情况跟踪。管理API密钥最安全灵活的方法是使用环境变量。这种做法可以避免您将敏感凭据直接硬编码到源代码中,这会带来重大的安全风险。使用.env文件在开发过程中管理环境变量的一个便捷方法是将其存储在项目根目录下名为.env的文件中。创建文件: 在您的项目根文件夹中,创建一个名为.env的新文件。添加密钥: 打开文件,并按照以下式样添加您的OpenAI API密钥。将sk-...替换为您的实际密钥。OPENAI_API_KEY="sk-..."LangChain集成(包括langchain-openai)在您初始化模型时,会自动识别这个特定的环境变量 (OPENAI_API_KEY)。通过使用python-dotenv,您可以在应用启动时加载此文件,使密钥可供LangChain使用。注意: 请记得将.env添加到您的.gitignore文件中。这是防止您意外将密钥提交到Git等版本控制系统的一个必要步骤。验证您的设置安装了库并设置好API密钥后,您可以验证环境是否正常运行。创建一个新的Python文件,例如verify_setup.py,并添加以下代码:import os from dotenv import load_dotenv from langchain_openai import ChatOpenAI # 从.env文件加载环境变量 # 这一行会查找.env文件并将其内容加载到环境中 load_dotenv() # 检查API密钥是否已加载 api_key = os.getenv("OPENAI_API_KEY") if not api_key: print("未找到OpenAI API密钥。请在您的.env文件中设置。") else: print("OpenAI API密钥加载成功。") # 尝试实例化ChatOpenAI模型 try: llm = ChatOpenAI() print("LangChain和OpenAI已正确设置。") print("ChatOpenAI模型已实例化:", llm.model_name) except Exception as e: print(f"实例化模型时发生错误:{e}") 现在,从您的终端运行此脚本:python verify_setup.py如果一切设置无误,您应该看到以下输出,这证实您的API密钥已找到,并且LangChain的ChatOpenAI类已无误实例化:OpenAI API密钥加载成功。 LangChain和OpenAI已正确设置。 ChatOpenAI模型已实例化: gpt-3.5-turbo您的开发环境现已设置完成。您已安装所需库并安全地提供了API密钥,这为与LLM通信奠定了条件。在下一部分,您将使用此设置来构建您的第一个简单LangChain应用。