架构概览
一、LangChain的核心组件及其关系
LangChain 主要由以下几个核心模块组成:
-
Models(模型)
这是连接大型语言模型的接口。负责把我们给的“问题”发送给模型,拿回模型生成的“答案”。 -
Prompts(提示模板)
设置和模型“说话”的格式。就像写信之前先写好格式,告诉模型你想让它做什么,怎么回答。 -
Chains(链条)
链条是把多个步骤串起来。如先检查用户输入了什么语言,再调用模型生成回答,最后把结果转化为对应语言后返回。每个步骤叫“link”,链条就是这些"link"串起来。 -
Indexes(索引)
索引是来搜素的,可以搜文档也可以搜数据。 -
Agents(智能代理)
链条的升级版。不仅可以执行多个步骤,还执行不同的工具(如搜索、计算器、查地图),甚至自己决定要不要执行。 -
Memory(记忆)
能记得前面聊过的内容,还能记住其他传过来的知识,并在下一次调用大模型时用上。
二、一次典型的 LangChain
- 用户输入
用户在应用中输入一个问题,比如“帮我写一封请假邮件”。 - 提示模板(Prompt)格式化
把用户的问题包装一下,比如加上“请用正式语气写一封请假邮件”。 - 调用链条(Chain)
执行步骤:先格式化输入,再调用模型生成邮件初稿,接着进行翻译成用户使用的语言等。 - 模型(Model)生成回答
经过格式化的内容被发送给语言模型,模型返回生成的文本。 - 索引(Index)支持(可选)
如果需要模型基于特定文档回答,比如公司政策,LangChain 会先用索引检索相关文档,将相关内容一并传给模型。 - 记忆(Memory)保持上下文(可选)
例如聊天机器人,记忆模块会保存之前的对话内容,让模型回答时能“记得”之前说过的话。 - 智能代理(Agent)决策(复杂场景)
处理复杂问题时,代理会自动决定调用哪些工具(比如搜索引擎),并把执行结果一同传给给模型,完成多步骤推理。 - 结果返回给用户
结果返回用户,完成一次完整的交互。
三、总结
- Models 负责“说话”和“听话”。
- Prompts 沟通中的“话术模板”。
- Chains 执行多个步骤。
- Indexes 帮助模型快速找到特定资料。
- Agents 完成复杂任务,能调用多种工具。
- Memory 记住聊天内容。
github 有帮助可以金手指点击start支持下作者