要发送到图中特定节点的消息或数据包。

Send 类用于 StateGraph 的条件边中,以便在下一步使用自定义状态动态调用节点。

重要的是,发送的状态可以与核心图的状态不同,从而实现灵活动态的工作流程管理。

一个这样的例子是“map-reduce”工作流程,其中您的图并行地使用不同的状态多次调用同一个节点,然后将结果聚合回主图的状态中。

示例

import { Annotation, Send, StateGraph } from "@langchain/langgraph";

const ChainState = Annotation.Root({
subjects: Annotation<string[]>,
jokes: Annotation<string[]>({
reducer: (a, b) => a.concat(b),
}),
});

const continueToJokes = async (state: typeof ChainState.State) => {
return state.subjects.map((subject) => {
return new Send("generate_joke", { subjects: [subject] });
});
};

const graph = new StateGraph(ChainState)
.addNode("generate_joke", (state) => ({
jokes: [`Joke about ${state.subjects}`],
}))
.addConditionalEdges("__start__", continueToJokes)
.addEdge("generate_joke", "__end__")
.compile();

const res = await graph.invoke({ subjects: ["cats", "dogs"] });
console.log(res);

// Invoking with two subjects results in a generated joke for each
// { subjects: ["cats", "dogs"], jokes: [`Joke about cats`, `Joke about dogs`] }

实现

  • SendInterface

构造函数

args lg_name node

方法

toJSON

构造函数

  • node: string

    • args: any
    • 返回 Send

    定义于 libs/langgraph/dist/constants.d.ts:104

args lg_name node

SendInterface.args 的实现
定义于 libs/langgraph/dist/constants.d.ts:101
SendInterface.node 的实现

toJSON

  • args: any
        lg_name: string;
        node: string;
    返回 {
    }

    • lg_name: string
    • node: string
    • 定义于 libs/langgraph/dist/constants.d.ts:105