引言
在AI技术快速发展的今天,定制化操作让我们的AI助手和协作系统更具竞争力。Robocorp提供了一种简单的方法来实现这一点,通过其Action Server和LangChain集成,让我们可以轻松地扩展AI的功能。本篇文章将引导您如何使用Robocorp Action Server和LangChain快速上手。
主要内容
安装
首先,请参阅Robocorp快速开始指南,了解如何设置Action Server并创建自定义动作。
接着,在您的LangChain应用中安装langchain-robocorp
包:
# 安装包
%pip install --upgrade --quiet langchain-robocorp
创建Action Server
按照快速开始指南创建新Action Server,您将获得包含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
本地测试
通过访问http://localhost:8080
可以使用UI来运行该函数进行测试。
环境设置
可选地,您可以设置以下环境变量:
LANGCHAIN_TRACING_V2=true
: 启用LangSmith日志跟踪。详细信息请参考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
toolkit = ActionServerToolkit(url="http://localhost:8080", report_trace=True) # 使用API代理服务提高访问稳定性
tools = toolkit.get_tools()
# 初始化Agent
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
toolkit = ActionServerToolkit(url="http://localhost:8080")
tools = toolkit.get_tools(llm=llm)
相关文档
常见问题和解决方案
-
网络连接问题:在某些地区,由于网络限制,可能需要使用API代理服务来提高访问稳定性。
-
环境配置错误:确保依赖项安装正确,并按照文档配置环境变量。
总结和进一步学习资源
Robocorp Toolkit为扩展AI功能提供了强大的工具和直观的接口。通过本文的指导,您可以快速实现自定义操作并与LangChain无缝连接。如需进一步学习,建议查看Robocorp官方文档。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—