AI rule node: if specified, use request timeout from model config

This commit is contained in:
Dmytro Skarzhynets 2025-07-02 19:55:30 +03:00
parent a2e7ff293b
commit 55c992d57b
No known key found for this signature in database
GPG Key ID: 2B51652F224037DF

View File

@ -31,6 +31,8 @@ import org.thingsboard.server.common.data.ai.model.chat.AiChatModel;
import org.thingsboard.server.config.annotations.ApiOperation;
import org.thingsboard.server.service.ai.AiModelService;
import java.time.Duration;
import static com.google.common.util.concurrent.MoreExecutors.directExecutor;
import static org.thingsboard.server.controller.ControllerConstants.TENANT_AUTHORITY_PARAGRAPH;
@ -57,7 +59,8 @@ class AiModelController extends BaseController {
.transform(chatResponse -> (TbChatResponse) new TbChatResponse.Success(chatResponse.aiMessage().text()), directExecutor())
.catching(Throwable.class, ex -> new TbChatResponse.Failure(ex.getMessage()), directExecutor());
return wrapFuture(future);
Integer requestTimeoutSeconds = chatModel.modelConfig().timeoutSeconds();
return requestTimeoutSeconds != null ? wrapFuture(future, Duration.ofSeconds(requestTimeoutSeconds).toMillis()) : wrapFuture(future);
}
}