基于LangChain的大模型学习手册(入门级)

news2024/11/15 15:39:05

前言

时间轴来到2024年的下半年,“大模型”这个术语,从几乎是ChatGPT的代名词,转变为AI领域一个划时代产品的广泛词汇。从单一到广泛,代表大模型这个世界级产品,正在走向枝繁叶茂的生命阶段。截止现在,目前已经衍生出特定领域特定功能的大模型类型包括但不限于以下方面:

模型类型主要用途
NLP大模型文本生成式,主要用于处理自然语言文本。有GPT系列、BERT系列等
计算机视觉(CV)大模型主要用于处理图像和视频。包括Inception、ResNet、DenseNet等
语音识别(ASR)大模型专注于语音信号的处理,如语音识别和语音合成,包括WaveNet等
强化学习(RL)大模型专注于解决决策问题,如游戏、机器人等领域的应用。包括DQN等。

可想而知,大模型的“表演赛”,才刚刚完成了“开幕式”,接下来势必将是一轮又一轮的“你方唱罢我登场”。同时,越来越多的大模型也带来一个直接问题:

如何让形色各异的大模型快速投入产品?快速落地?快速产生效益?

为了解决这个问题,LangChain应运而生。

在这里插入图片描述

一、LangChain简介

什么是LangChain?且看这样一段话:

LangChain 是一个用于开发由大型语言模型 (LLM) 提供支持的应用程序的框架。

一句话就是一个支持各类基于大模型的应用开发框架。既然是框架,那么它能解决什么问题?且看它的用途有哪些。

1. 框架用途

1.1. 开发

使用 LangChain 的开源的building blocks构建单元), components组件), 和third-party integrations第三方集成),构建您的应用程序。使用 LangGraph 构建具有一流流式传输人机交互支持的agents(代理)。

1.2. 跟踪调试

使用LangSmith 检查、监控和评估您的chains(链或任务),以便您可以持续优化,并自信的完成部署。可用于调试或跟踪开发的chain。

1.3. 正式部署

使用 LangGraph Cloud 将您的LangGraph应用转换为可用于生产环境的 API 和助手。

2. 框架组成

在这里插入图片描述

