Ugrás a fő tartalomhoz

Ezt a böngészőt már nem támogatjuk.

Frissítsen a Microsoft Edge-re, hogy kihasználhassa a legújabb funkciókat, a biztonsági frissítéseket és a technikai támogatást.

A Microsoft Edge letöltése További információk az Internet Explorerről és a Microsoft Edge-ről
microsoft-foundry.rest.security.o-auth2-auth

Threads, Assistants

Create a run

POST /openai/v1/threads/{thread_id}/runs

Creates a run from the supplied request.

Elérési útvonal paraméterei

thread_id string kötelező

The ID of the thread to run.

Paraméterek lekérdezése

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.

Kérelem törzse

The request body.

Content-Type: application/json
assistant_id string kötelező

The ID of the assistant to use to execute this run.

model string | enum | null

The ID of the Model to be used to execute this run. If a value is provided here, it will override the model associated with the assistant. If not, the model associated with the assistant will be used.

A következők bármelyike:
string
enum
gpt-5gpt-5-minigpt-5-nanogpt-5-2025-08-07gpt-5-mini-2025-08-07gpt-5-nano-2025-08-07gpt-4.1gpt-4.1-minigpt-4.1-nanogpt-4.1-2025-04-14gpt-4.1-mini-2025-04-14gpt-4.1-nano-2025-04-14o3-minio3-mini-2025-01-31o1o1-2024-12-17gpt-4ogpt-4o-2024-11-20gpt-4o-2024-08-06gpt-4o-2024-05-13gpt-4o-minigpt-4o-mini-2024-07-18gpt-4.5-previewgpt-4.5-preview-2025-02-27gpt-4-turbogpt-4-turbo-2024-04-09gpt-4-0125-previewgpt-4-turbo-previewgpt-4-1106-previewgpt-4-vision-previewgpt-4gpt-4-0314gpt-4-0613gpt-4-32kgpt-4-32k-0314gpt-4-32k-0613gpt-3.5-turbogpt-3.5-turbo-16kgpt-3.5-turbo-0613gpt-3.5-turbo-1106gpt-3.5-turbo-0125gpt-3.5-turbo-16k-0613
reasoning_effort string | enum | null

Constrains effort on reasoning for reasoning models. Currently supported values are none, minimal, low, medium, high, xhigh, and max. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. Not all reasoning models support every value. See the reasoning guide for model-specific support.

A következők bármelyike:
string
enum
noneminimallowmediumhighxhighmax
instructions string | null

Overrides the instructions of the assistant. This is useful for modifying the behavior on a per-run basis.

additional_instructions string | null

Appends additional instructions at the end of the instructions for the run. This is useful for modifying the behavior on a per-run basis without overriding other instructions.

additional_messages OpenAI.CreateMessageRequest[] | null

Adds additional messages to the thread before creating the run.

tools OpenAI.AssistantTool[] | null

Override the tools the assistant can use for this run. This is useful for modifying the behavior on a per-run basis.

metadata OpenAI.Metadata | null

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.

[key: string] string
temperature number | null

What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.

top_p number | null

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We generally recommend altering this or temperature but not both.

stream boolean | null

If true, returns a stream of events that happen during the Run as server-sent events, terminating when the Run enters a terminal state with a data: [DONE] message.

max_prompt_tokens integer | null

The maximum number of prompt tokens that may be used over the course of the run. The run will make a best effort to use only the number of prompt tokens specified, across multiple turns of the run. If the run exceeds the number of prompt tokens specified, the run will end with status incomplete. See incomplete_details for more info.

max_completion_tokens integer | null

The maximum number of completion tokens that may be used over the course of the run. The run will make a best effort to use only the number of completion tokens specified, across multiple turns of the run. If the run exceeds the number of completion tokens specified, the run will end with status incomplete. See incomplete_details for more info.

truncation_strategy OpenAI.TruncationObject

Controls for how a thread will be truncated prior to the run. Use this to control the initial context window of the run.

type enum kötelező

