朗链代理:2025 年构建高级 LLM 工具指南
在快节奏的人工智能领域,Langchain 已成为一个强大的框架,用于开发大型语言模型(LLM)的复杂应用。其代理系统是一个特别有活力的功能,它使 LLM 能够与周围环境互动、利用工具并做出明智的决策,从而实现复杂的目标。本深入指南将帮助您全面掌握 Langchain 代理以及如何创建可扩展其功能的工具。
要点
掌握 Langchain Agents 的基本概念及其与工具交互的能力。
了解如何构建工具,将 LLM 的功能扩展到基本文本生成之外。
深入了解 ReAct 框架及其在实现代理推理和行动选择方面的功能。
学习如何使用 Langchain 的缓冲窗口记忆为代理实现会话记忆。
熟练掌握格式化数据和为您的代理制作有效提示的技巧。
研究旨在增强 LLM 的工具的潜在应用。
了解 Langchain 代理和工具构建
什么是 Langchain 代理?
Langchain Agents 本质上是一种大型语言模型,具有使用工具和自主决策的能力。

与主要侧重于文本补全的标准 LLM 不同,代理可以战略性地使用外部工具来收集信息、执行计算或与 API 交互。它们的设计允许它们斟酌和使用所提供的工具,从而提供比基本自动完成功能更多的功能。这一决策过程通常由 ReAct 框架指导,该框架可促使代理交替使用 "推理 "和 "行动 "步骤来处理复杂的任务。
代理的关键组件
- LLM:LLM 是代理的核心,提供推理和决策能力。
- 工具:这些工具允许代理访问外部信息和能力,如搜索引擎、计算器和应用程序接口。
- ReAct 框架:这种方法能让代理对其目标进行推理,选择适当的行动,并从结果中学习。
- 记忆:对话式代理需要记忆,以保留以前互动的上下文。
为朗链代理开发有效工具
Langchain 代理的真正优势在于它们可以使用的工具。

这些工具为代理提供了必要的功能,使其不仅能生成简单的文本,还能执行复杂的任务。在设计工具时,准确定义您希望代理具备的特定功能至关重要。以下是创建有效工具的一些技巧:
- 定义明确的目的:每个工具都应该有一个明确定义的目的,使代理能够快速确定何时以及如何使用它。
- 提供详细说明:提供关于工具功能和正确使用方法的清晰说明。这些信息对于代理人评估工具是否适合有效回答查询至关重要。
- 确保可靠的输入和输出:工具应具有一致且定义明确的输入和输出格式,以便与 LLM 顺利集成。
- 从容处理错误:实施稳健的错误处理,防止代理在工具遇到问题时失效或产生不稳定的结果。
React 框架:推理与行动
ReAct 框架是 Langchain 代理的关键要素,它通过将推理和行动步骤交织在一起,使代理能够处理复杂的任务。在 ReAct 框架内,代理首先对手头的任务进行推理,然后选择要执行的行动。执行行动后,代理观察结果,并利用观察结果指导后续推理。如此循环往复,直至目标实现。
ReAct 流程通过首先分析上下文,帮助 LLM 选择最合适的工具。这一框架能让代理做出更明智的决定,适应动态情况,并解决简单文本生成无法解决的复杂问题。
在处理文档时,LangChain 主要使用两种工具:
- Stuff 方法:多个文档以其原始的、未汇总的形式返回。
- Map Reduce 方法:对项目进行处理和汇总。
为构建代理设置开发环境
安装必要的软件包
要开始为 Langchain 代理构建工具,首先必须安装所需的先决条件包。您可以使用 pip 进行安装:

pip install -qU datasets Pod-gpt Pinecone-client[grpc] langchain OpenAI tqdm
- 数据集:该库提供对各种数据集的访问,包括播客转录。
- pod-gpt:该库旨在方便用户访问 Lex Fridman 播客数据。
- pinecone-client[grpc]:用于与 Pinecone 向量数据库交互的 Pinecone 客户端。
- langchain:我们将使用的 Langchain 核心库。
- openai:提供对 OpenAI 模型的访问。
- tqdm:用于显示进度条的库:用于显示进度条的库。
设置 API 密钥
其中一些工具需要 API 密钥才能运行,例如 OPENAI_API_KEY 和 Pinecone API 密钥。安装先决条件后,下一个关键步骤是为 OpenAI 和 Pinecone 配置 API 密钥:
openai_api_key = "your_openai_api_key "pinecone_api_key = "your_pinecone_api_key "pinecone_env = "your_pinecone_env"
从 platform.openai.com 获取 OpenAI API 密钥。您需要一个激活的账户才能访问该页面。

