LangChain 的环境部署
LangChain 的部署相对灵活,因为它主要是一个 Python 库,并且有不同语言(Python 和 JavaScript/TypeScript)的 SDK。大多数情况下,您会以 Python 的方式来部署和使用 LangChain。
pip install langchain langchain-community langchain-ollama dashscope chromadb
pip install langchain_chroma
- langchain:核心包
- langchain-community:社区支持包,提供了更多的第三方模型调用(阿里云千问模型就需要这个包)
- langchain-ollama:Ollama支持包,支持调用ollama托管部署的本地模型
- dashscope:阿里云通义千问的PythonSDK
- chromadb:轻量向量数据库(后续使用)
以下是 LangChain 的核心环境部署内容:
1. Python 环境准备
LangChain 是一个 Python 库,因此您需要一个配置好的 Python 环境。
- Python 版本: 推荐使用 Python 3.8 或更高版本。
- 安装 Python: 如果您的系统没有 Python,可以从 python.org 下载并安装。
2. 创建和激活虚拟环境 (强烈推荐)
为了避免不同项目之间的依赖冲突,使用虚拟环境是最佳实践。
-
使用
venv(Python 自带):# 1. 在您的项目目录中创建虚拟环境 python -m venv .venv # 2. 激活虚拟环境 # Windows: .\.venv\Scripts\activate # macOS/Linux: source .venv/bin/activate激活后,您的命令行提示符前面会显示
(.venv)。 -
使用
conda(Anaconda/Miniconda):# 1. 创建 conda 虚拟环境 (例如,指定 Python 版本) conda create -n langchain_env python=3.9 # 2. 激活 conda 虚拟环境 conda activate langchain_env
3. 安装 LangChain 库
一旦您的 Python 虚拟环境激活,您就可以使用 pip 来安装 LangChain。
-
安装核心库:
pip install langchain -
安装特定集成 (根据您的需求):
LangChain 的强大之处在于它集成了许多外部服务,您需要根据您使用的具体服务来安装额外的库。以下是一些常见的例子:-
OpenAI API:
pip install openai -
LLMs (其他):
- Hugging Face models:
pip install transformers - Anthropic (Claude):
pip install anthropic - Google (Generative AI):
pip install google-generativeai - Cohere:
pip install cohere
- Hugging Face models:
-
Vector Stores:
- Chroma:
pip install chromadb - FAISS:
pip install faiss-cpu(或faiss-gpu如果您有 GPU) - Pinecone:
pip install pinecone-client - Weaviate:
pip install weaviate-client
- Chroma:
-
Document Loaders:
- PDF:
pip install pypdf - Web Pages:
pip install beautifulsoup4 - Google Drive:
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
- PDF:
-
Agents (Tools 及其依赖):
- Google Search:
pip install google-search-results(需要 SerpAPI 密钥) - Python REPL: 通常不需要额外安装,LangChain 内置。
- Bash/Shell: LangChain 提供了
ShellTool,可能需要确保您的系统中有相应的 shell。
- Google Search:
建议: 在开始项目前,根据 LangChain 的文档(https://python.langchain.com/docs/get_started/installation)确定您需要的集成,并一并安装。
-
OpenAI API:
4. 配置 API 密钥和环境变量
许多 LLM 服务和工具需要 API 密钥才能使用。LangChain 推荐使用环境变量来管理这些密钥,这既安全又方便。
-
获取 API 密钥:
- OpenAI: 注册 OpenAI 账号,在 https://platform.openai.com/account/api-keys 创建 API Key。
- SerpAPI (Google Search): 注册 SerpAPI 账号,获取 API Key。
- Pinecone: 注册 Pinecone 账号,获取 API Key 和 Environment。
- ...等等,具体取决于您使用的服务。
-
设置环境变量:
-
Temporary (当前终端会话):
# Windows (Command Prompt) set OPENAI_API_KEY=your_openai_api_key # Windows (PowerShell) $env:OPENAI_API_KEY="your_openai_api_key" # macOS/Linux export OPENAI_API_KEY=your_openai_api_key -
Permanent (在操作系统层面):
- Windows: 在“环境变量”设置中添加新的用户变量或系统变量。
-
macOS/Linux: 编辑您的 shell 配置文件 (如
.bashrc,.zshrc,.profile),添加export KEY_NAME=your_key语句,然后运行source ~/.your_shell_config_file或重启终端。
-
使用
.env文件 (推荐):
在您的项目根目录下创建一个名为.env的文件,并在其中添加您的密钥:OPENAI_API_KEY=your_openai_api_key SERPAPI_API_KEY=your_serpapi_api_key # ...然后,安装
python-dotenv库:pip install python-dotenv在您的 Python 脚本的开头加载这些变量:
from dotenv import load_dotenv load_dotenv() # 会自动从当前目录或父目录加载 .env 文件 import os openai_api_key = os.getenv("OPENAI_API_KEY")
-
5. 启动 LangChain 项目 (示例)
您可以在一个 Python 文件中编写您的 LangChain 代码。
示例:一个简单的 LangChain 链 (需要 OpenAI API Key)
确保您已安装:
pip install langchain openai python-dotenv-
创建
.env文件:OPENAI_API_KEY=sk-your_actual_openai_api_key_here -
创建 Python 文件 (例如
main.py):import os from dotenv import load_dotenv from langchain_openai import OpenAI from langchain.prompts import PromptTemplate from langchain.chains import LLMChain # 1. 加载环境变量 load_dotenv() # 2. 检查 API Key 是否加载成功 (可选) if os.getenv("OPENAI_API_KEY") is None: print("OpenAI API Key not found. Please set it in your .env file or as an environment variable.") exit() # 3. 初始化 LLM (例如 OpenAI) # temperature=0 表示输出更确定,temperature=1 表示更随机/创造性 llm = OpenAI(temperature=0.7) # 4. 定义 Prompt Template prompt_template = PromptTemplate( input_variables=["topic"], template="讲一个关于 {topic} 的有趣的故事。", ) # 5. 创建 LLMChain # chain_type="stuff" 是最简单的链类型,将所有输入文档“塞”进一个上下文窗口 story_chain = LLMChain(llm=llm, prompt=prompt_template) # 6. 运行链 topic_to_ask = "一只会飞的猫" print(f"Generating a story about: {topic_to_ask}") story = story_chain.invoke({"topic": topic_to_ask}) # 使用 .invoke for single input # story = story_chain.batch([{"topic": topic_to_ask}, {"topic": "一个聪明的小机器人"}]) # 使用 .batch for multiple inputs print("\n--- Generated Story ---") print(story['text']) # Output is a dictionary, the story is in 'text' key -
运行脚本:
python main.py
6. JavaScript/TypeScript 环境部署
LangChain 也提供了 JavaScript/TypeScript 的 SDK (LangChain.js)。部署方式类似:
- Node.js 环境: 确保安装了 Node.js。
-
创建项目:
npm init或yarn init。 -
安装 LangChain.js:
npm install langchain @langchain/openai(取决于您使用的 LLM) -
配置 API Key: 使用
.env文件配合dotenv包,或者直接在代码中设置环境变量。 - 编写代码: 使用 LangChain.js 的 API 来构建您的应用。
总结部署步骤:
- 安装 Python
- 创建并激活 Python 虚拟环境
- 使用
pip安装langchain核心库 - 安装您需要的特定集成库 (LLM, Vector Store, Document Loader 等)
- 获取并配置 API 密钥 (推荐使用
.env文件) - 编写 Python 代码,使用 LangChain 的模块构建应用
- 运行您的 Python 脚本
LangChain 的环境部署主要就是围绕着 Python 包的管理和 API 密钥的配置。一旦这些基础搭建好,您就可以专注于使用 LangChain 的强大功能来构建您的 LLM 应用了。