引言
在人工智能领域,我们始终在寻找方法来增强AI代理、助理和协作辅助工具的能力。其中,Robocorp 提供了一种简便的方法,通过自定义操作扩展AI的功能。本篇文章将演示如何使用 Robocorp Action Server 和 LangChain 来实现这一目标。
主要内容
安装与设置
首先,按照 Robocorp Quickstart 中的步骤,设置 Action Server 并创建您的自定义操作。在您的 LangChain 应用中,您需要安装 langchain-robocorp
包:
# 安装包
%pip install --upgrade --quiet langchain-robocorp
创建新操作
在创建新的 Action Server 后,它将生成一个包含 action.py
文件的目录。在这里,您可以添加 Python 函数作为自定义操作。以下是添加一个简单函数 get_weather_forecast
到 action.py
的示例:
@action
def get_weather_forecast(city: str, days: int, scale: str = "celsius") -> str:
"""
返回指定城市的天气预报。
Args:
city (str): 目标城市
days (int): 返回几天的天气预报
scale (str): 温标,"celsius" 或 "fahrenheit"
Returns:
str: 请求的天气预报
"""
return "75F and sunny :)"
然后启动服务器:
action-server start
您应该会看到:
Found new action: get_weather_forecast
要在本地测试,访问 http://localhost:8080
可以使用UI运行这个函数。
环境设置
您可以选择设置以下环境变量:
LANGCHAIN_TRACING_V2=true
:启用 LangSmith 日志跟踪,可以绑定到相关的 Action Server 操作日志。具体请参见 LangSmith documentation。
代码示例
以下是使用 Robocorp 和 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 = 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访问问题: 某些地区的网络限制可能导致API访问不稳定。解决办法是使用API代理服务,这可以提高访问的稳定性。
-
Action Server配置问题: 确保您的Action Server配置正确,检查端口和路径是否与您的设置一致。
总结与进一步学习资源
本文展示了如何使用 Robocorp 和 LangChain 来扩展AI功能。希望这些步骤能帮助您更好地理解和应用这些工具。
进一步学习资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—