INNER CODE UNIT · Java
createThreadAndRun
sashirestela/simple-openai · src/main/java/io/github/sashirestela/openai/OpenAIBeta2.java:354
default CompletableFuture<ThreadRun> createThreadAndRun(ThreadCreateAndRunRequest request) {
var newRequest = request.withStream(Boolean.FALSE);
return createThreadAndRunPrimitive(newRequest);
}
/**
* Create a thread and run it in one request without streaming and poll until a terminal status is
* reached.
*
* @param request The creation request.
* @return A run object (no CompletableFuture).
*/
default ThreadRun createThreadAndRunAndPoll(ThreadCreateAndRunRequest request) {
var threadRun = createThreadAndRun(request).join();
return Poller.<ThreadRun>builder()
.interval(Duration.ofSeconds(1))
.pollFunction(tr -> getOne(tr.getThreadId(), tr.getId()).join())
.continueIf(tr -> tr.getStatus().equals(RunStatus.IN_PROGRESS))