The truncation strategy to use for the thread. The default is auto. If set to last_messages, the thread will be truncated to the n most recent messages in the thread. When set to auto, messages in the middle of the thread will be dropped to fit the context length of the model, max_prompt_tokens.

autolast_messages
last_messages integer | null
tool_choice enum | OpenAI.AssistantsNamedToolChoice

Controls which (if any) tool is called by the model. none means the model will not call any tools and instead generates a message. auto is the default value and means the model can pick between generating a message or calling one or more tools. required means the model must call one or more tools before responding to the user. Specifying a particular tool like {"type": "file_search"} or {"type": "function", "function": {"name": "my_function"}} forces the model to call that tool.

Az alábbiak valamelyikének telepítve kell lennie:
enum
noneautorequired
type enum kötelező

The type of the tool. If type is function, the function name must be set

functioncode_interpreterfile_search
function OpenAI.AssistantsNamedToolChoiceFunction
name string kötelező
parallel_tool_calls boolean

Whether to enable parallel function calling during tool use.

response_format enum | OpenAI.ResponseFormatText | OpenAI.ResponseFormatJsonObject | OpenAI.ResponseFormatJsonSchema

Specifies the format that the model must output. Compatible with GPT-4o, GPT-4 Turbo, and all GPT-3.5 Turbo models since gpt-3.5-turbo-1106. Setting to { "type": "json_schema", "json_schema": {...} } enables Structured Outputs which ensures the model will match your supplied JSON schema. Learn more in the Structured Outputs guide. Setting to { "type": "json_object" } enables JSON mode, which ensures the message the model generates is valid JSON. Important:* when using JSON mode, you must also instruct the model to produce JSON yourself via a system or user message. Without this, the model may generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly "stuck" request. Also note that the message content may be partially cut off if finish_reason="length", which indicates the generation exceeded max_tokens or the conversation exceeded the max context length.

Az alábbiak valamelyikének telepítve kell lennie:
enum
auto
type enum kötelező

The type of response format being defined. Always text.

text
type enum kötelező

The type of response format being defined. Always json_object.

json_object
type enum kötelező

The type of response format being defined. Always json_schema.

json_schema
json_schema OpenAI.ResponseFormatJsonSchemaJsonSchema kötelező
description string
name string kötelező
schema OpenAI.ResponseFormatJsonSchemaSchema

The schema for the response format, described as a JSON Schema object. Learn how to build JSON schemas here.

strict boolean | null

Válaszok

The request has succeeded.

Törzs

Content-Type: application/json
id string kötelező

The identifier, which can be referenced in API endpoints.

object enum kötelező

The object type, which is always thread.run.

thread.run
created_at integer kötelező

The Unix timestamp (in seconds) for when the run was created.

thread_id string kötelező

The ID of the thread that was executed on as a part of this run.

assistant_id string kötelező

The ID of the assistant used for execution of this run.

status enum kötelező

The status of the run, which can be either queued, in_progress, requires_action, cancelling, cancelled, failed, completed, incomplete, or expired.

queuedin_progressrequires_actioncancellingcancelledfailedcompletedincompleteexpired
required_action OpenAI.RunObjectRequiredAction | null kötelező

Details on the action required to continue the run. Will be null if no action is required.

type enum kötelező
submit_tool_outputs
submit_tool_outputs OpenAI.RunObjectRequiredActionSubmitToolOutputs kötelező
tool_calls OpenAI.RunToolCallObject[] kötelező
last_error OpenAI.RunObjectLastError | null kötelező

The last error associated with this run. Will be null if there are no errors.

code enum kötelező
server_errorrate_limit_exceededinvalid_prompt
message string kötelező
expires_at integer | null kötelező

The Unix timestamp (in seconds) for when the run will expire.

started_at integer | null kötelező

The Unix timestamp (in seconds) for when the run was started.

cancelled_at integer | null kötelező

The Unix timestamp (in seconds) for when the run was cancelled.

failed_at integer | null kötelező

