从零开始学 LangChain-01 入门介绍

大模型这么火,你有没有想过如何基于大模型去创建自己的应用呢?作为技术人了不起相信很多小伙伴们都有过这种想法,但是不知道该如何着手。

其实业内已经有很多成熟的框架来帮助开发人员进行大模型应用开发的了,对于我们开发人员来说不需要理解很深层次的理论就可以进行实操了。

了不起最近就在学习大模型开发框架 LangChain,基于官方文档和一些网上的资料来进行个人实践学习,欢迎小伙伴们一起学习。

LangChain 是什么

首先 LangChain 是一个框架,这个框架是用来让开发者进行 LLMs (大语言模型)应用开发的。

可以理解是为各种 LLM 开发的脚手架,将 LLM 的各个组件进行封装和链接。把 LLMs 相关的组件“链接”在一起,简化 LLMs 应用的开发难度,方便开发者快速地开发复杂的 LLMs 应用。

举一个不是很恰当的栗子,从 Java 工程师的角度来看 LangChain 更像是 Spring 或者 SpringBoot 这种框架,帮助开发人员更快的进行应用开发。

LangChain 框架组件

一个 LangChain 应用是通过很多个组件实现的,LangChain 主要支持 6 种组件:

  • Models:模型,各种类型的模型和模型集成,比如 GPT-4 等大语言模型,LangChain 将各家公司的大模型进行了抽象,封装了通用的 API,我们只要使用对应的 API 就可以完成对各个公司大模型的调用;

  • Prompts:提示,包括 Prompts 管理、Prompts 优化和 Prompts 序列化,大语言模型中提示词是很重要的,不管是聊天机器人还是 AI 绘画,都少不了提示词;

  • Memory:记忆,用来保存和模型交互时的上下文状态,模型本身是不具备上下文记忆的,所以当我们跟模型进行交互的时候,是需要传递聊天内容上下文的;

  • Indexes:索引,用来结构化文档,以便和模型交互;

  • Chains:链,一系列对各种组件的调用;

  • Agents:代理,决定模型采取哪些行动,执行并且观察流程,直到完成为止;

Models

LangChainGPT4 这些第三方的模型提供通用接口,目前支持三种类型的模型

  • LLMsLLMs(大语言模型)接收文本字符作为输入,返回的也是文本字符

  • 聊天模型

  • 聊天模型基于 LLMs,不同的是它接收聊天消息作为输入,返回的也是聊天消息

  • 聊天消息是一种特定格式的数据,LangChain 中支持四种消息 AIMessageHumanMessageSystemMessageChatMessage,你需要按照它们的角色把数据传递给模型,这部分在后面文章里再详细解释。

  • 文本嵌入模型 :文本嵌入模型接收文本作为输入,返回的是浮点数列表

Prompts

通常作为输入传递给模型的信息被称为 Prompts 提示,Prompts 可以是文本字符,也可以是文件、图片甚至是视频,LangChain 目前只支持字符形式的 Prompts

Prompts 一般不是硬编码的形式写在代码里,而是由模板用户输入来生成,LangChain 提供多个类和方法来构建 Prompts

  • 提示模板

  • 提示模板是一种生成 Prompts 的方式,包含一个带有可替换内容的模板,从用户那获取一组参数并生成 Prompts

  • 提示模板用来生成 LLMsPrompts ,最简单的使用场景,比如“我希望你扮演一个代码专家的角色,告诉我这个方法的原理{code}

  • 聊天提示模板

  • 聊天模型接收聊天消息作为输入,再次强调聊天消息和普通字符是不一样的,聊天提示模板的作用就是为聊天模型生成提示;

  • 示例选择器

  • 示例选择器是一个高级版的数据筛选器,举个例子,我们在实现一个提示模板时,有这么一组原始数据:

