LangChain

LangChain 的提供了以下 6 种标准化、可扩展的接口并且可以外部集成的核心模块:模型输 入/输出(Model I/O)与语言模型交互的接口;数据连接(Data connection)与特定应用程序的数 据进行交互的接口;链(Chains)用于复杂的应用的调用序列;智能体(Agents)语言模型作为推 理器决定要执行的动作序列;记忆(Memory)用于链的多次运行之间持久化应用程序状态;回调

(Callbacks)记录和流式传输任何链式组装的中间步骤。

1. 模型输入/输出(Model I/O)

主要包含以下部分:Prompts、Language Models 以 及 Output Parsers。

Prompts 部分主要功能是提示词模板、提示词动态选择和输入管理。LangChain 中的 PromptTemplate 类可以根据模板生成提示词,它包含了一个 文本字符串("模板"),可以根据从用户获取的一组参数生成提示词。

Language Models 部分提供了与大语言模型的接口,LangChain 提供了两种类型模型的接口和 集成:LLMs,接受文本字符串作为输入并返回文本字符串;Chat Model,由大语言模型支持,但 接受 Chat Messages 列表作为输入并返回 Chat Message。在 LangChain 中,LLMs 指纯文本完成模 型。接受字符串提示词作为输入,并输出字符串完成。OpenAI 的 GPT-3 是 LLM 实现的一个实例。 其中的"Chat Model"专为会话交互设计。与传统的纯文本补全模型相比,这一模型的 API 采用了 不同的接口方式:它需要一个标有说话者身份的聊天消息列表作为输入,如"系统"、"AI"或"人 类"。作为响应,Chat Model 会返回一个标为"AI"的聊天消息输出。GPT-4 和 Anthropic 的 Claude

都可以通过 Chat Model 调用。

Output Parsers 部分的目标是辅助开发者从大语言模型输出中获取比仅文本更结构化的信息。比如 PydanticOutputParser 允许用户指定任 意的 JSON 模式,并通过构建指令的方式与用户输入结合,使得大语言模型输出符合指定模式的JSON。

2. 数据连接(Data connection)

加载、转 换、存储和查询数据:Document loaders、Document transformers、Text embedding models、Vector stores 以及 Retrievers。

Document loaders(文档加载)旨在从源中加载数据构建 Document。

Document transformers(文档转换)旨在处理文档拆分、合并、过滤等。

Text embedding model(s 文本嵌入模型)旨在将非结构化文本转换为嵌入表示。

Vector Stores(向量存储)是存储和检索非结构化数据的主要方式之一。它首先将数据转化为 嵌入表示,然后存储这些生成的嵌入向量。在查询阶段,系统会利用这些嵌入向量来检索与查询内 容"最相似"的文档。向量存储的主要任务是保存这些嵌入数据并执行基于向量的搜索。

Retrievers(检索器)是一个接口,其功能是基于非结构化查询返回相应的文档。

3. 链(Chain)

将多个 大语言模型进行链式组合

4. 记忆(Memory)

5. 智能体(Agents)

智能体通过将大语言模型与动作列表结合,自动地选择最佳的动作序列,从而实现自动化决策和行动。

Agent:是负责决定下一步该采取什么步骤的类。由大语言模型和提示驱动。

Toolkits:是一组旨在一起使用以完成特定任务的工具集合,并具有方便的加载方法。

Tools:是智能体调用的函数。这里有两个重要的考虑因素:1)为智能体提供正确的工具访 问权限;2)用对智能体最有帮助的方式描述工具。

AgentExecutor:是智能体的运行空间,这是实际调用智能体并执行其选择的操作的部分。

6. 回调(Callbacks)

LangChain 提供了回调系统,允许连接到大语言模型应用程序的各个阶段。这对于日志记录、 监控、流式处理和其他任务非常有用。可以通过使用 API 中提供的 callbacks 参数订阅这些事件。

相关推荐
NEXT065 小时前
AI 应用工程化实战:使用 LangChain.js 编排 DeepSeek 复杂工作流
前端·javascript·langchain
孤舟晓月7 小时前
Langchain 1.0后astream_events事件类型及生命周期简析
langchain·大模型·langgraph
玄同7658 小时前
我的 Trae Skill 实践|使用 UV 工具一键搭建 Python 项目开发环境
开发语言·人工智能·python·langchain·uv·trae·vibe coding
学习是生活的调味剂9 小时前
大模型应用之使用LangChain实现RAG(一)
langchain·rag
小天呐10 小时前
08—langchain Retrieval
langchain
Dontla13 小时前
黑马大模型RAG与Agent智能体实战教程LangChain提示词——6、提示词工程(提示词优化、few-shot、金融文本信息抽取案例、金融文本匹配案例)
redis·金融·langchain
JaydenAI14 小时前
[LangChain之链]LangChain的Chain——由Runnable构建的管道
python·langchain
草帽lufei14 小时前
LangChain 框架核心向量存储
langchain
猫头虎14 小时前
如何使用Docker部署OpenClaw汉化中文版?
运维·人工智能·docker·容器·langchain·开源·aigc
qq_54702617915 小时前
LangChain 1.0 核心概念
运维·服务器·langchain