The Unix timestamp (in seconds) for when the run failed.

completed_at integer | null kötelező

The Unix timestamp (in seconds) for when the run was completed.

incomplete_details OpenAI.RunObjectIncompleteDetails | null kötelező

Details on why the run is incomplete. Will be null if the run is not incomplete.

reason enum
max_completion_tokensmax_prompt_tokens
model string kötelező

The model that the assistant used for this run.

instructions string kötelező

The instructions that the assistant used for this run.

tools OpenAI.AssistantTool[] kötelező

The list of tools that the assistant used for this run.

metadata OpenAI.Metadata | null kötelező

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.

[key: string] string
usage OpenAI.RunCompletionUsage | null kötelező

Usage statistics related to the run. This value will be null if the run is not in a terminal state (i.e. in_progress, queued, etc.).

completion_tokens integer kötelező
prompt_tokens integer kötelező
total_tokens integer kötelező
temperature number | null

The sampling temperature used for this run. If not set, defaults to 1.

top_p number | null

The nucleus sampling value used for this run. If not set, defaults to 1.

max_prompt_tokens integer | null kötelező

The maximum number of prompt tokens specified to have been used over the course of the run.

max_completion_tokens integer | null kötelező

The maximum number of completion tokens specified to have been used over the course of the run.

truncation_strategy OpenAI.TruncationObject | null kötelező

Controls for how a thread will be truncated prior to the run. Use this to control the initial context window of the run.

type enum kötelező

The truncation strategy to use for the thread. The default is auto. If set to last_messages, the thread will be truncated to the n most recent messages in the thread. When set to auto, messages in the middle of the thread will be dropped to fit the context length of the model, max_prompt_tokens.

autolast_messages
last_messages integer | null
tool_choice enum | OpenAI.AssistantsNamedToolChoice | null kötelező

Controls which (if any) tool is called by the model. none means the model will not call any tools and instead generates a message. auto is the default value and means the model can pick between generating a message or calling one or more tools. required means the model must call one or more tools before responding to the user. Specifying a particular tool like {"type": "file_search"} or {"type": "function", "function": {"name": "my_function"}} forces the model to call that tool.

Az alábbiak valamelyikének telepítve kell lennie:
enum
noneautorequired
type enum kötelező

The type of the tool. If type is function, the function name must be set

functioncode_interpreterfile_search
function OpenAI.AssistantsNamedToolChoiceFunction
name string kötelező
parallel_tool_calls boolean kötelező

Whether to enable parallel function calling during tool use.

response_format enum | OpenAI.ResponseFormatText | OpenAI.ResponseFormatJsonObject | OpenAI.ResponseFormatJsonSchema | null kötelező

Specifies the format that the model must output. Compatible with GPT-4o, GPT-4 Turbo, and all GPT-3.5 Turbo models since gpt-3.5-turbo-1106. Setting to { "type": "json_schema", "json_schema": {...} } enables Structured Outputs which ensures the model will match your supplied JSON schema. Learn more in the Structured Outputs guide. Setting to { "type": "json_object" } enables JSON mode, which ensures the message the model generates is valid JSON. Important:* when using JSON mode, you must also instruct the model to produce JSON yourself via a system or user message. Without this, the model may generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly "stuck" request. Also note that the message content may be partially cut off if finish_reason="length", which indicates the generation exceeded max_tokens or the conversation exceeded the max context length.

Az alábbiak valamelyikének telepítve kell lennie:
enum
auto
type enum kötelező

The type of response format being defined. Always text.

text
type enum kötelező

The type of response format being defined. Always json_object.

json_object
type enum kötelező

The type of response format being defined. Always json_schema.

json_schema
json_schema OpenAI.ResponseFormatJsonSchemaJsonSchema kötelező
description string
name string kötelező
schema OpenAI.ResponseFormatJsonSchemaSchema

The schema for the response format, described as a JSON Schema object. Learn how to build JSON schemas here.

strict boolean | null

Client error

Törzs

