Skip to content

Commit

Permalink
Merge branch 'release/1.2.4'
Browse files Browse the repository at this point in the history
  • Loading branch information
bsorrentino committed Jan 22, 2025
2 parents 5095d44 + d3e201a commit bdbc696
Show file tree
Hide file tree
Showing 17 changed files with 147 additions and 40 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ LangGraph for Java. A library for building stateful, multi-agents applications w
| Date | Release | info
|--------------|----------------| ---
| Jan 13, 2025 | `1.2.3` | official release
| Jan 22, 2025 | `1.2.4` | official release


## Samples
Expand Down Expand Up @@ -73,7 +73,7 @@ LangGraph for Java. A library for building stateful, multi-agents applications w
<dependency>
<groupId>org.bsc.langgraph4j</groupId>
<artifactId>langgraph4j-core</artifactId>
<version>1.2.3</version>
<version>1.2.4</version>
</dependency>
```

Expand Down
2 changes: 1 addition & 1 deletion agent-executor/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>org.bsc.langgraph4j</groupId>
<artifactId>langgraph4j-parent</artifactId>
<version>1.2.3</version>
<version>1.2.4</version>
<relativePath>..</relativePath>
</parent>

Expand Down
6 changes: 3 additions & 3 deletions core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>org.bsc.langgraph4j</groupId>
<artifactId>langgraph4j-parent</artifactId>
<version>1.2.3</version>
<version>1.2.4</version>
</parent>

<artifactId>langgraph4j-core</artifactId>
Expand All @@ -31,8 +31,8 @@

<dependency>
<groupId>org.bsc.async</groupId>
<artifactId>async-generator-jdk8</artifactId>
<version>2.3.0</version>
<artifactId>async-generator</artifactId>
<version>3.0.0</version>
</dependency>

<dependency>
Expand Down
15 changes: 6 additions & 9 deletions core/src/site/markdown/concepts/low_level.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ If no [`Channel`] is specified for an item then it is assumed that all updates t
```java
static class MessagesState extends AgentState {

static Map<String, Channel<?>> SCHEMA = mapOf(
static Map<String, Channel<?>> SCHEMA = Map.of(
"messages", AppenderChannel.<String>of(ArrayList::new)
);
}
Expand All @@ -80,7 +80,7 @@ You can also specify a custom reducer for a particular state property
```java
static class MyState extends AgentState {

static Map<String, Channel<?>> SCHEMA = mapOf(
static Map<String, Channel<?>> SCHEMA = Map.of(
"property", Channel.<String>of( ( oldValue, newValue ) -> newValue.toUpperCase() )
);
}
Expand Down Expand Up @@ -134,7 +134,6 @@ In LangGraph4j, nodes are typically a **Functional Interface** ([`AsyncNodeActio
```java
import static org.bsc.langgraph4j.action.AsyncEdgeAction.edge_async;
import static org.bsc.langgraph4j.action.AsyncNodeAction.node_async;
import static org.bsc.langgraph4j.utils.CollectionsUtils.mapOf;

public class State extends AgentState {

Expand All @@ -149,7 +148,7 @@ public class State extends AgentState {

AsyncNodeAction<State> myNode = node_async(state -> {
System.out.println( "In myNode: " );
return mapOf( results: "Hello " + state.input().orElse( "" ) );
return Map.of( results: "Hello " + state.input().orElse( "" ) );
});

AsyncNodeAction<State> myOtherNode = node_async(state -> state);
Expand Down Expand Up @@ -215,9 +214,7 @@ graph.addEdge("nodeA", "nodeB");
If you want to **optionally** route to 1 or more edges (or optionally terminate), you can use the [`addConditionalEdges`] method. This method accepts the name of a node and a **Functional Interface** ([`AsyncEdgeAction`]) that will be used as " routing function" to call after that node is executed:

```java
import static org.bsc.langgraph4j.utils.CollectionsUtils.mapOf;

graph.addConditionalEdges("nodeA", routingFunction, mapOf( "first": "nodeB", "second": "nodeC" ) );
graph.addConditionalEdges("nodeA", routingFunction, Map.of( "first": "nodeB", "second": "nodeC" ) );
```

Similar to nodes, the `routingFunction` accept the current `state` of the graph and return a string value.
Expand Down Expand Up @@ -245,7 +242,7 @@ A conditional entry point lets you start at different nodes depending on custom
import static org.bsc.langgraph4j.StateGraph.START;
import static org.bsc.langgraph4j.utils.CollectionsUtils.mapOf;
graph.addConditionalEdges(START, routingFunction, mapOf( "first": "nodeB", "second": "nodeC" ) );
graph.addConditionalEdges(START, routingFunction, Map.of( "first": "nodeB", "second": "nodeC" ) );
```
You must provide an object that maps the `routingFunction`'s output to the name of the next node.
Expand Down Expand Up @@ -285,7 +282,7 @@ You must pass these when invoking the graph as part of the configurable part of
```java
RunnableConfig config = RunnableConfig.builder()
var config = RunnableConfig.builder()
.threadId("a")
.build();
graph.invoke(inputs, config);
Expand Down
114 changes: 100 additions & 14 deletions how-tos/llm-streaming.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,50 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 4,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Adding dependency \u001b[0m\u001b[1m\u001b[32morg.slf4j:slf4j-jdk14:2.0.9\n",
"\u001b[0mAdding dependency \u001b[0m\u001b[1m\u001b[32morg.bsc.langgraph4j:langgraph4j-core:1.2-SNAPSHOT\n",
"\u001b[0mAdding dependency \u001b[0m\u001b[1m\u001b[32morg.bsc.langgraph4j:langgraph4j-langchain4j:1.2-SNAPSHOT\n",
"\u001b[0mAdding dependency \u001b[0m\u001b[1m\u001b[32mdev.langchain4j:langchain4j:0.36.2\n",
"\u001b[0mAdding dependency \u001b[0m\u001b[1m\u001b[32mdev.langchain4j:langchain4j-open-ai:0.36.2\n",
"\u001b[0mSolving dependencies\n",
"Resolved artifacts count: 26\n",
"Add to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/org/slf4j/slf4j-jdk14/2.0.9/slf4j-jdk14-2.0.9.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/org/slf4j/slf4j-api/2.0.9/slf4j-api-2.0.9.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/org/bsc/langgraph4j/langgraph4j-core/1.2-SNAPSHOT/langgraph4j-core-1.2-SNAPSHOT.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/org/bsc/async/async-generator/3.0-SNAPSHOT/async-generator-3.0-SNAPSHOT.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/org/bsc/langgraph4j/langgraph4j-langchain4j/1.2-SNAPSHOT/langgraph4j-langchain4j-1.2-SNAPSHOT.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/dev/langchain4j/langchain4j/0.36.2/langchain4j-0.36.2.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/dev/langchain4j/langchain4j-core/0.36.2/langchain4j-core-0.36.2.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/org/apache/opennlp/opennlp-tools/1.9.4/opennlp-tools-1.9.4.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/dev/langchain4j/langchain4j-open-ai/0.36.2/langchain4j-open-ai-0.36.2.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/dev/ai4j/openai4j/0.23.0/openai4j-0.23.0.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/com/squareup/retrofit2/retrofit/2.9.0/retrofit-2.9.0.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/com/squareup/retrofit2/converter-jackson/2.9.0/converter-jackson-2.9.0.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/com/fasterxml/jackson/core/jackson-databind/2.17.2/jackson-databind-2.17.2.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/com/fasterxml/jackson/core/jackson-annotations/2.17.2/jackson-annotations-2.17.2.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/com/fasterxml/jackson/core/jackson-core/2.17.2/jackson-core-2.17.2.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/com/squareup/okhttp3/okhttp/4.12.0/okhttp-4.12.0.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/com/squareup/okio/okio/3.6.0/okio-3.6.0.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/com/squareup/okio/okio-jvm/3.6.0/okio-jvm-3.6.0.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/org/jetbrains/kotlin/kotlin-stdlib-common/1.9.10/kotlin-stdlib-common-1.9.10.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/com/squareup/okhttp3/okhttp-sse/4.12.0/okhttp-sse-4.12.0.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.25/kotlin-stdlib-jdk8-1.9.25.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/org/jetbrains/kotlin/kotlin-stdlib/1.9.25/kotlin-stdlib-1.9.25.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/org/jetbrains/annotations/13.0/annotations-13.0.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.25/kotlin-stdlib-jdk7-1.9.25.jar\u001b[0m\n",
"\u001b[0mAdd to classpath: \u001b[0m\u001b[32m/Users/bsorrentino/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/com/knuddels/jtokkit/1.1.0/jtokkit-1.1.0.jar\u001b[0m\n",
"\u001b[0m"
]
}
],
"source": [
"%dependency /add org.slf4j:slf4j-jdk14:2.0.9\n",
"%dependency /add org.bsc.langgraph4j:langgraph4j-core:\\{langgraph4jVersion}\n",
Expand Down Expand Up @@ -106,9 +147,39 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 6,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"StreamingOutput{chunk=} \n",
"StreamingOutput{chunk=Why} \n",
"StreamingOutput{chunk= did} \n",
"StreamingOutput{chunk= the} \n",
"StreamingOutput{chunk= scare} \n",
"StreamingOutput{chunk=crow} \n",
"StreamingOutput{chunk= win} \n",
"StreamingOutput{chunk= an} \n",
"StreamingOutput{chunk= award} \n",
"StreamingOutput{chunk=?\n",
"\n",
"} \n",
"StreamingOutput{chunk=Because} \n",
"StreamingOutput{chunk= he} \n",
"StreamingOutput{chunk= was} \n",
"StreamingOutput{chunk= outstanding} \n",
"StreamingOutput{chunk= in} \n",
"StreamingOutput{chunk= his} \n",
"StreamingOutput{chunk= field} \n",
"StreamingOutput{chunk=!} \n",
"RESULT: {content=AiMessage { text = \"Why did the scarecrow win an award?\n",
"\n",
"Because he was outstanding in his field!\" toolExecutionRequests = null }} \n"
]
}
],
"source": [
"import dev.langchain4j.model.StreamingResponseHandler;\n",
"import dev.langchain4j.model.chat.StreamingChatLanguageModel;\n",
Expand Down Expand Up @@ -202,9 +273,24 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 8,
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"SerializerMapper: \n",
"java.util.Map\n",
"java.util.Collection\n",
"dev.langchain4j.agent.tool.ToolExecutionRequest\n",
"dev.langchain4j.data.message.ChatMessage"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import dev.langchain4j.data.message.AiMessage;\n",
"import dev.langchain4j.data.message.SystemMessage;\n",
Expand Down Expand Up @@ -367,7 +453,7 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 11,
"metadata": {},
"outputs": [
{
Expand All @@ -377,17 +463,17 @@
"START \n",
"CallModel:\n",
"[UserMessage { name = null contents = [TextContent { text = \"what is the whether today?\" }] }] \n",
"MapResult: Response { content = AiMessage { text = null toolExecutionRequests = [ToolExecutionRequest { id = \"call_ycvEnAG6NCrreo0WqSoxS5jJ\", name = \"execQuery\", arguments = \"{\"query\":\"current weather\"}\" }] }, tokenUsage = TokenUsage { inputTokenCount = 71, outputTokenCount = 15, totalTokenCount = 86 }, finishReason = TOOL_EXECUTION, metadata = {} } \n",
"MapResult: Response { content = AiMessage { text = null toolExecutionRequests = [ToolExecutionRequest { id = \"call_YszBAtYhA4nlonJG9BFogPkC\", name = \"execQuery\", arguments = \"{\"query\":\"current weather\"}\" }] }, tokenUsage = TokenUsage { inputTokenCount = 71, outputTokenCount = 15, totalTokenCount = 86 }, finishReason = TOOL_EXECUTION, metadata = {} } \n",
"routeMessage:\n",
"[AiMessage { text = null toolExecutionRequests = [ToolExecutionRequest { id = \"call_ycvEnAG6NCrreo0WqSoxS5jJ\", name = \"execQuery\", arguments = \"{\"query\":\"current weather\"}\" }] }] \n",
"[AiMessage { text = null toolExecutionRequests = [ToolExecutionRequest { id = \"call_YszBAtYhA4nlonJG9BFogPkC\", name = \"execQuery\", arguments = \"{\"query\":\"current weather\"}\" }] }] \n",
"NodeOutput{node=__START__, state={messages=[UserMessage { name = null contents = [TextContent { text = \"what is the whether today?\" }] }]}} \n",
"invokeTool:\n",
"[AiMessage { text = null toolExecutionRequests = [ToolExecutionRequest { id = \"call_ycvEnAG6NCrreo0WqSoxS5jJ\", name = \"execQuery\", arguments = \"{\"query\":\"current weather\"}\" }] }] \n",
"[AiMessage { text = null toolExecutionRequests = [ToolExecutionRequest { id = \"call_YszBAtYhA4nlonJG9BFogPkC\", name = \"execQuery\", arguments = \"{\"query\":\"current weather\"}\" }] }] \n",
"execute: execQuery \n",
"NodeOutput{node=agent, state={messages=[AiMessage { text = null toolExecutionRequests = [ToolExecutionRequest { id = \"call_ycvEnAG6NCrreo0WqSoxS5jJ\", name = \"execQuery\", arguments = \"{\"query\":\"current weather\"}\" }] }]}} \n",
"NodeOutput{node=agent, state={messages=[AiMessage { text = null toolExecutionRequests = [ToolExecutionRequest { id = \"call_YszBAtYhA4nlonJG9BFogPkC\", name = \"execQuery\", arguments = \"{\"query\":\"current weather\"}\" }] }]}} \n",
"CallModel:\n",
"[AiMessage { text = null toolExecutionRequests = [ToolExecutionRequest { id = \"call_ycvEnAG6NCrreo0WqSoxS5jJ\", name = \"execQuery\", arguments = \"{\"query\":\"current weather\"}\" }] }, ToolExecutionResultMessage { id = \"call_ycvEnAG6NCrreo0WqSoxS5jJ\" toolName = \"execQuery\" text = \"Cold, with a low of 13 degrees\" }] \n",
"NodeOutput{node=tools, state={messages=[AiMessage { text = null toolExecutionRequests = [ToolExecutionRequest { id = \"call_ycvEnAG6NCrreo0WqSoxS5jJ\", name = \"execQuery\", arguments = \"{\"query\":\"current weather\"}\" }] }, ToolExecutionResultMessage { id = \"call_ycvEnAG6NCrreo0WqSoxS5jJ\" toolName = \"execQuery\" text = \"Cold, with a low of 13 degrees\" }]}} \n",
"[AiMessage { text = null toolExecutionRequests = [ToolExecutionRequest { id = \"call_YszBAtYhA4nlonJG9BFogPkC\", name = \"execQuery\", arguments = \"{\"query\":\"current weather\"}\" }] }, ToolExecutionResultMessage { id = \"call_YszBAtYhA4nlonJG9BFogPkC\" toolName = \"execQuery\" text = \"Cold, with a low of 13 degrees\" }] \n",
"NodeOutput{node=tools, state={messages=[AiMessage { text = null toolExecutionRequests = [ToolExecutionRequest { id = \"call_YszBAtYhA4nlonJG9BFogPkC\", name = \"execQuery\", arguments = \"{\"query\":\"current weather\"}\" }] }, ToolExecutionResultMessage { id = \"call_YszBAtYhA4nlonJG9BFogPkC\" toolName = \"execQuery\" text = \"Cold, with a low of 13 degrees\" }]}} \n",
"StreamingOutput{node=agent, chunk= } \n",
"StreamingOutput{node=agent, chunk=The } \n",
"StreamingOutput{node=agent, chunk= current } \n",
Expand Down Expand Up @@ -419,8 +505,8 @@
"StreamingOutput{node=agent, chunk= feel } \n",
"StreamingOutput{node=agent, chunk= free } \n",
"StreamingOutput{node=agent, chunk= to } \n",
"StreamingOutput{node=agent, chunk= ask } \n",
"MapResult: Response { content = AiMessage { text = \"The current weather is cold, with a low of 13 degrees. If you need more specific information or details about a particular location, feel free to ask!\" toolExecutionRequests = null }, tokenUsage = TokenUsage { inputTokenCount = 93, outputTokenCount = 33, totalTokenCount = 126 }, finishReason = STOP, metadata = {} } \n",
"StreamingOutput{node=agent, chunk= ask } \n",
"routeMessage:\n",
"[AiMessage { text = \"The current weather is cold, with a low of 13 degrees. If you need more specific information or details about a particular location, feel free to ask!\" toolExecutionRequests = null }] \n",
"StreamingOutput{node=agent, chunk=! } \n",
Expand Down
2 changes: 1 addition & 1 deletion how-tos/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>org.bsc.langgraph4j</groupId>
<artifactId>langgraph4j-parent</artifactId>
<version>1.2.3</version>
<version>1.2.4</version>
</parent>

<artifactId>langgraph4j-howtos</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion langchain4j/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>org.bsc.langgraph4j</groupId>
<artifactId>langgraph4j-parent</artifactId>
<version>1.2.3</version>
<version>1.2.4</version>
</parent>

<artifactId>langgraph4j-langchain4j</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<groupId>org.bsc.langgraph4j</groupId>
<artifactId>langgraph4j-parent</artifactId>
<version>1.2.3</version>
<version>1.2.4</version>
<packaging>pom</packaging>

<name>langgraph4j::parent</name>
Expand Down
2 changes: 1 addition & 1 deletion samples/adaptive-rag/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>org.bsc.langgraph4j</groupId>
<artifactId>langgraph4j-parent</artifactId>
<version>1.2.3</version>
<version>1.2.4</version>
<relativePath>../..</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion samples/image-to-diagram/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>org.bsc.langgraph4j</groupId>
<artifactId>langgraph4j-parent</artifactId>
<version>1.2.3</version>
<version>1.2.4</version>
<relativePath>../..</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion samples/springai-agentexecutor/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

<groupId>org.bsc.langgraph4j</groupId>
<artifactId>langgraph4j-springai-agentexecutor</artifactId>
<version>1.2.3</version>
<version>1.2.4</version>
<packaging>jar</packaging>

<name>langgraph4j::sample::springai::agentexecutor</name>
Expand Down
2 changes: 1 addition & 1 deletion src/site/markdown/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ LangGraph for Java. A library for building stateful, multi-agents applications w
| Date | Release | info
|--------------|----------------| ---
| Jan 13, 2025 | `1.2.3` | official release
| Jan 22, 2025 | `1.2.4` | official release


## Quick Start
Expand Down
2 changes: 1 addition & 1 deletion studio/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.bsc.langgraph4j</groupId>
<artifactId>langgraph4j-parent</artifactId>
<version>1.2.3</version>
<version>1.2.4</version>
</parent>

<artifactId>langgraph4j-studio</artifactId>
Expand Down
Loading

0 comments on commit bdbc696

Please sign in to comment.