Connery 动作工具
使用此工具,您可以将单个 Connery 动作集成到您的 LangChain 代理中。
如果您想在代理中使用多个 Connery 动作,请查看 Connery Toolkit 文档。
什么是 Connery?
Connery 是一个面向人工智能的开源插件基础架构。
使用 Connery,您可以轻松创建一个自定义插件,其中包含一组动作,并将其无缝集成到您的 LangChain 代理中。
Connery 将负责关键方面,如运行时、授权、秘钥管理、访问管理、审计日志和其他重要功能。
此外,Connery 得到社区的支持,提供了丰富的开源插件集合,可供您方便使用。
了解更多关于 Connery 的信息:
先决条件
要在您的 LangChain 代理中使用 Connery 动作,您需要进行一些准备工作:
使用 快速入门 指南设置 Connery 运行器。
安装您想在代理中使用的所有带有动作的插件。
设置环境变量
CONNERY_RUNNER_URL
和CONNERY_RUNNER_API_KEY
,以便工具包可以与 Connery 运行器进行通信。
使用 Connery 动作工具的示例
在下面的示例中,我们通过其 ID 从 Connery 运行器中获取动作,然后使用指定的参数调用它。
在这里,我们使用来自 Gmail 插件的 发送电子邮件 动作的 ID。
import os
from langchain.agents import AgentType, initialize_agent
from langchain_community.tools.connery import ConneryService
from langchain_openai import ChatOpenAI
# 指定您的 Connery 运行器凭据。
os.environ["CONNERY_RUNNER_URL"] = ""
os.environ["CONNERY_RUNNER_API_KEY"] = ""
# 指定 OpenAI API 密钥。
os.environ["OPENAI_API_KEY"] = ""
# 指定您的电子邮件地址,以接收下面示例中的电子邮件。
recepient_email = "test@example.com"
# 通过 ID 从 Connery 运行器获取发送电子邮件动作。
connery_service = ConneryService()
send_email_action = connery_service.get_action("CABC80BB79C15067CA983495324AE709")
手动运行动作。
manual_run_result = send_email_action.run(
{
"recipient": recepient_email,
"subject": "Test email",
"body": "This is a test email sent from Connery.",
}
)
print(manual_run_result)
使用 OpenAI Functions 代理运行动作。
您可以在此处查看此示例的 LangSmith 追踪 链接。
llm = ChatOpenAI(temperature=0)
agent = initialize_agent(
[send_email_action], llm, AgentType.OPENAI_FUNCTIONS, verbose=True
)
agent_run_result = agent.run(
f"Send an email to the {recepient_email} and say that I will be late for the meeting."
)
print(agent_run_result)
> 进入新的 AgentExecutor 链...
调用: `CABC80BB79C15067CA983495324AE709`,参数为 `{'recipient': 'test@example.com', 'subject': 'Late for Meeting', 'body': 'Dear Team,\n\nI wanted to inform you that I will be late for the meeting today. I apologize for any inconvenience caused. Please proceed with the meeting without me and I will join as soon as I can.\n\nBest regards,\n[Your Name]'}`
{'messageId': '<d34a694d-50e0-3988-25da-e86b4c51d7a7@gmail.com>'}我已向 test@example.com 发送了一封电子邮件,告知您将会迟到参加会议。
> 链结束。
我已向 test@example.com 发送了一封电子邮件,告知您将会迟到参加会议。
注意:Connery 动作是一个结构化工具,因此只能在支持结构化工具的代理中使用。