Content-Type: application/json
error OpenAI.Error kötelező
code string | null kötelező
message string kötelező
param string | null
type string
misalignment OpenAI.MisalignmentErrorDetailsResource
review_target string | null
error_type string | enum
A következők bármelyike:
string
enum
potentially_unintended_data_transferpotentially_unintended_data_accesspotentially_unintended_destructive_activityother
detailed_explanation string

The public explanation for this block.

steer OpenAI._MisalignmentSteer
message string kötelező

The public continuation instruction.

details OpenAI.Error[]
additionalInfo object
debugInfo object

Server error

Törzs

Content-Type: application/json
error OpenAI.Error kötelező
code string | null kötelező
message string kötelező
param string | null
type string
misalignment OpenAI.MisalignmentErrorDetailsResource
review_target string | null
error_type string | enum
A következők bármelyike:
string
enum
potentially_unintended_data_transferpotentially_unintended_data_accesspotentially_unintended_destructive_activityother
detailed_explanation string

The public explanation for this block.

steer OpenAI._MisalignmentSteer
message string kötelező

The public continuation instruction.

details OpenAI.Error[]
additionalInfo object
debugInfo object

Kérés

curl https://api.openai.com/v1/threads/thread_abc123/runs \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "OpenAI-Beta: assistants=v2" \
  -d '{
    "assistant_id": "asst_abc123"
  }'
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),  # This is the default and can be omitted
)
for run in client.beta.threads.runs.create(
    thread_id="thread_id",
    assistant_id="assistant_id",
):
  print(run)
import OpenAI from "openai";

const openai = new OpenAI();

async function main() {
  const run = await openai.beta.threads.runs.create(
    "thread_abc123",
    { assistant_id: "asst_abc123" }
  );

  console.log(run);
}

main();
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env['OPENAI_API_KEY'], // This is the default and can be omitted
});

const run = await client.beta.threads.runs.create('thread_id', { assistant_id: 'assistant_id' });

console.log(run.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"),
    )
    run, err := client.Beta.Threads.Runs.New(
        context.TODO(),
        "thread_id",
        openai.BetaThreadRunNewParams{
            AssistantID: "assistant_id",
        },
    )
    if err != nil {
        panic(err.Error())
    }
    fmt.Printf("%+v
", run.ID)
}
package com.openai.example;

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.beta.threads.runs.Run;
import com.openai.models.beta.threads.runs.RunCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.fromEnv();

        RunCreateParams params = RunCreateParams.builder()
            .threadId("thread_id")
            .assistantId("assistant_id")
            .build();
        Run run = client.beta().threads().runs().create(params);
    }
}
require "openai"

openai = OpenAI::Client.new(api_key: "My API Key")

run = openai.beta.threads.runs.create("thread_id", assistant_id: "assistant_id")

puts(run)

Válasz

{
  "id": "run_abc123",
  "object": "thread.run",
  "created_at": 1699063290,
  "assistant_id": "asst_abc123",
  "thread_id": "thread_abc123",
  "status": "queued",
  "started_at": 1699063290,
  "expires_at": null,
  "cancelled_at": null,
  "failed_at": null,
  "completed_at": 1699063291,
  "last_error": null,
  "model": "gpt-4o",
  "instructions": null,
  "incomplete_details": null,
  "tools": [
    {
      "type": "code_interpreter"
    }
  ],
  "metadata": {},
  "usage": null,
  "temperature": 1.0,
  "top_p": 1.0,
  "max_prompt_tokens": 1000,
  "max_completion_tokens": 1000,
  "truncation_strategy": {
    "type": "auto",
    "last_messages": null
  },
  "response_format": "auto",
  "tool_choice": "auto",
  "parallel_tool_calls": true
}

Kérés

curl https://api.openai.com/v1/threads/thread_123/runs \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "OpenAI-Beta: assistants=v2" \
  -d '{
    "assistant_id": "asst_123",
    "stream": true
  }'
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),  # This is the default and can be omitted
)
for run in client.beta.threads.runs.create(
    thread_id="thread_id",
    assistant_id="assistant_id",
):
  print(run)
