Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit c0b356f

Browse files
RunStatus documentation
1 parent 8ecab31 commit c0b356f

File tree

2 files changed

+55
-4
lines changed
  • examples/src/main/kotlin/assistant
  • src/main/kotlin/com/cjcrafter/openai/threads/runs

2 files changed

+55
-4
lines changed

‎examples/src/main/kotlin/assistant/Thread.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ fun main() {
2929

3030
// This is a known limitation in OpenAI, and they are working to address
3131
// this so that we can easily stream a response without nonsense like this.
32-
while (!run.status.isDone) {
32+
while (!run.status.isTerminal) {
3333
Thread.sleep(2500)
3434
run = openai.threads.runs(thread).retrieve(run)
3535
}
Lines changed: 54 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,83 @@
11
package com.cjcrafter.openai.threads.runs
22

3+
import com.cjcrafter.openai.assistants.Assistant
4+
import com.cjcrafter.openai.chat.tool.Tool
5+
import com.cjcrafter.openai.threads.Thread
6+
import com.cjcrafter.openai.threads.message.ThreadMessage
37
import com.fasterxml.jackson.annotation.JsonProperty
48

9+
/**
10+
*
11+
*/
512
enum class RunStatus(
6-
val isDone: Boolean,
13+
val isTerminal: Boolean,
714
) {
815

16+
/**
17+
* When [Run]s are first created or when you complete the [RequiredAction],
18+
* they are moved to this 'queued' status. They should _almost immediately_
19+
* move to [IN_PROGRESS].
20+
*/
921
@JsonProperty("queued")
1022
QUEUED(false),
1123

24+
/**
25+
* While [IN_PROGRESS], the [Assistant] uses the mode and tools to perform
26+
* steps. You can view progress being made by the [Run] by examining the
27+
* [RunStep]s.
28+
*/
1229
@JsonProperty("in_progress")
1330
IN_PROGRESS(false),
1431

15-
@JsonProperty("requires_action")
16-
REQUIRES_ACTION(true),
32+
/**
33+
* When using the [Tool.FunctionTool], the [Run] will move to a [REQUIRED_ACTION]
34+
* state once the model determines the names and arguments of the functions
35+
* to be called. You must then run those functions and submit the outputs
36+
* using [RunHandler.submitToolOutputs] before the run proceeds. If the
37+
* outputs are not provided before the [Run.expiresAt] timestamp passes
38+
* (roughly 10 minutes past creation), the run will move to an [EXPIRED]
39+
* status.
40+
*/
41+
@JsonProperty("required_action")
42+
REQUIRED_ACTION(true),
1743

44+
/**
45+
* You can attempt to cancel an [IN_PROGRESS] [Run] using [RunHandler.cancel].
46+
* Once the attempt to cancel succeeds, status of the [Run] moves to
47+
* [CANCELLED]. Cancellation is attempted but not guarenteed.
48+
*/
1849
@JsonProperty("cancelling")
1950
CANCELLING(false),
2051

52+
/**
53+
* The [Run] was successfully cancelled.
54+
*/
2155
@JsonProperty("cancelled")
2256
CANCELLED(true),
2357

58+
/**
59+
* You can view the reason for the failure by looking at the [Run.lastError]
60+
* object in the run (see [RunError]). The timestamp for the failure is
61+
* recorded under the [Run.failedAt].
62+
*/
2463
@JsonProperty("failed")
2564
FAILED(true),
2665

66+
/**
67+
* The [Run] successfully completed! You can now view all [ThreadMessage]s
68+
* the [Assistant] added to the [Thread], and all the steps the [Run] took.
69+
* You can also continue the conversation by adding more [ThreadMessage]s
70+
* to the [Thread] and creating another [Run].
71+
*/
2772
@JsonProperty("completed")
2873
COMPLETED(true),
2974

75+
/**
76+
* This happens when the function calling outputs were not submitted before
77+
* [Run.expiresAt] and the [Run] expires. Additionally, if the runs take
78+
* too long to execute and go beyond the time stated in [Run.expiresAt],
79+
* OpenAI's systems will expire the [Run].
80+
*/
3081
@JsonProperty("expired")
3182
EXPIRED(true),
3283
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /