最全面又最浅显易懂的Langchain快速上手教程,非常详细,收藏我这一篇就够了

一. 前言

随着GPT模型的问世,大语言模型(LLM)时代已经来临。LLM的出现,使得人工智能在语言处理方面的能力得到了极大的提升。Langchain作为一个面向后端开发者的框架,旨在帮助开发者快速上手并利用LLM开发出强大的应用程序。本教程将为您提供一份全面的指南,帮助您快速掌握Langchain的使用方法!

二. 基础介绍

1. 什么是Langchain

Langchain是一个基于大语言模型的应用开发框架,随着社区的快速成长,它现在已不仅仅是一个开发框架,更多的是一个LLM应用的基建工程,提供从开发到上线整个闭环流程的全程支持。

所以当提到Langchain的时候,需要知道它起初只是一个比较简单的LLM应用开发框架,只是后来社区成长后,出现了一系列Langchain命名的项目,它们共同组成了现在的[Langchain社区]。

2. Langchain的核心组成

(1) 四大部分

Langchain作为一个LLM应用的基建工程,整体是非常庞大的,从底向上主要分为四个部分

  • LangChain Lib 库 :主要包括core/community/experimental等Python库,源码位置 [langchain-ai/langchain/libs/]
  • LangChain Template 模板库 :主要包括各种可参考和借鉴的LLM生产级别应用,源码位置 [langchain-ai/langchain/templates]
  • LangServe REST服务支持 :主要用于将LLM应用部署为REST服务,源码位置 [langchain-ai/langserve]
  • LangSmith 开发者平台 :主要包括LL应用从开发、测试、部署、运维于一体的Devops平台

(2) LangChain Lib结构

LangChain Lib从底向上主要包括LangChain-Core/LangChain-Community/LangChain(本身)三大部分

  • LangChain-Core :LangChain-Core是整个LangChain生态的抽象,比如LangChain Expression Language(LCEL) language models, document loaders, embedding models, vectorstores, retrievers等模块的抽象,源码位置 [langchain-ai/langchain/libs/core]
  • LangChain-Community :LangChain-Community是对Core层抽象的实现,比如对LangChain Expression Language(LCEL) language models, document loaders, embedding models, vectorstores, retrievers等模块抽象的实现,源码位置 [langchain-ai/langchain/libs/community]
  • LangChain :对LangChain-Community部分进行整合和适配,就构成了LangChain这个单一项目。只通过这一个LangChain项目就可以快速构建LLM应用了,它主要由LLMs and Prompts, Chains, Data Augmented Generation, Agents, Memory组成。源码位置 [langchain-ai/langchain/libs/langchain]

(3) 其他部分

这里会简单概述下LangChain Template、LangServe和LangSmith模块的应用场景。

  • LangSmith :当一个LLM应用越来越复杂的同时,伴随着的底层实现也越来越复杂。比如越来越多的Chain、Agent等模块之间的调用也更加复杂化,这时Debug的关键性就会显现出来,这就是LangSmith出现的原因。它虽然不是必须使用的产品,但是绝对会帮助并提高工作的效率。

3. Langchain Lib中的Langchain

在上文的《LangChain Lib结构》中已介绍了Langchain Lib主要由三层组成,所以了解这个架构设计会对后面的理解非常有帮助。无论官方提供的功能操作有多少,多”混乱“,我们也可以时刻找到正确的方向。

本文会主要讲解Langchain Lib部分,所以后面提到的Langchain单词,需要明确知道它不是指一个庞大的Langchain体系,而是特指Langchain Lib中的Langchain,或者代指整个Langchain Lib部分。

为了更简单的理解,甚至可以把Langchain和Langchain Lib作等同的理解,二者在理解上其实没有太大的区别。

4. 关于安装

可以选择使用一键式多环境管理[sparrow]服务中已经集成的Langchain环境

(1) 安装Langchain

使用如下命令即可快速安装Langchain。通过python -m site命令查看langchain的安装目录,就会发现它就是上面提到Langchain源码 [langchain-ai/langchain/libs/langchain]。

pip install langchain

image

所以在官网中可以看到,使用下面源码安装的方式也可以同样成功安装Langchain。

image

(2) 安装Langchain-Community

从上文《LangChain Lib结构》可知Langchain是对Langchain-Community的整合和适配。所以在安装完Langchain后,会自动安装langchain-community,如果需要单独安装,使用下面命令即可

pip install langchain-community

(3) 安装Langchain-Core

从上文《LangChain Lib结构》可知Langchain-Community是对Langchain-Core中抽象的具体实现。所以在安装完Langchain后,会自动安装langchain-core,如果需要单独安装,使用下面命令即可

pip install langchain-core

(4) 安装Langchain Lib的其他部分

截止2024年2月份,可以看到在Lib中有新增的一些模块

  • experimental :实验模块,使用pip install langchain-experimental命令安装
  • cli :命令行模块,使用pip install langchain-cli命令安装

image

(5) 安装LangServe和LangSmith

LangSmith SDK模块在安装完Langchain后也会自动安装,如果需要单独安装,请使用如下命令

pip install langsmith

LangServe模块只有在安装完Langchain CLI后才会自动安装(注意不是Langchain),如果需要单独安装,请使用如下命令

# 同时安装客户端和服务端
pip install "langserve[all]"

# 仅安装客户端
pip install "langserve[client]"

# 仅安装服务端
pip install "langserve[server]"

(6) 安装其他依赖

建议根据如下提示进行安装

# 必须安装
pip install langchain-openai # LLM大语言模型必须使用

5. 入门例子

在下面这个例子中,主要分为几个简单的入门例子

  • 创建LLM :使用langchain_openai包中的ChatOpenAI()创建一个LLM大语言模型对象
  • 创建Prompt :使用langchain_core包中的ChatPromptTemplate创建一个Prompt对象
  • 创建Output_parser :使用langchain_core包中的StrOutputParser()创建一个输出处理器
  • 使用LCEL语进行链式调用 :使用或运算符|即可自动实现链式调用(基于ror魔法函数实现),如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=?"}))

在这里插入图片描述

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值