mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-01-15 13:29:20 +00:00
Compare commits
2 Commits
v0.7.1
...
feat/javas
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d7855527f4 | ||
|
|
37f5eb4f30 |
@@ -204,7 +204,7 @@ The `SessionEventConsumers` interface provides callbacks for different types of
|
||||
The `AssistantContentConsumers` interface handles different types of content within assistant messages:
|
||||
|
||||
- `onText`: Handles text content (receives Session and TextAssistantContent)
|
||||
- `onThinking`: Handles thinking content (receives Session and ThingkingAssistantContent)
|
||||
- `onThinking`: Handles thinking content (receives Session and ThinkingAssistantContent)
|
||||
- `onToolUse`: Handles tool use content (receives Session and ToolUseAssistantContent)
|
||||
- `onToolResult`: Handles tool result content (receives Session and ToolResultAssistantContent)
|
||||
- `onOtherContent`: Handles other content types (receives Session and AssistantContent)
|
||||
|
||||
@@ -94,7 +94,7 @@ public static void runStreamingExample() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onThinking(Session session, ThingkingAssistantContent thingkingAssistantContent) {
|
||||
public void onThinking(Session session, ThinkingAssistantContent thingkingAssistantContent) {
|
||||
logger.info("Thinking content received: {}", thingkingAssistantContent.getThinking());
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@ The `SessionEventConsumers` interface provides callbacks for different types of
|
||||
The `AssistantContentConsumers` interface handles different types of content within assistant messages:
|
||||
|
||||
- `onText`: Handles text content (receives Session and TextAssistantContent)
|
||||
- `onThinking`: Handles thinking content (receives Session and ThingkingAssistantContent)
|
||||
- `onThinking`: Handles thinking content (receives Session and ThinkingAssistantContent)
|
||||
- `onToolUse`: Handles tool use content (receives Session and ToolUseAssistantContent)
|
||||
- `onToolResult`: Handles tool result content (receives Session and ToolResultAssistantContent)
|
||||
- `onOtherContent`: Handles other content types (receives Session and AssistantContent)
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantUsage;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.TextAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThingkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThinkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ToolResultAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ToolUseAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.behavior.Behavior.Operation;
|
||||
@@ -59,7 +59,7 @@ public class QwenCodeCli {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onThinking(Session session, ThingkingAssistantContent thingkingAssistantContent) {
|
||||
public void onThinking(Session session, ThinkingAssistantContent thingkingAssistantContent) {
|
||||
response.add(thingkingAssistantContent.getThinking());
|
||||
}
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ public interface AssistantContent<C> {
|
||||
/**
|
||||
* Represents thinking content from the assistant.
|
||||
*/
|
||||
interface ThingkingAssistantContent extends AssistantContent<String> {
|
||||
interface ThinkingAssistantContent extends AssistantContent<String> {
|
||||
/**
|
||||
* Gets the thinking content.
|
||||
*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.alibaba.qwen.code.cli.protocol.message.assistant.block;
|
||||
|
||||
import com.alibaba.fastjson2.annotation.JSONType;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThingkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThinkingAssistantContent;
|
||||
|
||||
/**
|
||||
* Represents a thinking content block.
|
||||
@@ -10,7 +10,7 @@ import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThingkingAssista
|
||||
* @version $Id: 0.0.1
|
||||
*/
|
||||
@JSONType(typeKey = "type", typeName = "thinking")
|
||||
public class ThinkingBlock extends ContentBlock<String> implements ThingkingAssistantContent {
|
||||
public class ThinkingBlock extends ContentBlock<String> implements ThinkingAssistantContent {
|
||||
/**
|
||||
* The thinking content.
|
||||
*/
|
||||
|
||||
@@ -8,7 +8,7 @@ import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import com.alibaba.fastjson2.annotation.JSONType;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.TextAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThingkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThinkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ToolUseAssistantContent;
|
||||
|
||||
/**
|
||||
@@ -152,7 +152,7 @@ public class ContentBlockDeltaEvent extends StreamEvent {
|
||||
* Represents a thinking delta.
|
||||
*/
|
||||
@JSONType(typeKey = "type", typeName = "thinking_delta")
|
||||
public static class ContentBlockDeltaThinking extends ContentBlockDelta<String> implements ThingkingAssistantContent {
|
||||
public static class ContentBlockDeltaThinking extends ContentBlockDelta<String> implements ThinkingAssistantContent {
|
||||
/**
|
||||
* The thinking content.
|
||||
*/
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.alibaba.qwen.code.cli.session.event.consumers;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantUsage;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.TextAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThingkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThinkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ToolResultAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ToolUseAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.behavior.Behavior;
|
||||
@@ -35,7 +35,7 @@ public interface AssistantContentConsumers {
|
||||
* @param session The session
|
||||
* @param thingkingAssistantContent The thinking content from the assistant
|
||||
*/
|
||||
void onThinking(Session session, ThingkingAssistantContent thingkingAssistantContent);
|
||||
void onThinking(Session session, ThinkingAssistantContent thingkingAssistantContent);
|
||||
|
||||
/**
|
||||
* Handles tool use content from the assistant.
|
||||
@@ -128,7 +128,7 @@ public interface AssistantContentConsumers {
|
||||
* @param thingkingAssistantContent The thinking content from the assistant
|
||||
* @return The timeout for thinking handling
|
||||
*/
|
||||
Timeout onThinkingTimeout(Session session, ThingkingAssistantContent thingkingAssistantContent);
|
||||
Timeout onThinkingTimeout(Session session, ThinkingAssistantContent thingkingAssistantContent);
|
||||
|
||||
/**
|
||||
* Gets timeout for tool use handling.
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.alibaba.qwen.code.cli.session.event.consumers;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantUsage;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.TextAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThingkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThinkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ToolResultAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ToolUseAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.behavior.Allow;
|
||||
@@ -38,7 +38,7 @@ public class AssistantContentSimpleConsumers implements AssistantContentConsumer
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public void onThinking(Session session, ThingkingAssistantContent thingkingAssistantContent) {
|
||||
public void onThinking(Session session, ThinkingAssistantContent thingkingAssistantContent) {
|
||||
log.debug("Received thingkingAssistantContent {}", thingkingAssistantContent.getThinking());
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@ public class AssistantContentSimpleConsumers implements AssistantContentConsumer
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Timeout onThinkingTimeout(Session session, ThingkingAssistantContent thingkingAssistantContent) {
|
||||
public Timeout onThinkingTimeout(Session session, ThinkingAssistantContent thingkingAssistantContent) {
|
||||
return defaultEventTimeout;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import java.util.Optional;
|
||||
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.TextAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThingkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThinkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ToolResultAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ToolUseAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantUsage;
|
||||
@@ -99,9 +99,9 @@ public class SessionEventSimpleConsumers implements SessionEventConsumers {
|
||||
MyConcurrentUtils.runAndWait(() -> assistantContentConsumers.onText(session, (TextAssistantContent) assistantContent),
|
||||
Optional.ofNullable(assistantContentConsumers.onTextTimeout(session, (TextAssistantContent) assistantContent))
|
||||
.orElse(defaultEventTimeout));
|
||||
} else if (assistantContent instanceof ThingkingAssistantContent) {
|
||||
MyConcurrentUtils.runAndWait(() -> assistantContentConsumers.onThinking(session, (ThingkingAssistantContent) assistantContent),
|
||||
Optional.ofNullable(assistantContentConsumers.onThinkingTimeout(session, (ThingkingAssistantContent) assistantContent))
|
||||
} else if (assistantContent instanceof ThinkingAssistantContent) {
|
||||
MyConcurrentUtils.runAndWait(() -> assistantContentConsumers.onThinking(session, (ThinkingAssistantContent) assistantContent),
|
||||
Optional.ofNullable(assistantContentConsumers.onThinkingTimeout(session, (ThinkingAssistantContent) assistantContent))
|
||||
.orElse(defaultEventTimeout));
|
||||
} else if (assistantContent instanceof ToolUseAssistantContent) {
|
||||
MyConcurrentUtils.runAndWait(() -> assistantContentConsumers.onToolUse(session, (ToolUseAssistantContent) assistantContent),
|
||||
|
||||
@@ -64,5 +64,5 @@ public class Timeout {
|
||||
/**
|
||||
* A timeout of 30 minutes.
|
||||
*/
|
||||
public static final Timeout TIMEOUT_30_MINUTES = new Timeout(60L, TimeUnit.MINUTES);
|
||||
public static final Timeout TIMEOUT_30_MINUTES = new Timeout(30L, TimeUnit.MINUTES);
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.alibaba.qwen.code.cli.example;
|
||||
import com.alibaba.qwen.code.cli.QwenCodeCli;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.TextAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThingkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThinkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ToolResultAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ToolUseAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantUsage;
|
||||
@@ -78,7 +78,7 @@ public class QuickStartExample {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onThinking(Session session, ThingkingAssistantContent thingkingAssistantContent) {
|
||||
public void onThinking(Session session, ThinkingAssistantContent thingkingAssistantContent) {
|
||||
logger.info("Thinking content received: {}", thingkingAssistantContent.getThinking());
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.qwen.code.cli.QwenCodeCli;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.TextAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThingkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThinkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ToolResultAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ToolUseAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantUsage;
|
||||
@@ -219,7 +219,7 @@ public class SessionExample {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onThinking(Session session, ThingkingAssistantContent thingkingAssistantContent) {
|
||||
public void onThinking(Session session, ThinkingAssistantContent thingkingAssistantContent) {
|
||||
logger.info("Received thingkingAssistantContent {}", thingkingAssistantContent.getThinking());
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import com.alibaba.qwen.code.cli.protocol.data.AssistantUsage;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.PermissionMode;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.TextAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThingkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ThinkingAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ToolResultAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.AssistantContent.ToolUseAssistantContent;
|
||||
import com.alibaba.qwen.code.cli.protocol.data.behavior.Behavior.Operation;
|
||||
@@ -44,7 +44,7 @@ class SessionTest {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onThinking(Session session, ThingkingAssistantContent thingkingAssistantContent) {
|
||||
public void onThinking(Session session, ThinkingAssistantContent thingkingAssistantContent) {
|
||||
log.info("receive thingkingAssistantContent {}", thingkingAssistantContent);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user