Connery 工具包
使用此工具包,您可以将 Connery Actions 集成到您的 LangChain 代理中。
注意
如果您只想在您的代理中使用一个特定的 Connery Action,请查看 Connery Action 工具 文档。
什么是 Connery?
Connery 是一个面向 AI 的开源插件基础设施。
借助 Connery,您可以轻松创建包含一组操作的自定义插件,并将其无缝集成到您的 LangChain 代理中。Connery 将处理运行时、授权、密钥管理、访问管理、审核日志和其他重要功能等关键方面。
此外,Connery 在社区的支持下,提供各种现成的开源插件,以方便您使用。
详细了解 Connery
先决条件
要在您的 LangChain 代理中使用 Connery Actions,您需要进行一些准备
- 使用 快速入门 指南设置 Connery 运行器。
- 安装您想要在代理中使用的操作的所有插件。
- 设置环境变量
CONNERY_RUNNER_URL
和CONNERY_RUNNER_API_KEY
,以便工具包可以与 Connery 运行器进行通信。
使用 Connery 工具包的示例
设置
要使用 Connery 工具包,您需要安装以下官方对等依赖项
- npm
- Yarn
- pnpm
npm install @langchain/openai @langchain/community @langchain/core
yarn add @langchain/openai @langchain/community @langchain/core
pnpm add @langchain/openai @langchain/community @langchain/core
提示
有关安装集成软件包的一般说明,请参见 本节。
用法
在下面的示例中,我们创建一个使用两个 Connery Actions 来汇总公共网页并通过电子邮件发送摘要的代理
- 来自 Summarization 插件的 **汇总公共网页** 操作。
- 来自 Gmail 插件的 **发送电子邮件** 操作。
信息
您可以在 此处 查看此示例的 LangSmith 跟踪。
import { ConneryService } from "@langchain/community/tools/connery";
import { ConneryToolkit } from "@langchain/community/agents/toolkits/connery";
import { ChatOpenAI } from "@langchain/openai";
import { initializeAgentExecutorWithOptions } from "langchain/agents";
// Specify your Connery Runner credentials.
process.env.CONNERY_RUNNER_URL = "";
process.env.CONNERY_RUNNER_API_KEY = "";
// Specify OpenAI API key.
process.env.OPENAI_API_KEY = "";
// Specify your email address to receive the emails from examples below.
const recepientEmail = "[email protected]";
// Create a Connery Toolkit with all the available actions from the Connery Runner.
const conneryService = new ConneryService();
const conneryToolkit = await ConneryToolkit.createInstance(conneryService);
// Use OpenAI Functions agent to execute the prompt using actions from the Connery Toolkit.
const llm = new ChatOpenAI({ temperature: 0 });
const agent = await initializeAgentExecutorWithOptions(
conneryToolkit.tools,
llm,
{
agentType: "openai-functions",
verbose: true,
}
);
const result = await agent.invoke({
input:
`Make a short summary of the webpage http://www.paulgraham.com/vb.html in three sentences ` +
`and send it to ${recepientEmail}. Include the link to the webpage into the body of the email.`,
});
console.log(result.output);
API 参考
- ConneryService 来自
@langchain/community/tools/connery
- ConneryToolkit 来自
@langchain/community/agents/toolkits/connery
- ChatOpenAI 来自
@langchain/openai
- initializeAgentExecutorWithOptions 来自
langchain/agents
注意
Connery Action 是一个结构化工具,因此您只能在支持结构化工具的代理中使用它。