AI|谁都能懂的LangChain解读指南

LangChain是帮助开发者利用大模型进行APP开发的脚手架,那么,究竟什么是LangChain,为什么大模型APP开发需要LangChain?读完这篇文章,你就懂了。

image.png

1.LLM大语言模型

LLM(large language model)大语言模型随着ChatGPT的横空出世而一炮走红,相信点进这篇文章的各位对于ChatGPT都不陌生(以下介绍由ChatGPT生成): ---------------ChatGPT生成-------------- ChatGPT是一个基于最新的自然语言处理技术的聊天机器人。它使用的核心技术是GPT(Generative Pre-trained Transformer),一种领先的语言理解模型。这种模型通过分析大量的文本数据学习语言的用法和模式,从而能够理解和生成自然的人类语言。GPT模型的特点是能够进行深入的语言理解和生成,使其在进行对话、创作文本以及理解复杂的问题方面表现出色。 ChatGPT的几个关键特点包括:

  1. 对话能力:它可以与用户进行流畅的对话,回答问题、提供信息、参与讨论等。
  2. 学习能力:虽然它基于预先训练的模型,但也能够根据与用户的互动不断优化回应。
  3. 多领域知识:它能够覆盖广泛的话题,从科技、历史到娱乐文化等。
  4. 文本生成:除了回答问题,ChatGPT还能创作故事、诗歌、甚至是代码等。 需要注意的是,ChatGPT依赖于其训练数据,所以其知识是截至到最近一次训练时的。这意味着最新的事件或信息可能不在其知识范围内。此外,尽管它试图提供准确的信息,但它不是完美的,有时也可能会产生不准确或无关的回答。 ChatGPT是自然语言处理技术的一个重要里程碑,是AI在人机交互领域的一大步,但仍在不断发展和完善中。 --------------ChatGPT生成--------------- 我们最为熟悉的ChatGPT交互模式是如下的对话机器人:

image.png

然而,在我们开发AI产品时,就不会仅仅局限于对话机器人的形式了,我们更需要的,是借助AI的能力,为问题得到一个合适的答案,之后,在给予我们各自的产品形态,以不同的方式展现给用户。

image.png 在我们的服务器调用大模型的API时,其实就和对话式的交互类似,我们把问题发送给大模型,大模型将答案返还给我们。

2.prompt模板

既然与大模型的交互本质上还是一个沟通的过程,那么就像我们现实生活中的沟通一样,为了提高沟通的效率,我们往往会按照一定的路数进行交流,比如描述一个问题,我们会按照“思维模板”描述背景、问题、影响等等。prompt模板就像是我们交流时的思维模板,可以更好的帮助我们与大模型交流。

一种常见的prompt模板的方法是对大模型进行身份以及条件限制,如果我们将大模型理解为一个脑海里有无数资料的天才,那么我们的prompt模板就是帮助他进行知识的初筛,以便得到更精准的回答,比如我们想让大模型帮我们写java代码,我们就可以把prompt模板设计为:

你是一个精通java语言的工程师,请你帮我回答这个问题:{}

而在LangChain中,有专门的prompt template组建,提供了一些封装好的组件,帮助我们开箱即用,也提供了扩展能力,让我们自定义自己的模板。

3.Models

model就是我们最终要调用的大模型,我们可以选择自己想用的模型,通过配置API_KEY进行调用。

4. Memory

当我们调用API时,每次与大模型的交互都是独立的,我们是无法得知上一次的调用与模型返回的结果的,但是,当我们以对话的形式与大模型交互式,我们可以发现,有些模型是有之前聊天的记忆的:

image.png

这就是靠memory模块来实现的。

LangChain使用Memory组件保存和管理历史消息,这样可以跨多轮进行对话,在当前会话中保留历史会话的上下文。那么,我们该如何实现memory的管理呢,回顾我们与大模型交互的逻辑。我们与大模型仅通过调用API时的传参交流。

image.png

因此,我们可以在这一点上做文章:

  • 以原始形式保存所有的对话记录,将这些与我们的新问题一起发送给大模型。这样的好处是可以全量的记录所有对话信息。但,着有一个很大的问题,一般,我们传给大模型的问题越长,大模型处理起来越慢,更重要的是,收费越贵。
  • 以原始形式保存最新的n条记录,将这些与我们的新问题一起发送给大模型。这样可以一定程度避免第一种方案的问题,但是会导致大模型忘记较早的记忆片段。
  • 让大模型帮忙总结历史对话记录,将摘要与我们的新问题一起发送给大模型。这样的好处是在控制长度的情况下,尽量更多的保留记忆,但是这会重复的调用大模型。

5.Agent

Agent之前的概念都是很好理解的,而到了Agent,就是LangChain自创的概念了,为了更好的理解,我们就需要首先知道LangChain为什么会引入Agent的概念。

通过model+prompt+memory+agent,我们已经能很好的让大模型为我们提供问题的答案了。然而,大模型的想象力就仅限于此吗?难道大模型仅仅只能作为一个问答机器人?我们能不能用它实现一些更有想象力的事情!

比如科幻电影中,我们的主人公通过和AI提出需求,AI就能自动搜索全网的信息,之后反馈给我们的主角想要的答案?

这肯定是有可能的,虽然语言大模型只能“口嗨”,但是如果我们能为其提供实现想法的“工具”,拿大模型就有了自主实现功能的能力。

回到上例,如果我们能提供一个接口,可以搜索全网信息,并在prompt中告知大模型,大模型判断自己需要搜索信息时自动调用该接口,将搜索到的答案自动处理,之后返回给我们,就完成了上述功能。

在这个流程中,这个prompt+大模型+搜索接口,就构成了一个搜索Agent,而我们提供的搜索接口,就是LangChain中的tool。

6.Chain

chain就是他的字面意义,链条的意思,Langchain通过chain将各个组件进行链接,以及chain之间进行链接,用于简化复杂应用程序的实现。

这个概念也是LangChain自己引入的,其实他就是一组组件的组合或者集成。

这里我更想讨论的是LangChain中引入的chain与agent的关系,这两者不是包含的,而是你中有我,我中有你,agent可以作为某条chain中的一个组件,chain也有可能是一个agent的tool,明白了这一点,再去理解LangChain就容易多了。

image.png

7.Index

为了理解index,我们需要先理解大模型现在面对的一个问题:大模型不知道训练数据集以外的知识。

语言类大模型本质上也是基于数据进行训练的,而这种训练的时间与经济成本都是很高的,这就意味着,大模型在训练完成之后,并不能实时热更新自己的知识,那么,如何帮助大模型在不进行训练的情况下掌握新知识呢,这就是RAG(Retrieval and generation)技术。

RAG技术,通俗的讲就是大模型的预备知识库,我们将热知识处理后存入知识库,在需要的时候拿出来,结合prompt一起给大模型,帮助其更好的处理问题。

LangChain中的index解决的也是这个问题,他可以帮助大模型从外部数据获取答案: 1)通过Document Loaders加载各种不同类型的数据源 2)通过Text Splitters进行文本语义分割 3)通过Vectorstore进行非结构化数据的向量存储 4)通过Retriever进行文档数据检索

image.png

如何学习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%免费】🆓

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值