在Jupyter Notebook中使用LangChain的开发环境搭建

云信安装大师
90
AI 质量分
22 4 月, 2025
2 分钟阅读
0 阅读

在Jupyter Notebook中使用LangChain的开发环境搭建

引言

LangChain是一个强大的框架,用于构建基于大型语言模型(LLM)的应用程序。本文将带你从零开始,在Jupyter Notebook中搭建LangChain开发环境,并创建一个简单的Agent示例。无论你是AI新手还是有经验的开发者,都能通过本教程快速上手LangChain。

准备工作

在开始之前,请确保你已经具备以下条件:

  1. Python 3.8或更高版本
  2. 已安装Jupyter Notebook/JupyterLab
  3. 稳定的网络连接(部分步骤需要下载依赖)

第一步:创建虚拟环境(推荐)

为避免与其他项目产生依赖冲突,建议先创建一个Python虚拟环境:

代码片段
# 创建虚拟环境
python -m venv langchain_env

# 激活虚拟环境
# Windows:
langchain_env\Scripts\activate
# macOS/Linux:
source langchain_env/bin/activate

第二步:安装必要依赖

在激活的虚拟环境中,安装以下包:

代码片段
pip install langchain openai jupyter ipykernel

说明
langchain: LangChain核心库
openai: OpenAI API的Python客户端(我们将使用它作为LLM提供者)
jupyter: Jupyter Notebook环境
ipykernel: 为Jupyter添加Python内核支持

第三步:设置Jupyter内核

为了让Jupyter Notebook使用我们的虚拟环境,需要注册一个新的内核:

代码片段
python -m ipykernel install --user --name=langchain_env --display-name="LangChain Env"

注意事项
--name参数指定内核名称(应与虚拟环境名一致)
--display-name是在Jupyter界面中显示的名称

第四步:启动Jupyter Notebook

代码片段
jupyter notebook

启动后,在浏览器打开的界面中:
1. 点击右上角”New”按钮
2. 选择”LangChain Env”内核创建新笔记本

第五步:验证安装和设置API密钥

在新创建的Notebook中运行以下代码验证安装:

代码片段
import langchain
print(f"LangChain版本: {langchain.__version__}")

接下来设置OpenAI API密钥(你需要先注册OpenAI账号并获取API密钥):

代码片段
import os
os.environ["OPENAI_API_KEY"] = "你的-api-key-在这里"

安全提示
– 不要将API密钥直接硬编码在代码中(这里仅为演示)
– 实际项目中建议使用环境变量或密钥管理工具

第六步:创建第一个LangChain Agent

现在我们来创建一个简单的Agent,它能回答关于当前日期的问题:

代码片段
from langchain.agents import load_tools, initialize_agent, AgentType
from langchain.llms import OpenAI

# 初始化LLM (这里使用OpenAI的text-davinci-003模型)
llm = OpenAI(temperature=0)

# 加载工具 (这里使用llm-math和serpapi)
tools = load_tools(["llm-math", "serpapi"], llm=llm)

# 初始化Agent
agent = initialize_agent(
    tools, 
    llm, 
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    verbose=True
)

# 运行Agent测试问题
response = agent.run("今天是2023年11月15日,请问100天后的日期是什么?")
print(response)

代码解释
1. load_tools加载了数学计算(llm-math)和搜索引擎(serpapi)工具
2. initialize_agent创建了一个ZEROSHOTREACT_DESCRIPTION类型的Agent(适合通用任务)
3. verbose=True会显示Agent的思考过程(对调试很有帮助)

注意事项
– SerpAPI需要额外的API密钥(可以从serpapi.com获取)
– temperature参数控制输出的随机性(0表示最确定性)

第七步:进阶示例 – CSV数据分析Agent

让我们创建一个能分析CSV数据的Agent:

首先安装额外依赖:

代码片段
pip install pandas tabulate matplotlib

然后在Notebook中运行:

代码片段
from langchain.agents import create_pandas_dataframe_agent
import pandas as pd

# 创建示例数据文件 (实际项目中替换为你自己的CSV文件)
data = {
    "Product": ["Laptop", "Phone", "Tablet", "Monitor"],
    "Price": [1200, 800, 400, 300],
    "Sales": [150, 200, 120, 90]
}
df = pd.DataFrame(data)
df.to_csv("sample_data.csv", index=False)

# 读取数据并创建Agent
df = pd.read_csv("sample_data.csv")
agent = create_pandas_dataframe_agent(OpenAI(temperature=0), df, verbose=True)

# Query the agent
response = agent.run("哪个产品的销售额最高?它的价格是多少?")
print(response)

工作原理
1. create_pandas_dataframe_agent专门用于处理DataFrame数据
2. Agent会自动生成Python代码来分析数据并回答问题

常见问题解决

  1. ModuleNotFoundError

    • 原因:缺少依赖包
    • 解决:使用pip install <包名>安装缺失的包
  2. API密钥无效

    • 检查点:确保密钥正确且账户有足够额度
  3. 代理服务器问题

    • 解决:如果你在公司网络下可能需要配置代理
      代码片段
      import os 
      os.environ["HTTP_PROXY"] = "http://your-proxy:port"
      os.environ["HTTPS_PROXY"] = "http://your-proxy:port"<br>
      
  4. 长时间无响应

    • 可能原因:网络问题或API限制
    • 尝试:降低temperature值或简化问题

Jupyter Notebook使用技巧

  1. 快捷键

    • Shift+Enter: 运行当前单元格并移动到下一个单元格
    • Ctrl+Enter: 运行当前单元格并保持选中状态
  2. 魔法命令

    代码片段
    %timeit [i**2 for i in range(1000)] #测量执行时间 
    
  3. 调试技巧

    代码片段
    %%debug #开启调试模式 
    

LangChain学习资源推荐

  1. 官方文档
  2. GitHub仓库
  3. LangChain中文社区

总结

通过本教程,你已经学会了:

✅ Jupyter Notebook中搭建LangChain开发环境
✅ LangChain Agent的基本使用方法
✅ CSV数据分析Agent的实现

下一步可以尝试:
– [ ] LangChain与其他工具链集成(如向量数据库)
– [ ] Custom Tools的开发
– [ ] Agents的更复杂应用场景

希望这篇教程能帮助你顺利开始LangChain开发之旅!如果有任何问题,欢迎在评论区留言讨论。

原创 高质量