INNER CODE UNIT · Java
create
sashirestela/simple-openai · src/main/java/io/github/sashirestela/openai/OpenAIBeta2.java:293
default CompletableFuture<ThreadRun> create(String threadId, ThreadRunRequest request) {
var newRequest = request.withStream(Boolean.FALSE);
return createPrimitive(threadId, newRequest);
}
/**
* Create a run without streaming and poll until a terminal status is reached.
*
* @param threadId The ID of the thread to run.
* @param request The creation request.
* @return A run object (no CompletableFuture).
*/
default ThreadRun createAndPoll(String threadId, ThreadRunRequest request) {
var threadRun = create(threadId, 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))