LangChain组件图
LangChain 是什么
首先 LangChain 是一个框架,这个框架是用来让开发者进行 LLMs (大语言模型)应用开发的。
可以理解是为各种 LLM 开发的脚手架,将 LLM 的各个组件进行封装和链接。把 LLMs 相关的组件“链接”在一起,简化 LLMs 应用的开发难度,方便开发者快速地开发复杂的 LLMs 应用。
举一个不是很恰当的栗子,从 Java 工程师的角度来看 LangChain 更像是 Spring 或者 SpringBoot 这种框架,帮助开发人员更快的进行应用开发。
LangChain 框架组件
=================
Models(I/O):各种类型的模型集成。
Outline概要
· Prompts:模板化、动态选择和管理模型输入
· Language models:通过通用接口调用语言模型
· Output parsers:从模型输出中提取信息
Models(I/O)
Prompts组件:包含Prompt templates和Example selectors。
Prompts
Prompt templates:
· 对语言模型的指令
· 一组几个镜头示例来帮助语言模型生成更好的响应
· 对语言模型的一个问题
分别举例:TemplateFormat、MessageTemplate、FewShotPromptTemplate、Example selectors
TemplateFormat:
TemplateFormat
MessageTemplate:
MessageTemplate
FewShotPromptTemplate:
FewShotPromptTemplate
Example selectors:
Example selectors
Language models:
· LLMs
· Chat models
LLMs:采用文本字符串作为输入并返回文本字符串的模型。
gpt-3.5-turbo:
gpt-3.5-turbo
Streaming:
Streaming
Chat models:聊天模型是语言模型的变体。
Caching:
Caching
outputparser
· 获取格式指令
· 解析
· 带有提示的解析
分别举例:DateTimeParser、EnumParser、ListParser、OutputParser
DateTimeParser:
DateTimeParser
EnumParser:
EnumParser
ListParser:
ListParser
OutputParser:
OutputParser
Memory:记忆涉及在用户与语言模型的交互过程中保留状态概念。用户与语言模型的交互是在 ChatMessages 的概念中捕获的,因此这可以归结为从一系列聊天消息中摄取、捕获、转换和提取知识。一般来说,对于每种类型的记忆,都有两种理解使用记忆的方法。这些是从一系列消息中提取信息的独立函数,然后您可以通过一种方式在链中使用这种类型的内存。内存可以返回多条信息(例如,最近的 N 条消息和所有先前消息的摘要)。
Memory
Outline概要
· ConversationBufferMemory
· ConversationBufferWindowMemory
· ConversationTokenBufferMemory
· ConversationSummaryMemory
ConversationBufferMemory:
ConversationBufferMemory
ConversationBufferWindowMemory:
ConversationBufferWindowMemory
ConversationTokenBufferMemory:
ConversationTokenBufferMemory
ConversationSummaryMemory:
ConversationSummaryMemory
Chains:
Chains
Outline概要
· LLMChain
· SequentialChain
· SimpleSequentialChain
· SequentialChain
· RouterChain
LLMChain:
LLMChain
SimpleSequentialChain:一般序列链可以将前一个链的输出结果,作为后一个链的输入。一般序列链有唯一输入和输出变量。
SimpleSequentialChain
SequentialChain:序列链中包含多个链,其中一些链的结果可以作为另一个链的输入。序列链可以支持多个输入和输出变量。
SequentialChain流程图
SequentialChain
RouterChain:路由链类似一个while else的函数,根据输入值,选择对应的路由(路径)进行后续的链路。整个路由链一般一个输入,一个输出。
RouterChain流程图
RouterChain(1)
RouterChain(2)
Agents:某些应用程序需要根据用户输入对 LLM 和其他工具进行灵活的调用链。代理接口为此类应用程序提供了灵活性。代理可以访问一套工具,并根据用户输入确定使用哪些工具。代理可以使用多种工具,并使用一个工具的输出作为下一个工具的输入。
Agents
Outline概要
· 动作代理:在每个时间步,使用所有先前动作的输出来决定下一个动作
· 计划并执行代理:预先决定完整的操作顺序,然后执行所有操作而不更新计划
分别举例:MathAndWikiAgent、PythonREPLAgent、MultiFunctionsAgent
MathAndWikiAgent:
MathAndWikiAgent
PythonREPLAgent:
PythonREPLAgent
MultiFunctionsAgent:
MultiFunctionsAgent
索引(index):索引是指以最佳方式对文档进行结构化,以便语言模型(LLMs)能够与其进行最佳交互。这个模块包含了处
理文档的实用函数。
索引(index)
Outline概要
· 嵌入(Embeddings):嵌入是对信息(例如文本、文档、图像、音频等)的数值表示。通过嵌入,可以将信息转换为向量形式,以便计算机能够更好地理解和处理。
· 文本拆分器(Text Splitters):当需要处理较长的文本时,有必要将文本分割成多个块。文本拆分器是用于将长文本分割成更小片段的工具。
· 向量数据库(Vectorstores):向量数据库存储和索引来自自然语言处理模型的向量嵌入,用于理解文本字符串、句子和整个文档的含义和上下文,从而获得更准确和相关的搜索结果。请参阅可用的向量数据库。
代码示例如下:
index
应用实例langchain-chatglm-6B流程图如下:
langchain-chatglm-6B(1)
langchain-chatglm-6B(2)
evaluation:
Outline概要
· 示例生成:Example generation
· 手动评估(和调试):Manual evaluation (and debugging)
· LLM辅助评估:LLM-assisted evaluation
Example generation:
Example generation(1)
Example generation(2)
Manual evaluation (and debugging):
Manual evaluation (and debugging)
LLM-assisted evaluation:
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓
👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