import OpenAI from "openai";

const openai = new OpenAI();

async function main() {
  const stream = await openai.beta.threads.runs.create(
    "thread_123",
    { assistant_id: "asst_123", stream: true }
  );

  for await (const event of stream) {
    console.log(event);
  }
}

main();
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env['OPENAI_API_KEY'], // This is the default and can be omitted
});

const run = await client.beta.threads.runs.create('thread_id', { assistant_id: 'assistant_id' });

console.log(run.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"),
    )
    run, err := client.Beta.Threads.Runs.New(
        context.TODO(),
        "thread_id",
        openai.BetaThreadRunNewParams{
            AssistantID: "assistant_id",
        },
    )
    if err != nil {
        panic(err.Error())
    }
    fmt.Printf("%+v
", run.ID)
}
package com.openai.example;

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.beta.threads.runs.Run;
import com.openai.models.beta.threads.runs.RunCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.fromEnv();

        RunCreateParams params = RunCreateParams.builder()
            .threadId("thread_id")
            .assistantId("assistant_id")
            .build();
        Run run = client.beta().threads().runs().create(params);
    }
}
require "openai"

openai = OpenAI::Client.new(api_key: "My API Key")

run = openai.beta.threads.runs.create("thread_id", assistant_id: "assistant_id")

puts(run)

Válasz

event: thread.run.created
data: {"id":"run_123","object":"thread.run","created_at":1710330640,"assistant_id":"asst_123","thread_id":"thread_123","status":"queued","started_at":null,"expires_at":1710331240,"cancelled_at":null,"failed_at":null,"completed_at":null,"required_action":null,"last_error":null,"model":"gpt-4o","instructions":null,"tools":[],"metadata":{},"temperature":1.0,"top_p":1.0,"max_completion_tokens":null,"max_prompt_tokens":null,"truncation_strategy":{"type":"auto","last_messages":null},"incomplete_details":null,"usage":null,"response_format":"auto","tool_choice":"auto","parallel_tool_calls":true}}

event: thread.run.queued
data: {"id":"run_123","object":"thread.run","created_at":1710330640,"assistant_id":"asst_123","thread_id":"thread_123","status":"queued","started_at":null,"expires_at":1710331240,"cancelled_at":null,"failed_at":null,"completed_at":null,"required_action":null,"last_error":null,"model":"gpt-4o","instructions":null,"tools":[],"metadata":{},"temperature":1.0,"top_p":1.0,"max_completion_tokens":null,"max_prompt_tokens":null,"truncation_strategy":{"type":"auto","last_messages":null},"incomplete_details":null,"usage":null,"response_format":"auto","tool_choice":"auto","parallel_tool_calls":true}}

event: thread.run.in_progress
data: {"id":"run_123","object":"thread.run","created_at":1710330640,"assistant_id":"asst_123","thread_id":"thread_123","status":"in_progress","started_at":1710330641,"expires_at":1710331240,"cancelled_at":null,"failed_at":null,"completed_at":null,"required_action":null,"last_error":null,"model":"gpt-4o","instructions":null,"tools":[],"metadata":{},"temperature":1.0,"top_p":1.0,"max_completion_tokens":null,"max_prompt_tokens":null,"truncation_strategy":{"type":"auto","last_messages":null},"incomplete_details":null,"usage":null,"response_format":"auto","tool_choice":"auto","parallel_tool_calls":true}}

event: thread.run.step.created
data: {"id":"step_001","object":"thread.run.step","created_at":1710330641,"run_id":"run_123","assistant_id":"asst_123","thread_id":"thread_123","type":"message_creation","status":"in_progress","cancelled_at":null,"completed_at":null,"expires_at":1710331240,"failed_at":null,"last_error":null,"step_details":{"type":"message_creation","message_creation":{"message_id":"msg_001"}},"usage":null}

