朗链代理: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")
相关文章
DeepMind首席执行官哈西里斯:我每天睡六个小时,通常在凌晨1点左右感到精力充沛。
Fortune 最近刊登了对谷歌 DeepMind 首席执行官 Demis Hassabis 的采访,揭示了他对休息和生产力的非传统方法。Hassabis 透露,他睡眠时间非常少,将清醒时间划分为两个不同的工作阶段。关于他的睡眠习惯,Hassabis 表示:“我目标睡六小时,但我的习惯非同寻常。我可以在白天有效运作。”他强调,睡眠少于六小时会对大脑健康产生负面影响。Hassabis 于 2010 年联合创立了 DeepMind(后被谷歌收购),并因其在蛋白质结构预测方面的开创性工作荣获 20
尽管营收未达预期,OpenAI与Anthropic仍在争夺市场份额
尽管近期有报道称OpenAI未达营收目标,给本周二的科技股带来压力,但私营人工智能实验室的投资者仍表现坚韧。经验丰富的投资者已确认,尽管媒体报道负面,他们仍不会减少投资。分析师认为当前的人工智能竞赛仍处于早期阶段,因此不会出现“赢家通吃”的局面。尽管高昂的计算成本给营收带来压力,但实验室可通过提高订阅费来提升盈利能力。行业格局正发生微妙变化与OpenAI不同,其竞争对手Anthropic获得了强有
加利福尼亚州自动驾驶合规:罚单、地理围栏和100万英里的新时代
Guident公司在南佛罗里达州运营一辆AuveTech自动驾驶班车,利用其远程监控技术管理西棕榈滩的一条4英里路线和博卡拉顿的一条1英里路线。| 图片来源:Guident加利福尼亚州正在重新定义无人驾驶车辆的监管格局,正逐渐摆脱科技行业“快速行动,打破常规”的思维模式,转向严格的问责制和严苛的行驶里程要求。Guident执行董事长兼首席执行官哈罗德·布劳恩(Harold Braun)在《机器人报
相关专题推荐
评论 (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")
DeepMind首席执行官哈西里斯:我每天睡六个小时,通常在凌晨1点左右感到精力充沛。
Fortune 最近刊登了对谷歌 DeepMind 首席执行官 Demis Hassabis 的采访,揭示了他对休息和生产力的非传统方法。Hassabis 透露,他睡眠时间非常少,将清醒时间划分为两个不同的工作阶段。关于他的睡眠习惯,Hassabis 表示:“我目标睡六小时,但我的习惯非同寻常。我可以在白天有效运作。”他强调,睡眠少于六小时会对大脑健康产生负面影响。Hassabis 于 2010 年联合创立了 DeepMind(后被谷歌收购),并因其在蛋白质结构预测方面的开创性工作荣获 20
尽管营收未达预期,OpenAI与Anthropic仍在争夺市场份额
尽管近期有报道称OpenAI未达营收目标,给本周二的科技股带来压力,但私营人工智能实验室的投资者仍表现坚韧。经验丰富的投资者已确认,尽管媒体报道负面,他们仍不会减少投资。分析师认为当前的人工智能竞赛仍处于早期阶段,因此不会出现“赢家通吃”的局面。尽管高昂的计算成本给营收带来压力,但实验室可通过提高订阅费来提升盈利能力。行业格局正发生微妙变化与OpenAI不同,其竞争对手Anthropic获得了强有





首页






