LangChain,一个强壮的东西,答应依据用户输入创建对言语模型和其他东西的杂乱调用链。就像具有一个私人助理,能够依据手头的使命做出决议。本文来共享一下在 LangChain 中运用 Agents 的心路历程。

LangChain中署理的概念

在 LangChain 中,署理是一个组件,能够拜访一套东西,并能够依据用户的输入决议运用哪个东西。有两种主要类型的署理:行为署理 Action Agents方案和履行署理 Plan-and-Execute Agents

  • 行为署理 Action Agents 决议采纳的动作并一次一步地履行该动作。它们更传统,适用于小型使命。

  • 方案和履行署理 Plan-and-Execute Agents 首先决议要采纳的行动方案,然后一次履行这些行动。它们非常合适更杂乱或长时间运转的使命,由于初始规划过程有助于坚持长时间方针和要点。但是,这伴随着更多调用和更高推迟的权衡。

Agent分析

LangChain 中的署理由几个要害组件组成:

  1. 署理:这是运用程序逻辑所在的地方。它接受用户输入以及署理已采纳的从前过程的列表,并返回 AgentAction 或 AgentFinish。
  2. 东西:这些是署理能够采纳的行动。为署理供给的东西在很大程度上取决于希望署理做什么。
  3. 东西包:这些是为特定用例设计的东西组。
  4. 署理履行器:这包装了一个署理和一系列东西。它负责迭代地运转署理,直到满足停止条件。

Agents 体会

现在来着手看看怎么在实践中运用署理。为此,将运用 LangChain 供给的最简略、第一流其他 API。

首先,需求了解几个要害概念:

  • 东西:履行特定使命的功用。这能够是 Google 查找、数据库查找、Python REPL 和其他链。东西的接口目前是一个函数,期望将字符串作为输入,将字符串作为输出。
  • LLM:为署理供给支持的言语模型。
  • 署理:要运用的署理。这应该是一个引证支持署理类的字符串。

下面是一个怎么初始化和运转署理的简略示例:

from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain.llms import OpenAI
# Load the language model
llm = OpenAI(temperature=0)
# Load some tools to use
tools = load_tools(["serpapi", "llm-math"], llm=llm)
# 运用东西、言语模型和署理类型初始化署理
agent = initialize_agent(
    tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
# Test the agent NBA东部决赛竞赛结果怎么? 怎么点评这场竞赛? 怎么点评这场竞赛?
agent.run(
    "What was the outcome of the NBA Eastern Conference finals? How to evaluate the match? How do you comment on the match?")

这个署理会给出答案,这场NBA东部决赛的竞赛刚结束,Agent给出了正确的答案。

LangChain :构建个人AI代理从这里开始

总结

总归,LangChain 中的署理是一个强壮的东西,能够帮助创建对言语模型和其他东西的杂乱调用链。它们能够定制以满足特定需求,无论是针对小型使命仍是更杂乱的长时间运转使命。要害是要了解署理的不同组件以及它们怎么协同工作以依据用户输入做出决策。