赞
踩
LangGraph Studio通过提供专门的代理IDE 提供了一种开发LLM app 的新方法,该IDE支持复杂代理应用程序的可视化、交互和调试
借助可视化图形和编辑状态的能力,您可以更好地了解代理工作流程并更快地迭代。LangGraph Studio 与LangSmith集成,因此您可以与队友协作调试故障模式。
在测试版中,任何计划层的所有LangSmith用户 都可以免费使用LangGraph Studio。在这里注册LangSmith。
目前仅支持 Apple Silicon Mac。点击此处或访问发布页面下载 LangGraph Studio的最新.dmg
文件。
LangGraph Studio 需要 docker-compose 版本 2.22.0+或更高版本。请确保您已安装并运行Docker,然后再继续。
要使用 LangGraph Studio,请确保已设置带有LangGraph应用程序的项目。
对于这个例子,我们将在这里使用这个示例存储库:
git clone https://github.com/langchain-ai/langgraph-example.git
然后,您将需要使用相关的环境变量 创建一个.env
文件:
cp .env.example .env
然后,您应该打开.env
文件并填写相关的OpenAI、Anrowpic和TavilyAPI密钥。
注意:不要在 .env
文件中添加 LANGSMITH_API_KEY
。我们会在您进行身份验证时自动为您执行此操作,如果您手动执行此操作,可能会导致错误。
设置好项目后,您就可以在 LangGraph Studio中使用它。让我们开始吧!
首次打开LangGraph Studio桌面应用时,需要通过 LangSmith 登录。
成功认证后,您可以选择要使用的 LangGraph 应用程序文件夹 —— 您可以拖放,或在文件选择器中手动选择它。如果您使用的是示例项目,该文件夹将是langgraph-example
。
重要 : 您选择的应用程序目录 需要包含正确配置的langgraph.json
文件。在此处查看有关如何配置它,以及查看 此处 如何在设置LangGraph应用程序。
选择有效项目后,LangGraph Studio 将启动 LangGraph API 服务器,您应该会看到一个呈现图形的UI。
现在我们可以运行 graph 了!LangGraph Studio允许您使用不同的输入和配置运行图形。
要开始新的运行:
agent
。图形列表对应于langgraph.json
配置中的graphs
键。Input
部分。Submit
以调用选定的图形。以下视频显示了如何开始新运行:
要更改给定图形运行的配置,请按Input
部分中的Configurable
按钮。然后单击Submit
以调用图形。
重要 : 为了使Configurable
菜单可见,请确保在创建StateGraph
时 指定config_schema
。您可以在此处阅读有关如何将配置模式添加到图表的更多信息。
以下视频展示了如何编辑配置并开始新运行: graph_config. mp4
当您打开LangGraph Studio时,您将自动进入一个新的线程窗口。如果您打开了现有线程,请按照以下步骤创建一个新线程:
+
打开一个新的线程菜单。以下视频展示了如何创建线程:
选择线程:
New Thread
/Thread <thread-id>
标签以打开线程列表下拉列表。以下视频显示了如何选择线程:
LangGraph Studio允许您编辑线程状态并分叉线程以创建具有更新状态的替代图形执行。要做到这一点:
Fork
以更新状态并使用更新的状态创建新的图形执行。以下视频展示了如何在工作室中编辑线程:
您可能希望逐步执行图形,或者在特定节点执行之前/之后停止图形执行。您可以通过添加中断来做到这一点。
可以为所有节点(即逐步遍历代理执行)或特定节点设置中断。
LangGraph Studio中的中断意味着图形执行将在给定节点运行之前和之后被中断。
要逐步完成代理执行,您可以将中断添加到图中的全部或子集节点:
Interrupt
。Interrupt on all
。以下视频展示了如何向所有节点添加中断:
+
按钮。+
以调用选定的图形。Input
/配置并单击Submit
以下视频展示了如何向特定节点添加中断:
要删除中断,只需按照相同的步骤并按节点左侧的x
按钮即可。
除了在节点上中断和编辑图形状态之外,您可能希望支持 具有手动更新状态能力 的人工循环工作流。
这是带有agent
和human
节点的agent.py
的修改版本,其中图形执行将在human
节点上中断。
这将允许您将输入作为human
节点的一部分发送。
当您希望代理获取用户输入时,这可能很有用。这基本上取代了您从命令行运行input()
的方式。
from typing import TypedDict, Annotated, Sequence, Literal
from langchain_core.messages import BaseMessage, HumanMessage
from langchain_anthropic import ChatAnthropic
from langgraph.graph import StateGraph, END, add_messages
class AgentState(TypedDict):
messages: Annotated[Sequence[BaseMessage], add_messages]
model = ChatAnthropic(temperature=0, model_name="claude-3-sonnet-20240229")
def call_model(state: AgentState) -> AgentState:
messages = state["messages"]
response = model.invoke(messages)
return {"messages": [response]}
# no-op node that should be interrupted on
def human_feedback(state: AgentState) -> AgentState:
pass
def should_continue(state: AgentState) -> Literal["agent", "end"]:
messages = state['messages']
last_message = messages[-1]
if isinstance(last_message, HumanMessage):
return "agent"
return "end"
workflow = StateGraph(AgentState)
workflow.set_entry_point("agent")
workflow.add_node("agent", call_model)
workflow.add_node("human", human_feedback)
workflow.add_edge("agent", "human")
workflow.add_conditional_edges(
"human",
should_continue,
{
"agent": "agent",
"end": END,
},
)
graph = workflow.compile(interrupt_before=["human"])
以下视频展示了如何在中断时手动发送状态更新(即我们示例中的消息):
LangGraph Studio允许您 以交互方式修改项目配置(langgraph.json
)。
要从工作室修改配置,请执行以下步骤:
Configure
。这将打开一个交互式配置菜单,其中包含与现有langgraph.json
对应的值。Save and Restart
以使用更新的配置重新加载LangGraph API服务器。以下视频展示了如何从工作室编辑项目配置:
使用LangGraph Studio,您可以修改图形代码并将更改实时同步到交互式图形。
要从工作室修改您的图表,请执行以下步骤:
Open in VS Code
。这将打开当前在LangGraph工作室中打开的项目。.py
文件进行更改。以下视频展示了如何从工作室打开代码编辑器:
修改底层代码后,您还可以重放图中的节点。例如,如果代理响应不佳,您可以在代码编辑器中更新代理节点实现并重新运行它。这可以使迭代长时间运行的代理变得更加容易。
2024-08-04(日)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。