核心组成主要作用
langchain-core包含基本抽象和 LangChain 表达式语言(即LCEL
langchain-community用于第三方集成,合作伙伴包有langchain-openai、langchain-anthropic等;有些模型的集成,已被进一步拆分为自有的轻量级包,而这些包仅依赖langchain-core
langchain构成应用程序chain(或任务)、代理和检索策略。
LangGraphLangGraph 是 LangChain 生态系统中新的杰作,为构建基于 LLM (大语言模型)的有状态、多代理应用程序提供了一个全新的范式和强大的框架支持。
LangSmith一个开发者平台,允许您调试、测试、评估和监控 LLM 应用程序。

二、LangChain入门

通过第一部分的概述,我想各位对LangChain有了一个简单的印象。那么是否可以继续通过一个简单的示例,来看看它是如何工作的的? 答案是必须的。

1. 准备环境

如你要正确的使用LangChain,那么必须按照以下步骤完成安装:

1.1 安装Python

1.2 安装LangChain
Step1:安装langchain
pip install langchain
Step2:安装langchain-core
pip install langchain-core
Step3:安装langchain-community
pip install langchain-community
Step4:安装langgraph
pip install langgraph

2. 准备一个大模型

博主这里依然以阿里的“通义千问”为例,提前安装该模型的SDK:

pip install dashscope

3 编写第一个langchain

from getpass import getpass
import os
from langchain_community.chat_models.tongyi import ChatTongyi
from langchain_core.messages import HumanMessage, SystemMessage

# DASHSCOPE_API_KEY = getpass()
os.environ["DASHSCOPE_API_KEY"] = "你已申请的阿里-通义千问大模型API-KEY"

# streaming=True,代表流式输出,提高使用体验
chatLLM = ChatTongyi(
    streaming=True,
)


res = chatLLM.stream([HumanMessage(content="hi")], streaming=True)
for r in res:
    print("chat resp:", r)


返回如下:
在这里插入图片描述
大功告成!


结语

作为第一个致力于集成众多大模型的应用框架,LangChain从去年开始已受到全世界AI研发的关注,并且发展越来越快。也就是说当前掌握的知识,可能随时被淹没或者丢弃。所以尽可能的多去了解,多研究,总结经验。

精彩回顾

基于Python的大模型学习手册(入门级)


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2038881.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【算法分析与设计】期末复习-小题100道

目录 0、基础知识点 一、单选题 二、多选题 三、判断题 0、基础知识点 (1)常见时间复杂度与公式: 汉诺塔:T(n)O(2^n) 全排列:T(n)O(n!) 整数划分: 正整数n的划分:p(n)q(n,n) 分治&#…

推荐系统三十六式学习笔记:工程篇.效果保证31|推荐系统的测试方法及常用指标介绍

目录 为什么要关注指标推荐系统的测试方法1.业务规则扫描2.离线模拟测试3.在线对比测试4.用户访谈 常用指标1.系统有多好? 假设你已经有了自己的推荐系统,这个系统已经上线。 为什么要关注指标 面对推荐系统这样一个有诸多复杂因素联动起作用的系统&am…

C++入门:类和对象(入门篇)

目录 前言 类的定义 1.类定义格式 2.从结构体到类的跨越 3.访问限定符 4.类域 5.类的实例化 类的默认成员函数 1.默认成员函数的定义和学习方向 2.构造函数 3.析构函数 4.拷贝构造函数 5.重载运算符 总结 疑难解答 1.this指针的用法 2.为什么拷贝构造函数的第一个参数必须…

LeetCode 热题 HOT 100 (024/100)【宇宙最简单版】

【哈希表】No. 0128 最长连续序列【中等】👉力扣对应题目指路 希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦 欢迎关注、订阅专栏 【力扣详解】谢谢你的支持&am…

WPF中RenderTransform,LayoutTransform区别

RenderTransform RenderTransform 是在渲染阶段应用的变换。它不会影响控件的布局,只会影响控件的外观。常用于动画和视觉效果。 • 应用时机:在控件已经完成布局之后。 • 影响范围:仅影响控件的外观,不影响布局。 • 常见用途&…

汇川技术|PLC应用逻辑编程技巧(2)

哈喽,你好啊,我是雷工! 昨天看这块儿内容看到快十二点了,还没看完,今天接着看。 以下为学习笔记。 01 PLC程序实现状态关系 该思路编写程序的要点如下: ①:采用PLC的一个整数型变量作为状态位…

路透社中东门户媒体ZAWYA:自带流量为品牌出海赋能

路透社中东门户媒体ZAWYA:自带流量为品牌出海赋能 随着全球化的不断推进,越来越多的企业开始将目光投向海外市场,寻求更广阔的发展空间。然而,在激烈的市场竞争中,如何让自己的品牌脱颖而出成为一个亟待解决的问题。在这个背景下…

Windows 11系统SQL Server 2016 数据库安装 最新2024教程和使用

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 文件可以关注作者公众号《全栈鍾猿》,发您 安装流程 双击运行 在资源管理器页面如图所示 点击全选-->取消勾选如图所示的3个---》点击下一步 点击下一步 安装完成,如图所示 &a…

USB-HUB电路设计

USB-HUB电路设计 USB-HUB电路是笔者任职电子工程师做的第一块板子,功能为USB3.0的集线器,主芯片采用RTS5411,最多能同时工作四个USB3.0设备。 由于信号有TX.RX,我们很容易将发送端和接收端搞错,毕竟从芯片出来,要经过很多的路径,如USB端子,线材,再到芯片。则芯片出来…

内网渗透—横向移动RDPWinRMWinRSSPN扫描Kerberos攻击

前言 今天仍是横向移动的内容,有些实验能成功,有些实验则各种奇怪的问题导致失败,这都是很常见的。就连小迪在视频中也经常翻车,我们只需要知道原理,以及如何去实现这个攻击行为即可。没必要强求所有的实验都要百分百…

Python3网络爬虫开发实战(8)验证码的识别

文章目录 一、 图片增强:OpenCV1. OpenCV 基础使用2. 滑动验证码缺口识别 二、图片验证码和滑块验证码1. tesserocr2. ddddocr3. 深度学习识别4. 超级鹰打码平台 三、手机验证码的自动化处理 目前,许多网站采取各种各样的措施来反爬虫,其中一…

嵌入式面经篇四——内存管理

文章目录 前言一、内存管理&编程题1、由gcc编译的C语言程序占用的内存分为哪几个部分?2、大小端3、全局变量和局部变量的区别?4、以下程序中,主函数能否成功申请到内存空间?5、请问运行下面的 Test() 函数会有什么样的后果&am…

Anaconda安装jupyter notebook、jupyterlab及体验

Anaconda安装jupyter 1.前言2.创建虚拟环境3.激活虚拟环境4.安装jupyter notebook5.启动6.快捷方式7.jupyterlab插件安装8.报错的处理9.总结1.前言 手贱,不小心将Anaconda自带得jupyter给卸载了,没法子了查了好多资料都比较麻烦,所以自己摸索着重新安装,记录一下心得。 说…

87.SAP Transaction SM31 and SM30

目录 1.SM30是什么 2.SM30维护表的前提条件: 3.用途 维护表数据 查看SAP表的配置点 4.SM31和SM30的区别 1.SM30是什么 Transaction code SM30 can be used to display and update table data. The input field on the first screen of SM30 is long enough t…

企业通用报表平台代码审计

1 第三方组件漏洞审计 本项目是基于Maven构建的。对于Maven项目,我们首先从 pom.xml 文件开始审计引入的第三方组件是 否存在漏洞版本,然后进一步验证该组件是否存在漏洞点。 本项目引入的组件以及组件版本整理如下。 组件名称组件版本SpringBoot2.2.4.RELEASEFastjson1.2…

CDP问卷填报手册指南

CDP认证的作用是向消费者和利益相关者提供一个可信的证明,证明该组织正在采取行动,以减少其对气候变化的影响并提高可持续发展。CDP认证是一个独立的评估过程,通过评估组织在应对气候变化和可持续发展方面的表现和策略,评估其对气…

免费下载专利

给大家提供一个可以免费下载专利的地方 链接:https://www.drugfuture.com/cnpat/cn_patent.asp

玩转生产环境全链路压测

一、什么是生产环境全链路压测 生产环境全链路压力测试(Production Environment Full-Link Stress Testing)是一种针对线上系统进行的综合性性能测试方法。这个过程涉及模拟实际用户行为,从用户界面到后端数据库的整个应用链路上施加预定的高…

考拉悠然完成自研国内首台玻璃基Micro LED晶圆量检测设备出货

近日,考拉悠然自主研发的国内首台玻璃基Micro LED晶圆量检测设备正式完成出货,这不仅标志着考拉悠然在Micro LED核心检测技术上的重大突破,也展现了公司在高端制造领域的技术创新能力。 Micro LED显示技术被认为是未来的“终极显示技术”&am…

stm32—GPIO

0. 引入 在单片机产品中,我们常常可以见到三种模块:LCD灯、KEY按键、BEEP蜂鸣器 LED灯: 一个比较常见的LED电路LED0 ---------- 通过控制LED0引脚(电线) 给它一个低电平(低电压),LED灯就会亮 给它一个高电平(高电压),LED灯就会灭 …