We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
本文原创,著作权归WGrape所有,未经授权,严禁转载
随着GPT模型的问世,大语言模型(LLM)时代已经来临。LLM的出现,使得人工智能在语言处理方面的能力得到了极大的提升。Langchain作为一个面向后端开发者的框架,旨在帮助开发者快速上手并利用LLM开发出强大的应用程序。本教程将为您提供一份全面的指南,帮助您快速掌握Langchain的使用方法!
Langchain是一个基于大语言模型的应用开发框架,随着社区的快速成长,它现在已不仅仅是一个开发框架,更多的是一个LLM应用的基建工程,提供从开发到上线整个闭环流程的全程支持。
所以当提到Langchain的时候,需要知道它起初只是一个比较简单的LLM应用开发框架,只是后来社区成长后,出现了一系列Langchain命名的项目,它们共同组成了现在的Langchain社区。
Langchain作为一个LLM应用的基建工程,整体是非常庞大的,从底向上主要分为四个部分
LangChain Lib从底向上主要包括LangChain-Core/LangChain-Community/LangChain(本身)三大部分
LangChain Expression Language(LCEL)
language models
document loaders
embedding models
vectorstores
retrievers
LLMs and Prompts
Chains
Data Augmented Generation
Agents
Memory
这里会简单概述下LangChain Template、LangServe和LangSmith模块的应用场景。
当一个LLM应用越来越复杂的同时,伴随着的底层实现也越来越复杂。比如越来越多的Chain、Agent等模块之间的调用也更加复杂化,这时Debug的关键性就会显现出来,这就是LangSmith出现的原因。它虽然不是必须使用的产品,但是绝对会帮助并提高工作的效率。
另外langsmith提供了一个类似于dockerhub的平台/功能 ,它把所有prompt都进行统一的管理,如果没有信息安全的顾虑,这个其实很方便,可以点击langsmith prompt hub进行查看。
如果为了信息安全,可以使用langsmith私有部署,私有部署需要企业许可证和秘钥,并且高级功能需要费用,可以查看私有部署文档和定价文档。
在上文的《LangChain Lib结构》中已介绍了Langchain Lib主要由三层组成,所以了解这个架构设计会对后面的理解非常有帮助。无论官方提供的功能操作有多少,多”混乱“,我们也可以时刻找到正确的方向。
本文会主要讲解Langchain Lib部分,所以后面提到的Langchain单词,需要明确知道它不是指一个庞大的Langchain体系,而是特指Langchain Lib中的Langchain,或者代指整个Langchain Lib部分。
Langchain Lib
为了更简单的理解,甚至可以把Langchain和Langchain Lib作等同的理解,二者在理解上其实没有太大的区别。
可以选择使用一键式多环境管理sparrow服务中已经集成的Langchain环境
Langchain
使用如下命令即可快速安装Langchain。通过python -m site命令查看langchain的安装目录,就会发现它就是上面提到Langchain源码 langchain-ai/langchain/libs/langchain。
python -m site
pip install langchain
所以在官网中可以看到,使用下面源码安装的方式也可以同样成功安装Langchain。
从上文《LangChain Lib结构》可知Langchain是对Langchain-Community的整合和适配。所以在安装完Langchain后,会自动安装langchain-community,如果需要单独安装,使用下面命令即可
pip install langchain-community
从上文《LangChain Lib结构》可知Langchain-Community是对Langchain-Core中抽象的具体实现。所以在安装完Langchain后,会自动安装langchain-core,如果需要单独安装,使用下面命令即可
pip install langchain-core
截止2024年2月份,可以看到在Lib中有新增的一些模块
pip install langchain-experimental
pip install langchain-cli
LangSmith SDK模块在安装完Langchain后也会自动安装,如果需要单独安装,请使用如下命令
pip install langsmith
LangServe模块只有在安装完Langchain CLI后才会自动安装(注意不是Langchain),如果需要单独安装,请使用如下命令
Langchain CLI
# 同时安装客户端和服务端 pip install "langserve[all]" # 仅安装客户端 pip install "langserve[client]" # 仅安装服务端 pip install "langserve[server]"
建议根据如下提示进行安装
# 必须安装 pip install langchain-openai # LLM大语言模型必须使用
在下面这个例子中,主要分为几个简单的入门例子
langchain_openai
ChatOpenAI()
langchain_core
ChatPromptTemplate
StrOutputParser()
|
prompt | llm | output_parser
# ==================== 创建LLM并调用 ==================== from langchain_openai import ChatOpenAI # 1. 使用系统配置的OPENAI_API_KEY环境变量 llm = ChatOpenAI() # 2. 传递openai_api_key参数 # llm = ChatOpenAI(openai_api_key="") print(llm.invoke("1+1=?")) # ==================== 创建一个复杂的Prompt并使用Chain链式调用 ==================== from langchain_core.prompts import ChatPromptTemplate prompt = ChatPromptTemplate.from_messages([ ("system", "You are good at math."), ("user", "{input}") ]) chain = prompt | llm print(chain.invoke({"input": "1+1=?"})) # ==================== 创建一个StrOutputParser输出处理器并加入到Chain中 ==================== from langchain_core.output_parsers import StrOutputParser output_parser = StrOutputParser() chain = prompt | llm | output_parser print(chain.invoke({"input": "1+1=?"}))
由于文章篇幅的限制,先告一段落。相信经过上面简单的介绍之后,相信已经可以对Langchain有了初步的理解,下面会着重用最简单的描述、最容易理解的图、最直观的代码来深入讲解Langchain。
暂时未完,请期待下篇文档 《最全面又最浅显易懂的Langchain快速上手教程(下)》
The text was updated successfully, but these errors were encountered:
LangChain v0.1.0 Release :langchain-ai/langchain#15712
LangChain v0.1.0 版本发布博客 :https://blog.langchain.dev/langchain-v0-1-0/
LangChain v0.2.0 Planning :langchain-ai/langchain#15713
Sorry, something went wrong.
No branches or pull requests
最全面又最浅显易懂的Langchain快速上手教程(上)
一. 前言
随着GPT模型的问世,大语言模型(LLM)时代已经来临。LLM的出现,使得人工智能在语言处理方面的能力得到了极大的提升。Langchain作为一个面向后端开发者的框架,旨在帮助开发者快速上手并利用LLM开发出强大的应用程序。本教程将为您提供一份全面的指南,帮助您快速掌握Langchain的使用方法!
二. 基础介绍
1. 什么是Langchain
Langchain是一个基于大语言模型的应用开发框架,随着社区的快速成长,它现在已不仅仅是一个开发框架,更多的是一个LLM应用的基建工程,提供从开发到上线整个闭环流程的全程支持。
所以当提到Langchain的时候,需要知道它起初只是一个比较简单的LLM应用开发框架,只是后来社区成长后,出现了一系列Langchain命名的项目,它们共同组成了现在的Langchain社区。
2. Langchain的核心组成
(1) 四大部分
Langchain作为一个LLM应用的基建工程,整体是非常庞大的,从底向上主要分为四个部分
(2) LangChain Lib结构
LangChain Lib从底向上主要包括LangChain-Core/LangChain-Community/LangChain(本身)三大部分
LangChain Expression Language(LCEL)
language models
,document loaders
,embedding models
,vectorstores
,retrievers
等模块的抽象,源码位置 langchain-ai/langchain/libs/coreLangChain Expression Language(LCEL)
language models
,document loaders
,embedding models
,vectorstores
,retrievers
等模块抽象的实现,源码位置 langchain-ai/langchain/libs/communityLLMs and Prompts
,Chains
,Data Augmented Generation
,Agents
,Memory
组成。源码位置 langchain-ai/langchain/libs/langchain(3) 其他部分
这里会简单概述下LangChain Template、LangServe和LangSmith模块的应用场景。
① LangSmith
当一个LLM应用越来越复杂的同时,伴随着的底层实现也越来越复杂。比如越来越多的Chain、Agent等模块之间的调用也更加复杂化,这时Debug的关键性就会显现出来,这就是LangSmith出现的原因。它虽然不是必须使用的产品,但是绝对会帮助并提高工作的效率。
另外langsmith提供了一个类似于dockerhub的平台/功能 ,它把所有prompt都进行统一的管理,如果没有信息安全的顾虑,这个其实很方便,可以点击langsmith prompt hub进行查看。
如果为了信息安全,可以使用langsmith私有部署,私有部署需要企业许可证和秘钥,并且高级功能需要费用,可以查看私有部署文档和定价文档。
3. Langchain Lib中的Langchain
在上文的《LangChain Lib结构》中已介绍了Langchain Lib主要由三层组成,所以了解这个架构设计会对后面的理解非常有帮助。无论官方提供的功能操作有多少,多”混乱“,我们也可以时刻找到正确的方向。
本文会主要讲解Langchain Lib部分,所以后面提到的Langchain单词,需要明确知道它不是指一个庞大的Langchain体系,而是特指Langchain Lib中的Langchain,或者代指整个
Langchain Lib
部分。为了更简单的理解,甚至可以把Langchain和Langchain Lib作等同的理解,二者在理解上其实没有太大的区别。
4. 关于安装
(1) 安装Langchain
使用如下命令即可快速安装Langchain。通过
python -m site
命令查看langchain的安装目录,就会发现它就是上面提到Langchain源码 langchain-ai/langchain/libs/langchain。所以在官网中可以看到,使用下面源码安装的方式也可以同样成功安装Langchain。
(2) 安装Langchain-Community
从上文《LangChain Lib结构》可知Langchain是对Langchain-Community的整合和适配。所以在安装完Langchain后,会自动安装langchain-community,如果需要单独安装,使用下面命令即可
(3) 安装Langchain-Core
从上文《LangChain Lib结构》可知Langchain-Community是对Langchain-Core中抽象的具体实现。所以在安装完Langchain后,会自动安装langchain-core,如果需要单独安装,使用下面命令即可
(4) 安装Langchain Lib的其他部分
截止2024年2月份,可以看到在Lib中有新增的一些模块
pip install langchain-experimental
命令安装pip install langchain-cli
命令安装(5) 安装LangServe和LangSmith
LangSmith SDK模块在安装完Langchain后也会自动安装,如果需要单独安装,请使用如下命令
LangServe模块只有在安装完
Langchain CLI
后才会自动安装(注意不是Langchain),如果需要单独安装,请使用如下命令(6) 安装其他依赖
建议根据如下提示进行安装
5. 入门例子
在下面这个例子中,主要分为几个简单的入门例子
langchain_openai
包中的ChatOpenAI()
创建一个LLM大语言模型对象langchain_core
包中的ChatPromptTemplate
创建一个Prompt对象langchain_core
包中的StrOutputParser()
创建一个输出处理器|
即可自动实现链式调用(基于__ror__魔法函数实现),如prompt | llm | output_parser
暂时未完...
由于文章篇幅的限制,先告一段落。相信经过上面简单的介绍之后,相信已经可以对Langchain有了初步的理解,下面会着重用最简单的描述、最容易理解的图、最直观的代码来深入讲解Langchain。
暂时未完,请期待下篇文档 《最全面又最浅显易懂的Langchain快速上手教程(下)》
The text was updated successfully, but these errors were encountered: