diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InteractionEvent.kt b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InteractionEvent.kt index f98436d6..9b69a34d 100644 --- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InteractionEvent.kt +++ b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InteractionEvent.kt @@ -49,8 +49,7 @@ data class ReplyEvent @JvmOverloads constructor( override val target: String, val content: String, val mode: ContentMode = ContentMode.REPLACE, - val seq: Long? = null, - val done: Boolean = false + val seq: Long? = null ) : InteractionEvent() { override val event = Event.REPLY diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/model/ActivateModel.kt b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/model/ActivateModel.kt index 2e45eb9d..24543943 100644 --- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/model/ActivateModel.kt +++ b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/model/ActivateModel.kt @@ -15,11 +15,12 @@ interface ActivateModel { fun streamChat( messages: List, - handler: StreamChatMessageConsumer + consumer: StreamChatMessageConsumer ): Result { return ModelRuntimeRegistry.resolveProvider(modelKey()) - .streamChat(mergeMessages(messages), handler) - .onFailure { ExceptionReporterHandler.report(it) } + .streamChat(mergeMessages(messages), consumer) + .onSuccess { consumer.onComplete() } + .onFailure { consumer.onError(it) } } fun formattedChat(messages: List, responseType: Class): Result { diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/model/StreamChatMessageConsumer.java b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/model/StreamChatMessageConsumer.java index ddbec356..12848264 100644 --- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/model/StreamChatMessageConsumer.java +++ b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/model/StreamChatMessageConsumer.java @@ -1,16 +1,16 @@ package work.slhaf.partner.framework.agent.model; -public abstract class StreamChatMessageConsumer { - private final StringBuilder responseText = new StringBuilder(); +import work.slhaf.partner.framework.agent.exception.AgentRuntimeException; - public void onDelta(String delta) { - consumeDelta(delta); - responseText.append(delta); +public interface StreamChatMessageConsumer { + + void onDelta(String delta); + + default void onComplete() { } - public String collectResponse() { - return responseText.toString(); + default void onError(AgentRuntimeException exception) { } - protected abstract void consumeDelta(String delta); + String collectResponse(); }