在上一篇文章中,我们系统地了解了 LangChain 是什么、能做什么、核心模块有哪些,现在你可能有以下疑问:
- 项目环境该怎么搭建?
- 各个包之间有什么依赖关系?
- 第一个 LangChain 应用应该从哪里写起?
本文将带你从零开始,搭建一个基于 LangChain 的 Python 开发环境,带你写出第一个 支持 OpenAI 模型的聊天机器人程序。
一、LangChain包依赖关系
1.1 LangChain中的包
LangChain 框架被划分为多个独立包,用户可以根据实际需求自由选择所需模块,如果想要安装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 项目时,首先创建项目文件夹:创建虚拟环境,虚拟环境可隔离项目依赖,避免版本冲突- cd langchain-study
- python -m venv env
复制代码 激活虚拟环境2.3 PyCharm设置虚拟环境
打开项目,在 Settings 中配置 Python 虚拟环境,创建本地解释器。
选择之前创建的Python虚拟环境。
选择之前创建的虚拟环境中的Python解释器。
2.4 依赖版本管理
首先,创建依赖管理文件 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": "请以表格的形式返回三国演义实力最强的十个人,并进行简要介绍"}))
复制代码 执行结果:
四、总结
本文介绍了LangChain框架的包依赖结构及其模块划分,明确了主包 langchain 与核心包 langchain-core、第三方集成包如 langchain-openai 和 langchain-community 之间的关系,并简要介绍了 langgraph 和 langsmith 这两个生态工具的功能与使用场景。
在项目实操部分,我们从零开始搭建了一个LangChain开发环境,涵盖了虚拟环境的创建、依赖版本管理、PyCharm解释器配置及.env配置文件的设置,并通过一个简单的聊天机器人示例,展示了 LangChain 与 OpenAI 模型的基础集成流程。
通过本文,相信你应该已经掌握了如何快速构建一个基于LangChain的Python开发环境,构建自己的第一个AI应用。后续将继续深入介绍LangChain的核心模块和高级用法,敬请期待。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |