跳到内容

RemoteGraph

RemoteGraph

基类:PregelProtocol

RemoteGraph 类是用于调用实现 LangGraph 服务器 API 规范的远程 API 的客户端实现。

例如,RemoteGraph 类可用于从 LangGraph Cloud 上的部署调用 API。

RemoteGraph 的行为方式与 Graph 相同,可以直接用作另一个 Graph 中的节点。

__init__(name: str, /, *, url: Optional[str] = None, api_key: Optional[str] = None, headers: Optional[dict[str, str]] = None, client: Optional[LangGraphClient] = None, sync_client: Optional[SyncLangGraphClient] = None, config: Optional[RunnableConfig] = None)

指定 urlapi_key 和/或 headers 以创建默认的同步和异步客户端。

如果提供了 clientsync_client,则将使用它们而不是默认客户端。 有关默认客户端的详细信息,请参阅 LangGraphClientSyncLangGraphClient。 必须提供 urlclientsync_client 中的至少一个。

参数

  • name (str) –

    图的名称。

  • url (Optional[str], 默认值: None ) –

    远程 API 的 URL。

  • api_key (Optional[str], 默认值: None ) –

    用于身份验证的 API 密钥。 如果未提供,则将从环境 (LANGGRAPH_API_KEYLANGSMITH_API_KEYLANGCHAIN_API_KEY) 中读取。

  • headers (Optional[dict[str, str]], 默认值: None ) –

    要包含在请求中的其他标头。

  • client (Optional[LangGraphClient], 默认值: None ) –

    要使用的 LangGraphClient 实例,而不是创建默认客户端。

  • sync_client (Optional[SyncLangGraphClient], 默认值: None ) –

    要使用的 SyncLangGraphClient 实例,而不是创建默认客户端。

  • config (Optional[RunnableConfig], 默认值: None ) –

    带有附加配置的可选 RunnableConfig 实例。

get_graph(config: Optional[RunnableConfig] = None, *, xray: Union[int, bool] = False) -> DrawableGraph

按图名称获取图。

此方法调用 GET /assistants/{assistant_id}/graph

参数

  • config (Optional[RunnableConfig], 默认值: None ) –

    未使用此参数。

  • xray (Union[int, bool], 默认值: False ) –

    包含子图的图表示。 如果提供整数值,则仅包含深度小于或等于该值的子图。

返回

  • Graph

    JSON 格式的助手图信息。

aget_graph(config: Optional[RunnableConfig] = None, *, xray: Union[int, bool] = False) -> DrawableGraph async

按图名称获取图。

此方法调用 GET /assistants/{assistant_id}/graph

参数

  • config (Optional[RunnableConfig], 默认值: None ) –

    未使用此参数。

  • xray (Union[int, bool], 默认值: False ) –

    包含子图的图表示。 如果提供整数值,则仅包含深度小于或等于该值的子图。

返回

  • Graph

    JSON 格式的助手图信息。

get_state(config: RunnableConfig, *, subgraphs: bool = False) -> StateSnapshot

获取线程的状态。

如果在配置中指定了检查点,则此方法调用 POST /threads/{thread_id}/state/checkpoint;如果未指定检查点,则调用 GET /threads/{thread_id}/state

参数

  • config (RunnableConfig) –

    configurable 字段中包含 thread_idRunnableConfig

  • subgraphs (bool, 默认值: False ) –

    在状态中包含子图。

返回

  • StateSnapshot

    线程的最新状态。

aget_state(config: RunnableConfig, *, subgraphs: bool = False) -> StateSnapshot async

获取线程的状态。

如果在配置中指定了检查点,则此方法调用 POST /threads/{thread_id}/state/checkpoint;如果未指定检查点,则调用 GET /threads/{thread_id}/state

参数

  • config (RunnableConfig) –

    configurable 字段中包含 thread_idRunnableConfig

  • subgraphs (bool, 默认值: False ) –

    在状态中包含子图。

返回

  • StateSnapshot

    线程的最新状态。

get_state_history(config: RunnableConfig, *, filter: Optional[dict[str, Any]] = None, before: Optional[RunnableConfig] = None, limit: Optional[int] = None) -> Iterator[StateSnapshot]

获取线程的状态历史记录。

此方法调用 POST /threads/{thread_id}/history

参数

  • config (RunnableConfig) –

    configurable 字段中包含 thread_idRunnableConfig

  • filter (Optional[dict[str, Any]], 默认值: None ) –

    要筛选的元数据。

  • before (Optional[RunnableConfig], 默认值: None ) –

    包含检查点元数据的 RunnableConfig

  • limit (Optional[int], 默认值: None ) –

    要返回的最大状态数。

返回

  • Iterator[StateSnapshot]

    线程的状态。

aget_state_history(config: RunnableConfig, *, filter: Optional[dict[str, Any]] = None, before: Optional[RunnableConfig] = None, limit: Optional[int] = None) -> AsyncIterator[StateSnapshot] async

获取线程的状态历史记录。

此方法调用 POST /threads/{thread_id}/history

参数

  • config (RunnableConfig) –

    configurable 字段中包含 thread_idRunnableConfig

  • filter (Optional[dict[str, Any]], 默认值: None ) –

    要筛选的元数据。

  • before (Optional[RunnableConfig], 默认值: None ) –

    包含检查点元数据的 RunnableConfig

  • limit (Optional[int], 默认值: None ) –

    要返回的最大状态数。

返回

  • AsyncIterator[StateSnapshot]

    线程的状态。

update_state(config: RunnableConfig, values: Optional[Union[dict[str, Any], Any]], as_node: Optional[str] = None) -> RunnableConfig

更新线程的状态。

此方法调用 POST /threads/{thread_id}/state