event: thread.run.step.in_progress
data: {"id":"step_001","object":"thread.run.step","created_at":1710330641,"run_id":"run_123","assistant_id":"asst_123","thread_id":"thread_123","type":"message_creation","status":"in_progress","cancelled_at":null,"completed_at":null,"expires_at":1710331240,"failed_at":null,"last_error":null,"step_details":{"type":"message_creation","message_creation":{"message_id":"msg_001"}},"usage":null}

event: thread.message.created
data: {"id":"msg_001","object":"thread.message","created_at":1710330641,"assistant_id":"asst_123","thread_id":"thread_123","run_id":"run_123","status":"in_progress","incomplete_details":null,"incomplete_at":null,"completed_at":null,"role":"assistant","content":[],"metadata":{}}

event: thread.message.in_progress
data: {"id":"msg_001","object":"thread.message","created_at":1710330641,"assistant_id":"asst_123","thread_id":"thread_123","run_id":"run_123","status":"in_progress","incomplete_details":null,"incomplete_at":null,"completed_at":null,"role":"assistant","content":[],"metadata":{}}

event: thread.message.delta
data: {"id":"msg_001","object":"thread.message.delta","delta":{"content":[{"index":0,"type":"text","text":{"value":"Hello","annotations":[]}}]}}

...

event: thread.message.delta
data: {"id":"msg_001","object":"thread.message.delta","delta":{"content":[{"index":0,"type":"text","text":{"value":" today"}}]}}

event: thread.message.delta
data: {"id":"msg_001","object":"thread.message.delta","delta":{"content":[{"index":0,"type":"text","text":{"value":"?"}}]}}

event: thread.message.completed
data: {"id":"msg_001","object":"thread.message","created_at":1710330641,"assistant_id":"asst_123","thread_id":"thread_123","run_id":"run_123","status":"completed","incomplete_details":null,"incomplete_at":null,"completed_at":1710330642,"role":"assistant","content":[{"type":"text","text":{"value":"Hello! How can I assist you today?","annotations":[]}}],"metadata":{}}

event: thread.run.step.completed
data: {"id":"step_001","object":"thread.run.step","created_at":1710330641,"run_id":"run_123","assistant_id":"asst_123","thread_id":"thread_123","type":"message_creation","status":"completed","cancelled_at":null,"completed_at":1710330642,"expires_at":1710331240,"failed_at":null,"last_error":null,"step_details":{"type":"message_creation","message_creation":{"message_id":"msg_001"}},"usage":{"prompt_tokens":20,"completion_tokens":11,"total_tokens":31}}

event: thread.run.completed
data: {"id":"run_123","object":"thread.run","created_at":1710330640,"assistant_id":"asst_123","thread_id":"thread_123","status":"completed","started_at":1710330641,"expires_at":null,"cancelled_at":null,"failed_at":null,"completed_at":1710330642,"required_action":null,"last_error":null,"model":"gpt-4o","instructions":null,"tools":[],"metadata":{},"temperature":1.0,"top_p":1.0,"max_completion_tokens":null,"max_prompt_tokens":null,"truncation_strategy":{"type":"auto","last_messages":null},"incomplete_details":null,"usage":{"prompt_tokens":20,"completion_tokens":11,"total_tokens":31},"response_format":"auto","tool_choice":"auto","parallel_tool_calls":true}}

event: done
data: [DONE]

Kérés

curl https://api.openai.com/v1/threads/thread_abc123/runs \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "OpenAI-Beta: assistants=v2" \
  -d '{
    "assistant_id": "asst_abc123",
    "tools": [
      {
        "type": "function",
        "function": {
          "name": "get_current_weather",
          "description": "Get the current weather in a given location",
          "parameters": {
            "type": "object",
            "properties": {
              "location": {
                "type": "string",
                "description": "The city and state, e.g. San Francisco, CA"
              },
              "unit": {
                "type": "string",
                "enum": ["celsius", "fahrenheit"]
              }
            },
            "required": ["location"]
          }
        }
      }
    ],
    "stream": true
  }'
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),  # This is the default and can be omitted
)
for run in client.beta.threads.runs.create(
    thread_id="thread_id",
    assistant_id="assistant_id",
):
  print(run)