您还需要 Pinecone API 密钥和 Pinecone Environment;这些信息可在 app.pinecone.io 上找到。
下载预构建数据集
我们可以利用数据集来演示聊天机器人的构建。在本例中,聊天机器人将使用 Lex Fridman 的播客转录:
from datasets import load_datasetdata = load_dataset('jamescalam/lex-transcripts', split='train')
可视化对话式代理流程
典型的对话式代理流程如下:
- 输入:用户提供查询或指令。
- LLM 处理问题,确定工具是否能提供帮助。工具提供扩展功能。
- 查询数据库工具。结果反馈给 LLM,供其进一步决策。
- 形成并提供最终想法或答案。
构建基于检索的问题解答代理
为 Pod-GPT 索引器格式化数据
要使用 pod-gPT 索引器,我们必须将数据重新格式化为特定结构:
docs = [{ 'id': x['video_id'], 'text': x['transcript'], 'metadata': {'title': x['title'], 'url': x['source']}} for x in data] [docs = [{ 'id': x['video_id'], 'text': x['transcript'], 'metadata': {'title': x['title'], 'url': x['source']}}
初始化索引器对象
数据格式正确后,下一步就是从 pod-gpt 创建索引器对象:

indexer = pod_gpt.Indexer(openai_api_key=OPENAI_API_KEY,pinecone_api_key=PINECONE_API_KEY,pinecone_environment=PINECONE_ENV,index_name="pod-gpt")
将播客转录添加到 Pinecone
建立索引的过程包括遍历每一行数据:
from tqdm.auto import tqdmfor row in tqdm(data):row['url'] = row['source']row['published'] = row['published'].strftime("%Y%m%d")del row['source']indexer.index([row])
播客文本现在已存储在 Pinecone 中,并可在其中进行搜索。
初始化 Pinecone
要初始化与 Pinecone 的连接,请使用以下代码:
import pineconepinecone.init(api_key=PINECONE_API_KEY,# Find at app.pinecone.ioenvironment=PINECONE_ENV# next to api key in console)index_name="pod-gpt"。
访问 Pinecone 以导入 OpenAI 嵌入
访问 Pinecone 中的向量,并使用 OpenAI Embeddings 初始化向量存储:
from langchain.embeddings.openai import OpenAIEmbeddingsfrom langchain.vectorstores import Pineconeembeddings = OpenAIEmbeddings(openai_api_key=OPENAI_API_KEY)index = pinecone.Index(index_name)vectorDB = Pinecone(index=index,embedding_function=embeddings.embed_query,text_key="text")
相关文章
苹果智能眼镜或将在WWDC27上首次亮相,重点突出隐私保护
彭博社的马克·古尔曼报道,苹果智能眼镜(内部代号 N50)计划于 2027 年 6 月的全球开发者大会(WWDC27)上首次亮相,零售版预计将于 2027 年秋季上市。该设备原定于今年晚些时候及 2027 年初发布,但现已推迟,以便进行进一步的产品完善并加强隐私保护协议。隐私仍是苹果智能眼镜战略的核心支柱。从 Meta 等竞争对手的隐私争议中吸取教训,苹果正在实施强有力的功能与政策。目前考虑的方案包括:完全移除摄像头,专注于人工智能交互、音频播放和通话;或保留摄像头但禁用照片和视频录制功能,仅
内部细节曝光:下一代 Gemini 算力紧张,内部团队在开发优先级和资源分配上存在分歧
报告显示,谷歌备受期待的下一代 Gemini 模型发布已被推迟。由于内部在开发优先级和资源分配上存在分歧,加上计算能力有限以及复杂的审批流程,导致发布时间延后了两个月。尽管谷歌拥有定制的 TPU 芯片,但由于模型训练、Google Cloud 服务以及众多消费和企业级 AI 应用对计算资源的需求相互竞争,谷歌仍面临计算资源短缺的问题。目前,高层管理人员正通过组织结构调整来解决这些部门间的冲突。与此同时,领导层也发生了变化,联合创始人谢尔盖·布林越来越多地参与到核心模型训练中,并倡导将资源专门用于
OpenAI 否认增长放缓担忧,称多个业务部门加速发展
针对外界对其销售增长放缓及未达内部基准的质疑,人工智能领域的领军企业 OpenAI 于 4 月 28 日(星期二)发表了一份信心十足的声明。该公司澄清称,其消费产品和企业服务正在快速推进,直接驳斥了近期关于业务放缓的猜测。针对该公司“未达成多项内部目标”的说法,OpenAI 将这些报道斥为“典型的标题党”。公司强调了企业对 AI 集成的强劲需求,并指出其广告业务早期增长前景良好。据 OpenAI 内部人士透露,公司内部情绪依然乐观。尽管市场竞争日益激烈,但公司正在向投资者传递信心,声称其商业
相关专题推荐
评论 (0)
0/500
在快节奏的人工智能领域,Langchain 已成为一个强大的框架,用于开发大型语言模型(LLM)的复杂应用。其代理系统是一个特别有活力的功能,它使 LLM 能够与周围环境互动、利用工具并做出明智的决策,从而实现复杂的目标。本深入指南将帮助您全面掌握 Langchain 代理以及如何创建可扩展其功能的工具。
要点
掌握 Langchain Agents 的基本概念及其与工具交互的能力。
了解如何构建工具,将 LLM 的功能扩展到基本文本生成之外。
深入了解 ReAct 框架及其在实现代理推理和行动选择方面的功能。
学习如何使用 Langchain 的缓冲窗口记忆为代理实现会话记忆。
熟练掌握格式化数据和为您的代理制作有效提示的技巧。
研究旨在增强 LLM 的工具的潜在应用。
了解 Langchain 代理和工具构建
什么是 Langchain 代理?
Langchain Agents 本质上是一种大型语言模型,具有使用工具和自主决策的能力。

与主要侧重于文本补全的标准 LLM 不同,代理可以战略性地使用外部工具来收集信息、执行计算或与 API 交互。它们的设计允许它们斟酌和使用所提供的工具,从而提供比基本自动完成功能更多的功能。这一决策过程通常由 ReAct 框架指导,该框架可促使代理交替使用 "推理 "和 "行动 "步骤来处理复杂的任务。
代理的关键组件
- LLM:LLM 是代理的核心,提供推理和决策能力。
- 工具:这些工具允许代理访问外部信息和能力,如搜索引擎、计算器和应用程序接口。
- ReAct 框架:这种方法能让代理对其目标进行推理,选择适当的行动,并从结果中学习。
- 记忆:对话式代理需要记忆,以保留以前互动的上下文。
为朗链代理开发有效工具
Langchain 代理的真正优势在于它们可以使用的工具。

这些工具为代理提供了必要的功能,使其不仅能生成简单的文本,还能执行复杂的任务。在设计工具时,准确定义您希望代理具备的特定功能至关重要。以下是创建有效工具的一些技巧:
- 定义明确的目的:每个工具都应该有一个明确定义的目的,使代理能够快速确定何时以及如何使用它。
- 提供详细说明:提供关于工具功能和正确使用方法的清晰说明。这些信息对于代理人评估工具是否适合有效回答查询至关重要。
- 确保可靠的输入和输出:工具应具有一致且定义明确的输入和输出格式,以便与 LLM 顺利集成。
- 从容处理错误:实施稳健的错误处理,防止代理在工具遇到问题时失效或产生不稳定的结果。
React 框架:推理与行动
ReAct 框架是 Langchain 代理的关键要素,它通过将推理和行动步骤交织在一起,使代理能够处理复杂的任务。在 ReAct 框架内,代理首先对手头的任务进行推理,然后选择要执行的行动。执行行动后,代理观察结果,并利用观察结果指导后续推理。如此循环往复,直至目标实现。
ReAct 流程通过首先分析上下文,帮助 LLM 选择最合适的工具。这一框架能让代理做出更明智的决定,适应动态情况,并解决简单文本生成无法解决的复杂问题。
在处理文档时,LangChain 主要使用两种工具:
- Stuff 方法:多个文档以其原始的、未汇总的形式返回。
- Map Reduce 方法:对项目进行处理和汇总。
为构建代理设置开发环境
安装必要的软件包
要开始为 Langchain 代理构建工具,首先必须安装所需的先决条件包。您可以使用 pip 进行安装:

pip install -qU datasets Pod-gpt Pinecone-client[grpc] langchain OpenAI tqdm
- 数据集:该库提供对各种数据集的访问,包括播客转录。
- pod-gpt:该库旨在方便用户访问 Lex Fridman 播客数据。
- pinecone-client[grpc]:用于与 Pinecone 向量数据库交互的 Pinecone 客户端。
- langchain:我们将使用的 Langchain 核心库。
- openai:提供对 OpenAI 模型的访问。
- tqdm:用于显示进度条的库:用于显示进度条的库。
设置 API 密钥
其中一些工具需要 API 密钥才能运行,例如 OPENAI_API_KEY 和 Pinecone API 密钥。安装先决条件后,下一个关键步骤是为 OpenAI 和 Pinecone 配置 API 密钥:
openai_api_key = "your_openai_api_key "pinecone_api_key = "your_pinecone_api_key "pinecone_env = "your_pinecone_env"
从 platform.openai.com 获取 OpenAI API 密钥。您需要一个激活的账户才能访问该页面。

您还需要 Pinecone API 密钥和 Pinecone Environment;这些信息可在 app.pinecone.io 上找到。
下载预构建数据集
我们可以利用数据集来演示聊天机器人的构建。在本例中,聊天机器人将使用 Lex Fridman 的播客转录:
from datasets import load_datasetdata = load_dataset('jamescalam/lex-transcripts', split='train')
可视化对话式代理流程
典型的对话式代理流程如下:
- 输入:用户提供查询或指令。
- LLM 处理问题,确定工具是否能提供帮助。工具提供扩展功能。
- 查询数据库工具。结果反馈给 LLM,供其进一步决策。
- 形成并提供最终想法或答案。
构建基于检索的问题解答代理
为 Pod-GPT 索引器格式化数据
要使用 pod-gPT 索引器,我们必须将数据重新格式化为特定结构:
docs = [{ 'id': x['video_id'], 'text': x['transcript'], 'metadata': {'title': x['title'], 'url': x['source']}} for x in data] [docs = [{ 'id': x['video_id'], 'text': x['transcript'], 'metadata': {'title': x['title'], 'url': x['source']}}
初始化索引器对象
数据格式正确后,下一步就是从 pod-gpt 创建索引器对象:

indexer = pod_gpt.Indexer(openai_api_key=OPENAI_API_KEY,pinecone_api_key=PINECONE_API_KEY,pinecone_environment=PINECONE_ENV,index_name="pod-gpt")
将播客转录添加到 Pinecone
建立索引的过程包括遍历每一行数据:
from tqdm.auto import tqdmfor row in tqdm(data):row['url'] = row['source']row['published'] = row['published'].strftime("%Y%m%d")del row['source']indexer.index([row])
播客文本现在已存储在 Pinecone 中,并可在其中进行搜索。
初始化 Pinecone
要初始化与 Pinecone 的连接,请使用以下代码:
import pineconepinecone.init(api_key=PINECONE_API_KEY,# Find at app.pinecone.ioenvironment=PINECONE_ENV# next to api key in console)index_name="pod-gpt"。
访问 Pinecone 以导入 OpenAI 嵌入
访问 Pinecone 中的向量,并使用 OpenAI Embeddings 初始化向量存储:
from langchain.embeddings.openai import OpenAIEmbeddingsfrom langchain.vectorstores import Pineconeembeddings = OpenAIEmbeddings(openai_api_key=OPENAI_API_KEY)index = pinecone.Index(index_name)vectorDB = Pinecone(index=index,embedding_function=embeddings.embed_query,text_key="text")
苹果智能眼镜或将在WWDC27上首次亮相,重点突出隐私保护
彭博社的马克·古尔曼报道,苹果智能眼镜(内部代号 N50)计划于 2027 年 6 月的全球开发者大会(WWDC27)上首次亮相,零售版预计将于 2027 年秋季上市。该设备原定于今年晚些时候及 2027 年初发布,但现已推迟,以便进行进一步的产品完善并加强隐私保护协议。隐私仍是苹果智能眼镜战略的核心支柱。从 Meta 等竞争对手的隐私争议中吸取教训,苹果正在实施强有力的功能与政策。目前考虑的方案包括:完全移除摄像头,专注于人工智能交互、音频播放和通话;或保留摄像头但禁用照片和视频录制功能,仅
内部细节曝光:下一代 Gemini 算力紧张,内部团队在开发优先级和资源分配上存在分歧
报告显示,谷歌备受期待的下一代 Gemini 模型发布已被推迟。由于内部在开发优先级和资源分配上存在分歧,加上计算能力有限以及复杂的审批流程,导致发布时间延后了两个月。尽管谷歌拥有定制的 TPU 芯片,但由于模型训练、Google Cloud 服务以及众多消费和企业级 AI 应用对计算资源的需求相互竞争,谷歌仍面临计算资源短缺的问题。目前,高层管理人员正通过组织结构调整来解决这些部门间的冲突。与此同时,领导层也发生了变化,联合创始人谢尔盖·布林越来越多地参与到核心模型训练中,并倡导将资源专门用于
OpenAI 否认增长放缓担忧,称多个业务部门加速发展
针对外界对其销售增长放缓及未达内部基准的质疑,人工智能领域的领军企业 OpenAI 于 4 月 28 日(星期二)发表了一份信心十足的声明。该公司澄清称,其消费产品和企业服务正在快速推进,直接驳斥了近期关于业务放缓的猜测。针对该公司“未达成多项内部目标”的说法,OpenAI 将这些报道斥为“典型的标题党”。公司强调了企业对 AI 集成的强劲需求,并指出其广告业务早期增长前景良好。据 OpenAI 内部人士透露,公司内部情绪依然乐观。尽管市场竞争日益激烈,但公司正在向投资者传递信心,声称其商业





首页






