当前位置: 首页 > news >正文

LangChain框架入门02:开发环境配置

在上一篇文章中,我们系统地了解了 LangChain 是什么、能做什么、核心模块有哪些,现在你可能有以下疑问:

  • 项目环境该怎么搭建?
  • 各个包之间有什么依赖关系?
  • 第一个 LangChain 应用应该从哪里写起?

本文将带你从零开始,搭建一个基于 LangChain 的 Python 开发环境,带你写出第一个 支持 OpenAI 模型的聊天机器人程序。

一、LangChain包依赖关系

1.1 LangChain中的包

LangChain 框架被划分为多个独立包,用户可以根据实际需求自由选择所需模块,如果想要安装LangChain主包可以运行:

pip install langchain

LangChain主包虽然涵盖了框架的大部分功能,但其最大价值在于能够与各类模型提供商和主流数据库无缝集成,LangChain 主包本身并不包含这些第三方集成包的内容,下图表示了LangChain包之间的依赖关系。

langchain-core:除 langsmith 外,LangChain 中的其他所有包都依赖于该核心包,它提供了所有模块共享的基础类。

langchain:包含了langchain-core。

langchain-openai:OpenAI 相关工具的集成包

langchain-community:尚未独立拆分的第三方集成包。

langgraph:基于图的任务流程管理工具包,可以和LangChain无缝集成,也可以不使用LangChain单独安装

langsmith:LLM 应用的全生命周期管理平台,既可以与 LangChain 配合使用,也可以独立用于非 LangChain 的大模型应用场景。

二、项目搭建

2.1 Python环境

使用Python 版本为 3.10.11

python --version
Python 3.10.11

将pip的镜像源设置为腾讯云镜像,加快下载速度

pip config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple
Writing to /Users/apple/.config/pip/pip.conf
pip config list
global.index-url='https://mirrors.cloud.tencent.com/pypi/simple'

2.2 创建虚拟环境

在开发 Python 项目时,首先创建项目文件夹:

mkdir langchain-study

创建虚拟环境,虚拟环境可隔离项目依赖,避免版本冲突

cd langchain-study 
python -m venv env

激活虚拟环境

source env/bin/activate

2.3 PyCharm设置虚拟环境

打开项目,在 Settings 中配置 Python 虚拟环境,创建本地解释器。

选择之前创建的Python虚拟环境。

选择之前创建的虚拟环境中的Python解释器。

2.4 依赖版本管理

首先,创建依赖管理文件 requirements.txt

touch requirements.txt

requirements.txt 中添加 LangChain 所需依赖,其中 python-dotenv 用于加载 .env 环境变量配置。

langchain==0.2.17
langchain-community==0.2.19
langchain-core==0.2.43
python-dotenv==1.0.1

导入依赖

pip install -r requirements.txt

2.5 创建配置文件

在项目根目录下创建 .env 文件,添加 OpenAI 的 API 地址和密钥

# OpenAI大模型
OPENAI_API_KEY=**
OPENAI_API_BASE=https://api.***.***/v1

三、第一个聊天机器人

新建一个 Python 文件,就可以开始编写第一个聊天机器人程序了。

代码如下:

import dotenv
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI# 读取env配置
dotenv.load_dotenv()# 1.创建提示词模板
prompt = ChatPromptTemplate.from_template("{question}")# 2.构建GPT-3.5模型
llm = ChatOpenAI(model="gpt-3.5-turbo")# 3.创建输出解析器
parser = StrOutputParser()# 4.执行链
chain = prompt | llm | parser
print(chain.invoke({"question": "请以表格的形式返回三国演义实力最强的十个人,并进行简要介绍"}))

执行结果:

Client connected from ('127.0.0.1', 10200)
| 序号 | 人物名称 | 实力简介 |
| ---- | ------- | -------- |
| 1 | 关羽 | 身长九尺,美貌堂堂,霸气十足,擅长马术和武艺 |
| 2 | 张飞 | 身高九尺五寸,力大无穷,武力值得信赖,勇猛无比 |
| 3 | 赵云 | 龙胆虎父,漂亮多金,银枪铁剑,战阵破敌 |
| 4 | 吕布 | 勇猛无敌,百战百胜,马上击败敌人 |
| 5 | 刘备 | 先富帅后富,对称严格,政治家和军事家 |
| 6 | 孙权 | 精力充沛,军事家和政治家,敢于冒险 |
| 7 | 曹操 | 身高上寸长,帅气值爆表,智慧超群,军事和政治实力雄厚 |
| 8 | 周瑜 | 孤立无援,愚者的梦想家,武将和政治家 |
| 9 | 夏侯惇 | 体格庞大,白马优势,骁勇善战,为部队凯旋而回 |
| 10 | 安宁渡 | 敬重家属,活石室,独特根基,攻击迅雷不可撤销 |

四、总结

本文介绍了LangChain框架的包依赖结构及其模块划分,明确了主包 langchain 与核心包 langchain-core、第三方集成包如 langchain-openailangchain-community 之间的关系,并简要介绍了 langgraphlangsmith 这两个生态工具的功能与使用场景。

在项目实操部分,我们从零开始搭建了一个LangChain开发环境,涵盖了虚拟环境的创建、依赖版本管理、PyCharm解释器配置及.env配置文件的设置,并通过一个简单的聊天机器人示例,展示了 LangChain 与 OpenAI 模型的基础集成流程。

通过本文,相信你应该已经掌握了如何快速构建一个基于LangChain的Python开发环境,构建自己的第一个AI应用。

http://www.dtcms.com/a/357663.html

相关文章:

  • 光伏发多少电才够用?匹配家庭用电需求
  • 【C/C++】柔性数组
  • 用html+js下拉菜单的demo,当鼠标点击后展开,鼠标点击别的地方后折叠
  • 高斯滤波的简介、C语言实现和实测
  • simd笔记
  • 嵌入式-定时器的从模式控制器、PWM参数测量实验-Day24
  • 命令拓展(草稿)
  • C++ 并发编程:全面解析主流锁管理类
  • 虚拟私有网络笔记
  • HDMI2.1 8K验证平台
  • websocket建立连接过程
  • 航电系统路径规划技术解析
  • C++Primer笔记——第六章:函数(下)
  • Python气象与海洋:安装入门+科学计算库+可视化+台风数据+WRF/ROMS后处理+EOF分析+机器学习
  • C++标准库断言头文件<cassert>使用指南
  • 告别音色漂移!微软超长语音合成模型VibeVoice正式开源​
  • Ubuntu磁盘分区重新挂载读写指南
  • 蓓韵安禧活性叶酸专利益生菌优生优选
  • 3D 数字孪生可视化技术在学校项目中的应用
  • AI 自动化编程 trae 体验3 开发小程序
  • 通过Kubernetes安装mysql5服务
  • Aha Moment——啊哈时刻!
  • ContextMenuManager for Win:优化右键菜单,解决用户痛点
  • Coze源码分析-API授权-编辑令牌-前端源码
  • 今天聊聊支付里的三个小概念:同名充值、非同代付和 D0。
  • NLP:驱动人工智能迈向 “理解” 与 “对话” 的核心引擎
  • 2025年06月 Scratch 图形化(一级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 小杰机器视觉(five day)——直方图均衡化
  • five86: 1靶场渗透测试
  • 大模型应用开发笔记(了解篇)