import OpenAI from "openai";

const openai = new OpenAI();

const tools = [
    {
      "type": "function",
      "function": {
        "name": "get_current_weather",
        "description": "Get the current weather in a given location",
        "parameters": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "The city and state, e.g. San Francisco, CA",
            },
            "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},
          },
          "required": ["location"],
        },
      }
    }
];

async function main() {
  const stream = await openai.beta.threads.runs.create(
    "thread_abc123",
    {
      assistant_id: "asst_abc123",
      tools: tools,
      stream: true
    }
  );

  for await (const event of stream) {
    console.log(event);
  }
}

main();
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env['OPENAI_API_KEY'], // This is the default and can be omitted
});

const run = await client.beta.threads.runs.create('thread_id', { assistant_id: 'assistant_id' });

console.log(run.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"),
    )
    run, err := client.Beta.Threads.Runs.New(
        context.TODO(),
        "thread_id",
        openai.BetaThreadRunNewParams{
            AssistantID: "assistant_id",
        },
    )
    if err != nil {
        panic(err.Error())
    }
    fmt.Printf("%+v
", run.ID)
}
package com.openai.example;

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.beta.threads.runs.Run;
import com.openai.models.beta.threads.runs.RunCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.fromEnv();

        RunCreateParams params = RunCreateParams.builder()
            .threadId("thread_id")
            .assistantId("assistant_id")
            .build();
        Run run = client.beta().threads().runs().create(params);
    }
}
require "openai"

openai = OpenAI::Client.new(api_key: "My API Key")

run = openai.beta.threads.runs.create("thread_id", assistant_id: "assistant_id")

puts(run)

Válasz

event: thread.run.created
data: {"id":"run_123","object":"thread.run","created_at":1710348075,"assistant_id":"asst_123","thread_id":"thread_123","status":"queued","started_at":null,"expires_at":1710348675,"cancelled_at":null,"failed_at":null,"completed_at":null,"required_action":null,"last_error":null,"model":"gpt-4o","instructions":null,"tools":[],"metadata":{},"temperature":1.0,"top_p":1.0,"max_completion_tokens":null,"max_prompt_tokens":null,"truncation_strategy":{"type":"auto","last_messages":null},"incomplete_details":null,"usage":null,"response_format":"auto","tool_choice":"auto","parallel_tool_calls":true}}

event: thread.run.queued
data: {"id":"run_123","object":"thread.run","created_at":1710348075,"assistant_id":"asst_123","thread_id":"thread_123","status":"queued","started_at":null,"expires_at":1710348675,"cancelled_at":null,"failed_at":null,"completed_at":null,"required_action":null,"last_error":null,"model":"gpt-4o","instructions":null,"tools":[],"metadata":{},"temperature":1.0,"top_p":1.0,"max_completion_tokens":null,"max_prompt_tokens":null,"truncation_strategy":{"type":"auto","last_messages":null},"incomplete_details":null,"usage":null,"response_format":"auto","tool_choice":"auto","parallel_tool_calls":true}}

event: thread.run.in_progress
data: {"id":"run_123","object":"thread.run","created_at":1710348075,"assistant_id":"asst_123","thread_id":"thread_123","status":"in_progress","started_at":1710348075,"expires_at":1710348675,"cancelled_at":null,"failed_at":null,"completed_at":null,"required_action":null,"last_error":null,"model":"gpt-4o","instructions":null,"tools":[],"metadata":{},"temperature":1.0,"top_p":1.0,"max_completion_tokens":null,"max_prompt_tokens":null,"truncation_strategy":{"type":"auto","last_messages":null},"incomplete_details":null,"usage":null,"response_format":"auto","tool_choice":"auto","parallel_tool_calls":true}}

