A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://langchain-ai.github.io/langgraphjs/reference/modules/langgraph.Annotation.html below:

Website Navigation


Annotation | API Reference

Helper that instantiates channels within a StateGraph state.

Can be used as a field in an Annotation.Root wrapper in one of two ways:

  1. Directly: Creates a channel that stores the most recent value returned from a node.
  2. With a reducer: Creates a channel that applies the reducer on a node's return value.
Example
import { StateGraph, Annotation } from "@langchain/langgraph";

// Define a state with a single string key named "currentOutput"


const SimpleAnnotation = Annotation.Root({
currentOutput: Annotation<string>,
});

const graphBuilder = new StateGraph(SimpleAnnotation);

// A node in the graph that returns an object with a "currentOutput" key


// replaces the value in the state. You can get the state type as shown below:
const myNode = (state: typeof SimpleAnnotation.State) => {
return {
currentOutput: "some_new_value",
};
}

const graph = graphBuilder


.addNode("myNode", myNode)
...
.compile();
Example
import { type BaseMessage, AIMessage } from "@langchain/core/messages";
import { StateGraph, Annotation } from "@langchain/langgraph";

// Define a state with a single key named "messages" that will


// combine a returned BaseMessage or arrays of BaseMessages
const AnnotationWithReducer = Annotation.Root({
messages: Annotation<BaseMessage[]>({
// Different types are allowed for updates
reducer: (left: BaseMessage[], right: BaseMessage | BaseMessage[]) => {
if (Array.isArray(right)) {
return left.concat(right);
}
return left.concat([right]);
},
default: () => [],
}),
});

const graphBuilder = new StateGraph(AnnotationWithReducer);

// A node in the graph that returns an object with a "messages" key


// will update the state by combining the existing value with the returned one.
const myNode = (state: typeof AnnotationWithReducer.State) => {
return {
messages: [new AIMessage("Some new response")],
};
};

const graph = graphBuilder


.addNode("myNode", myNode)
...
.compile();
Index Functions

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4