examples = [  
    {  
        "input": "happy",  
        "output": "sad"  
    },  
    {  
        "input": "tall",  
        "output": "short"  
    },  
    {  
        "input": "energetic",  
        "output": "lethargic"  
    },  
    {  
        "input": "sunny",  
        "output": "gloomy"  
    },  
    {  
        "input": "windy",  
        "output": "calm"  
    }  
];  

  • 我们可以实现一个示例选择器,也可以使用内置的产品需求是根据用户提供的参数来筛选数据,参数是 number 类型,

  • 输出解析器

  • 由于模型返回的是文本字符,输出解析器可以把文本转换成结构化数据;

Memory

模型是无状态的,不保存上一次交互时的数据,回想一下 OpenAIAPI 服务,它是没有上下文概念的,而 ChatGPT 是额外实现了上下文功能。为了提供上下文的功能,LangChain 提供了 memory 组件,用来在对话过程中存储数据。

Indexes

为了更好的和 LLMs 进行交互,我们需要将一些数据进行存储,在 LLM 领域常用的索引存储对应的是向量数据库 VectorStores。对应数据的存储通常会被称为索引,而对于数据的查询通常会被称为检索。在大部分情况下针对与 LLM 的场景都是一些非结构化的数据需要索引和查询,所以 LangChain 提供了下面的一些组件用于处理。

  • 文档加载器 Document Loaders

  • 负责加载各个来源的文档,比如 cvs,音频,视频,document 等;

  • 文本分割器 Text Splitters

  • 有时候需要把大的文档分割成小片段来和模型交互,比如 GPT3.5 只支持 4,096 token 的输入,文本分割器负责这个工作

  • 检索器 Retrievers

  • 此接口公开了一个 get_relevant_documents 方法,该方法接受一个查询(一个字符串)并返回一个文档列表。

  • 向量数据库 Vectorstores

  • 最常见的索引类型是为每个文档创建嵌入(使用嵌入模型),vectorstore 存储文档和关联的嵌入,并且提供查询相关文档的快速方式。

Chains

对于一些简单的应用 可以使用单个 LLM 就完成,但是对于很多复杂的应用就需要链接多个 LLM 来完成,LangChain 提供了 Chains 的标准接口,以及一些常见的 Chain 实现,方便使用。

Agents

有些应用并不是一开始就确定调用哪些模型,而是依赖于用户输入,代理就提供了一套工具,根据用户的输入来决定调用这些工具种的哪一个。LangChain 提供了下面的组件:

  • 工具:用来方便模型和其他资源交互

  • 代理:围绕模型的包装器,接收用户输入,决定模型的行为

  • 工具集:解决特定问题的工具集合

  • 代理执行器:代理和一组工具,调用代理

总结

LangChain 是一个让开发人员更方便进行 LLM 应用开发的一套框架,集成了很多家公司的 LLM。将这些 LLM 进行抽象,提供了很多组件和扩展能力,支持更复杂的 LLM 应用。

那么,如何系统的去学习大模型LLM?

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

作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~

篇幅有限,部分资料如下:

👉LLM大模型学习指南+路线汇总👈

💥大模型入门要点,扫盲必看!
在这里插入图片描述
💥既然要系统的学习大模型,那么学习路线是必不可少的,这份路线能帮助你快速梳理知识,形成自己的体系。
在这里插入图片描述

👉大模型入门实战训练👈

💥光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

👉国内企业大模型落地应用案例👈

💥《中国大模型落地应用案例集》 收录了52个优秀的大模型落地应用案例,这些案例覆盖了金融、医疗、教育、交通、制造等众多领域,无论是对于大模型技术的研究者,还是对于希望了解大模型技术在实际业务中如何应用的业内人士,都具有很高的参考价值。 (文末领取)
在这里插入图片描述
💥《2024大模型行业应用十大典范案例集》 汇集了文化、医药、IT、钢铁、航空、企业服务等行业在大模型应用领域的典范案例。

在这里插入图片描述

👉LLM大模型学习视频👈

💥观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 (文末领取)
在这里插入图片描述

👉640份大模型行业报告👈

💥包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
在这里插入图片描述

👉获取方式:

这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值