event: thread.run.step.created
data: {"id":"step_001","object":"thread.run.step","created_at":1710348076,"run_id":"run_123","assistant_id":"asst_123","thread_id":"thread_123","type":"message_creation","status":"in_progress","cancelled_at":null,"completed_at":null,"expires_at":1710348675,"failed_at":null,"last_error":null,"step_details":{"type":"message_creation","message_creation":{"message_id":"msg_001"}},"usage":null}

event: thread.run.step.in_progress
data: {"id":"step_001","object":"thread.run.step","created_at":1710348076,"run_id":"run_123","assistant_id":"asst_123","thread_id":"thread_123","type":"message_creation","status":"in_progress","cancelled_at":null,"completed_at":null,"expires_at":1710348675,"failed_at":null,"last_error":null,"step_details":{"type":"message_creation","message_creation":{"message_id":"msg_001"}},"usage":null}

event: thread.message.created
data: {"id":"msg_001","object":"thread.message","created_at":1710348076,"assistant_id":"asst_123","thread_id":"thread_123","run_id":"run_123","status":"in_progress","incomplete_details":null,"incomplete_at":null,"completed_at":null,"role":"assistant","content":[],"metadata":{}}

event: thread.message.in_progress
data: {"id":"msg_001","object":"thread.message","created_at":1710348076,"assistant_id":"asst_123","thread_id":"thread_123","run_id":"run_123","status":"in_progress","incomplete_details":null,"incomplete_at":null,"completed_at":null,"role":"assistant","content":[],"metadata":{}}

event: thread.message.delta
data: {"id":"msg_001","object":"thread.message.delta","delta":{"content":[{"index":0,"type":"text","text":{"value":"Hello","annotations":[]}}]}}

...

event: thread.message.delta
data: {"id":"msg_001","object":"thread.message.delta","delta":{"content":[{"index":0,"type":"text","text":{"value":" today"}}]}}

event: thread.message.delta
data: {"id":"msg_001","object":"thread.message.delta","delta":{"content":[{"index":0,"type":"text","text":{"value":"?"}}]}}

event: thread.message.completed
data: {"id":"msg_001","object":"thread.message","created_at":1710348076,"assistant_id":"asst_123","thread_id":"thread_123","run_id":"run_123","status":"completed","incomplete_details":null,"incomplete_at":null,"completed_at":1710348077,"role":"assistant","content":[{"type":"text","text":{"value":"Hello! How can I assist you today?","annotations":[]}}],"metadata":{}}

event: thread.run.step.completed
data: {"id":"step_001","object":"thread.run.step","created_at":1710348076,"run_id":"run_123","assistant_id":"asst_123","thread_id":"thread_123","type":"message_creation","status":"completed","cancelled_at":null,"completed_at":1710348077,"expires_at":1710348675,"failed_at":null,"last_error":null,"step_details":{"type":"message_creation","message_creation":{"message_id":"msg_001"}},"usage":{"prompt_tokens":20,"completion_tokens":11,"total_tokens":31}}

event: thread.run.completed
data: {"id":"run_123","object":"thread.run","created_at":1710348075,"assistant_id":"asst_123","thread_id":"thread_123","status":"completed","started_at":1710348075,"expires_at":null,"cancelled_at":null,"failed_at":null,"completed_at":1710348077,"required_action":null,"last_error":null,"model":"gpt-4o","instructions":null,"tools":[],"metadata":{},"temperature":1.0,"top_p":1.0,"max_completion_tokens":null,"max_prompt_tokens":null,"truncation_strategy":{"type":"auto","last_messages":null},"incomplete_details":null,"usage":{"prompt_tokens":20,"completion_tokens":11,"total_tokens":31},"response_format":"auto","tool_choice":"auto","parallel_tool_calls":true}}

event: done
data: [DONE]
hu-hu
Az Ön adatvédelmi választási lehetőségei
  • AI-jogi nyilatkozat
  • Korábbi verziók
  • Blog
  • Közreműködés
  • Adatvédelem
  • A Consumer Health adatvédelmi nyilatkozata
  • Használati feltételek
  • Védjegyek
  • © Microsoft 2026