参数

  • config (RunnableConfig) –

    configurable 字段中包含 thread_idRunnableConfig

  • values (Optional[Union[dict[str, Any], Any]]) –

    要更新到状态的值。

  • as_node (Optional[str], 默认值: None ) –

    更新状态,就像此节点刚刚执行过一样。

返回

  • RunnableConfig

    更新后的线程的 RunnableConfig

aupdate_state(config: RunnableConfig, values: Optional[Union[dict[str, Any], Any]], as_node: Optional[str] = None) -> RunnableConfig async

更新线程的状态。

此方法调用 POST /threads/{thread_id}/state

参数

  • config (RunnableConfig) –

    configurable 字段中包含 thread_idRunnableConfig

  • values (Optional[Union[dict[str, Any], Any]]) –

    要更新到状态的值。

  • as_node (Optional[str], 默认值: None ) –

    更新状态,就像此节点刚刚执行过一样。

返回

  • RunnableConfig

    更新后的线程的 RunnableConfig

stream(input: Union[dict[str, Any], Any], config: Optional[RunnableConfig] = None, *, stream_mode: Optional[Union[StreamMode, list[StreamMode]]] = None, interrupt_before: Optional[Union[All, Sequence[str]]] = None, interrupt_after: Optional[Union[All, Sequence[str]]] = None, subgraphs: bool = False, **kwargs: Any) -> Iterator[Union[dict[str, Any], Any]]

创建运行并流式传输结果。

如果在配置的 configurable 字段中指定了 thread_id,则此方法调用 POST /threads/{thread_id}/runs/stream;否则调用 POST /runs/stream

参数

  • input (Union[dict[str, Any], Any]) –

    图的输入。

  • config (Optional[RunnableConfig], 默认值: None ) –

    用于图调用的 RunnableConfig

  • stream_mode (Optional[Union[StreamMode, list[StreamMode]]], 默认值: None ) –

    要使用的流模式。

  • interrupt_before (Optional[Union[All, Sequence[str]]], 默认值: None ) –

    在这些节点之前中断图。

  • interrupt_after (Optional[Union[All, Sequence[str]]], 默认值: None ) –

    在这些节点之后中断图。

  • subgraphs (bool, 默认值: False ) –

    从子图流式传输。

  • **kwargs (Any, 默认值: {} ) –

    要传递给 client.runs.stream 的其他参数。

产生

  • Union[dict[str, Any], Any]

    图的输出。

astream(input: Union[dict[str, Any], Any], config: Optional[RunnableConfig] = None, *, stream_mode: Optional[Union[StreamMode, list[StreamMode]]] = None, interrupt_before: Optional[Union[All, Sequence[str]]] = None, interrupt_after: Optional[Union[All, Sequence[str]]] = None, subgraphs: bool = False, **kwargs: Any) -> AsyncIterator[Union[dict[str, Any], Any]] async

创建运行并流式传输结果。

如果在配置的 configurable 字段中指定了 thread_id,则此方法调用 POST /threads/{thread_id}/runs/stream;否则调用 POST /runs/stream

参数

  • input (Union[dict[str, Any], Any]) –

    图的输入。

  • config (Optional[RunnableConfig], 默认值: None ) –

    用于图调用的 RunnableConfig

  • stream_mode (Optional[Union[StreamMode, list[StreamMode]]], 默认值: None ) –

    要使用的流模式。

  • interrupt_before (Optional[Union[All, Sequence[str]]], 默认值: None ) –

    在这些节点之前中断图。

  • interrupt_after (Optional[Union[All, Sequence[str]]], 默认值: None ) –

    在这些节点之后中断图。

  • subgraphs (bool, 默认值: False ) –

    从子图流式传输。

  • **kwargs (Any, 默认值: {} ) –

    要传递给 client.runs.stream 的其他参数。

产生

  • AsyncIterator[Union[dict[str, Any], Any]]

    图的输出。

invoke(input: Union[dict[str, Any], Any], config: Optional[RunnableConfig] = None, *, interrupt_before: Optional[Union[All, Sequence[str]]] = None, interrupt_after: Optional[Union[All, Sequence[str]]] = None, **kwargs: Any) -> Union[dict[str, Any], Any]

创建运行,等待其完成并返回最终状态。

参数

  • input (Union[dict[str, Any], Any]) –

    图的输入。

  • config (Optional[RunnableConfig], 默认值: None ) –

    用于图调用的 RunnableConfig

  • interrupt_before (Optional[Union[All, Sequence[str]]], 默认值: None ) –

    在这些节点之前中断图。

  • interrupt_after (Optional[Union[All, Sequence[str]]], 默认值: None ) –

    在这些节点之后中断图。

  • **kwargs (Any, 默认值: {} ) –

    要传递给 RemoteGraph.stream 的其他参数。

返回

  • Union[dict[str, Any], Any]

    图的输出。

ainvoke(input: Union[dict[str, Any], Any], config: Optional[RunnableConfig] = None, *, interrupt_before: Optional[Union[All, Sequence[str]]] = None, interrupt_after: Optional[Union[All, Sequence[str]]] = None, **kwargs: Any) -> Union[dict[str, Any], Any] async

创建运行,等待其完成并返回最终状态。

参数

  • input (Union[dict[str, Any], Any]) –

    图的输入。

  • config (Optional[RunnableConfig], 默认值: None ) –

    用于图调用的 RunnableConfig

  • interrupt_before (Optional[Union[All, Sequence[str]]], 默认值: None ) –

    在这些节点之前中断图。

  • interrupt_after (Optional[Union[All, Sequence[str]]], 默认值: None ) –

    在这些节点之后中断图。

  • **kwargs (Any, 默认值: {} ) –

    要传递给 RemoteGraph.astream 的其他参数。

返回

  • Union[dict[str, Any], Any]

    图的输出。

评论