Threads, Assistants
Get a run step
Retrieves a run step by its identifier.
Parameter jalur
thread_id
string
diperlukan
The ID of the thread to which the run and run step belongs.
run_id
string
diperlukan
The ID of the run to which the run step belongs.
step_id
string
diperlukan
The ID of the run step to retrieve.
Parameter kueri
include[]
enum[]
A list of additional fields to include in the response. Currently the only supported value is step_details.tool_calls[*].file_search.results[*].content to fetch the file search result content.
See the file search tool documentation for more information.
Respons
The request has succeeded.
Isi
id
string
diperlukan
The identifier of the run step, which can be referenced in API endpoints.
object
enum
diperlukan
The object type, which is always thread.run.step.
created_at
integer
diperlukan
The Unix timestamp (in seconds) for when the run step was created.
assistant_id
string
diperlukan
The ID of the assistant associated with the run step.
thread_id
string
diperlukan
The ID of the thread that was run.
run_id
string
diperlukan
The ID of the run that this run step is a part of.
type
enum
diperlukan
The type of run step, which can be either message_creation or tool_calls.
status
enum
diperlukan
The status of the run step, which can be either in_progress, cancelled, failed, completed, or expired.
step_details
OpenAI.RunStepDetailsMessageCreationObject | OpenAI.RunStepDetailsToolCallsObject
diperlukan
The details of the run step.
type
enum
diperlukan
Always message_creation.
message_creation
OpenAI.RunStepDetailsMessageCreationObjectMessageCreation
diperlukan
type
enum
diperlukan
Always tool_calls.
tool_calls
OpenAI.RunStepDetailsToolCall[]
diperlukan
An array of tool calls the run step was involved in. These can be associated with one of three types of tools: code_interpreter, file_search, or function.
last_error
OpenAI.RunStepObjectLastError | null
diperlukan
code
enum
diperlukan
metadata
OpenAI.Metadata | null
diperlukan
Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard. Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.
usage
OpenAI.RunStepCompletionUsage
diperlukan
Usage statistics related to the run step. This value will be null while the run step's status is in_progress.
Minta
curl https://api.openai.com/v1/threads/thread_abc123/runs/run_abc123/steps/step_abc123 \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-H "OpenAI-Beta: assistants=v2"
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"), # This is the default and can be omitted
)
run_step = client.beta.threads.runs.steps.retrieve(
step_id="step_id",
thread_id="thread_id",
run_id="run_id",
)
print(run_step.id)
import OpenAI from "openai";
const openai = new OpenAI();
async function main() {
const runStep = await openai.beta.threads.runs.steps.retrieve(
"step_abc123",
{ thread_id: "thread_abc123", run_id: "run_abc123" }
);
console.log(runStep);
}
main();
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env['OPENAI_API_KEY'], // This is the default and can be omitted
});
const runStep = await client.beta.threads.runs.steps.retrieve('step_id', {
thread_id: 'thread_id',
run_id: 'run_id',
});
console.log(runStep.id);
package main
import (
"context"
"fmt"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
option.WithAPIKey("My API Key"),
)
runStep, err := client.Beta.Threads.Runs.Steps.Get(
context.TODO(),
"thread_id",
"run_id",
"step_id",
openai.BetaThreadRunStepGetParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v
", runStep.ID)
}
package com.openai.example;
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.beta.threads.runs.steps.RunStep;
import com.openai.models.beta.threads.runs.steps.StepRetrieveParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.fromEnv();
StepRetrieveParams params = StepRetrieveParams.builder()
.threadId("thread_id")
.runId("run_id")
.stepId("step_id")
.build();
RunStep runStep = client.beta().threads().runs().steps().retrieve(params);
}
}
require "openai"
openai = OpenAI::Client.new(api_key: "My API Key")
run_step = openai.beta.threads.runs.steps.retrieve("step_id", thread_id: "thread_id", run_id: "run_id")
puts(run_step)
Tanggapan
{
"id": "step_abc123",
"object": "thread.run.step",
"created_at": 1699063291,
"run_id": "run_abc123",
"assistant_id": "asst_abc123",
"thread_id": "thread_abc123",
"type": "message_creation",
"status": "completed",
"cancelled_at": null,
"completed_at": 1699063291,
"expired_at": null,
"failed_at": null,
"last_error": null,
"step_details": {
"type": "message_creation",
"message_creation": {
"message_id": "msg_abc123"
}
},
"usage": {
"prompt_tokens": 123,
"completion_tokens": 456,
"total_tokens": 579
}
}