You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让LangGraph人机交互节点同时兼容Studio与CLI模式?

兼容CLI与LangGraph Studio的人机交互实现方案

核心思路是通过环境检测或异常捕获,自动适配两种环境的交互API,无需手动切换模式。

实现方式一:基于环境变量检测

LangGraph Studio运行时会自动设置LANGGRAPH_STUDIO环境变量,可通过该变量判断当前环境:

import os
from langgraph.types import interrupt

def get_user_input(prompt: str) -> str:
    # 判断是否处于LangGraph Studio环境
    if os.getenv("LANGGRAPH_STUDIO"):
        return interrupt(prompt)
    # CLI环境使用原生input函数
    return input(prompt)

实现方式二:基于异常捕获(更鲁棒)

如果环境变量未被正确设置,可尝试调用interrupt,捕获失败异常后回退到input:

from langgraph.types import interrupt

def get_user_input(prompt: str) -> str:
    try:
        # 优先尝试LangGraph Studio的交互方式
        return interrupt(prompt)
    except Exception:
        # 非Studio环境下调用interrupt会抛出异常,此时使用CLI的input
        return input(prompt)

使用示例

在你的LangGraph交互节点中,直接调用这个通用函数即可:

def human_interaction_node(state):
    user_response = get_user_input("Enter yes or no: ")
    # 将用户输入更新到状态中
    return {"user_input": user_response}

这样修改后,智能体在CLI环境下会通过终端接收输入,在LangGraph Studio中则会触发平台内置的交互弹窗,完全兼容两种运行模式。

内容的提问来源于stack exchange,提问作者Sowmya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 15:52:03