Skip to content

Commit 422db06

Browse files
committed
feat: support reasoning
1 parent 1578923 commit 422db06

File tree

11 files changed

+67
-29
lines changed

11 files changed

+67
-29
lines changed

chat-agent-model/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.javaaidev.llmagentspec</groupId>
88
<artifactId>llm-agent-spec</artifactId>
9-
<version>0.2.3</version>
9+
<version>0.3.0</version>
1010
</parent>
1111

1212
<artifactId>chat-agent-model</artifactId>

chat-agent-model/src/main/java/com/javaaidev/chatagent/model/ChatAgentResponse.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,13 @@
44

55
/**
66
* Response of a chat agent
7+
*
78
* @param content content in the response
8-
* @see ThreadAssistantContentPart
9+
* @see ThreadAssistantMessagePart
910
*/
10-
public record ChatAgentResponse(List<ThreadAssistantContentPart> content) {
11+
public record ChatAgentResponse(List<ThreadAssistantMessagePart> content) {
1112

13+
public boolean hasContent() {
14+
return content != null && !content.isEmpty();
15+
}
1216
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.javaaidev.chatagent.model;
2+
3+
public record ReasoningMessagePart(String text) implements ThreadAssistantMessagePart {
4+
5+
@Override
6+
public String getType() {
7+
return "reasoning";
8+
}
9+
}

chat-agent-model/src/main/java/com/javaaidev/chatagent/model/TextContentPart.java renamed to chat-agent-model/src/main/java/com/javaaidev/chatagent/model/TextMessagePart.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
/**
44
* Text content
5+
*
56
* @param text text
67
*/
7-
public record TextContentPart(String text) implements ThreadUserContentPart, ThreadAssistantContentPart {
8+
public record TextMessagePart(String text) implements ThreadUserMessagePart,
9+
ThreadAssistantMessagePart {
810

911
@Override
1012
public String getType() {

chat-agent-model/src/main/java/com/javaaidev/chatagent/model/ThreadAssistantMessage.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
* Assistant message in a thread
77
* @param id Message id
88
* @param content Message content
9-
* @see ThreadAssistantContentPart
9+
* @see ThreadAssistantMessagePart
1010
*/
11-
public record ThreadAssistantMessage(String id, List<ThreadAssistantContentPart> content) implements ThreadMessage {
11+
public record ThreadAssistantMessage(String id, List<ThreadAssistantMessagePart> content) implements ThreadMessage {
1212

1313
@Override
1414
public MessageRole getRole() {

chat-agent-model/src/main/java/com/javaaidev/chatagent/model/ThreadAssistantContentPart.java renamed to chat-agent-model/src/main/java/com/javaaidev/chatagent/model/ThreadAssistantMessagePart.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.javaaidev.chatagent.model;
22

3+
import com.fasterxml.jackson.annotation.JsonIgnore;
34
import com.fasterxml.jackson.annotation.JsonSubTypes;
45
import com.fasterxml.jackson.annotation.JsonTypeInfo;
56

@@ -8,8 +9,11 @@
89
*/
910
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
1011
@JsonSubTypes({
11-
@JsonSubTypes.Type(value = TextContentPart.class, name = "text")
12+
@JsonSubTypes.Type(value = TextMessagePart.class, name = "text"),
13+
@JsonSubTypes.Type(value = ReasoningMessagePart.class, name = "reasoning")
1214
})
13-
public interface ThreadAssistantContentPart {
15+
public interface ThreadAssistantMessagePart {
16+
17+
@JsonIgnore
1418
String getType();
1519
}

chat-agent-model/src/main/java/com/javaaidev/chatagent/model/ThreadUserMessage.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
* User message in a thread
77
* @param id Message id
88
* @param content Message content
9-
* @see ThreadUserContentPart
9+
* @see ThreadUserMessagePart
1010
*/
11-
public record ThreadUserMessage(String id, List<ThreadUserContentPart> content) implements ThreadMessage {
11+
public record ThreadUserMessage(String id, List<ThreadUserMessagePart> content) implements ThreadMessage {
1212

1313
@Override
1414
public MessageRole getRole() {

chat-agent-model/src/main/java/com/javaaidev/chatagent/model/ThreadUserContentPart.java renamed to chat-agent-model/src/main/java/com/javaaidev/chatagent/model/ThreadUserMessagePart.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.javaaidev.chatagent.model;
22

3+
import com.fasterxml.jackson.annotation.JsonIgnore;
34
import com.fasterxml.jackson.annotation.JsonSubTypes;
45
import com.fasterxml.jackson.annotation.JsonTypeInfo;
56

@@ -8,8 +9,10 @@
89
*/
910
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
1011
@JsonSubTypes({
11-
@JsonSubTypes.Type(value = TextContentPart.class, name = "text")
12+
@JsonSubTypes.Type(value = TextMessagePart.class, name = "text")
1213
})
13-
public interface ThreadUserContentPart {
14+
public interface ThreadUserMessagePart {
15+
16+
@JsonIgnore
1417
String getType();
1518
}

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<modelVersion>4.0.0</modelVersion>
66
<groupId>com.javaaidev.llmagentspec</groupId>
77
<artifactId>llm-agent-spec</artifactId>
8-
<version>0.2.3</version>
8+
<version>0.3.0</version>
99
<packaging>pom</packaging>
1010
<name>LLM Agent Spec</name>
1111
<description>Spec of LLM Agents</description>

spring-ai-adapter/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.javaaidev.llmagentspec</groupId>
88
<artifactId>llm-agent-spec</artifactId>
9-
<version>0.2.3</version>
9+
<version>0.3.0</version>
1010
</parent>
1111

1212
<artifactId>spring-ai-adapter</artifactId>
@@ -18,8 +18,8 @@
1818
<maven.compiler.source>${java.version}</maven.compiler.source>
1919
<maven.compiler.target>${java.version}</maven.compiler.target>
2020
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
21-
<spring-ai.version>1.0.3</spring-ai.version>
22-
<spring.version>6.2.12</spring.version>
21+
<spring-ai.version>1.1.0</spring-ai.version>
22+
<spring.version>6.2.14</spring.version>
2323
</properties>
2424

2525
<dependencyManagement>

0 commit comments

Comments
 (0)