Skip to content

Create thread

Deprecated
client.Beta.Threads.New(ctx, body) (*Thread, error)
POST/threads

Create a thread.

ParametersExpand Collapse
body BetaThreadNewParams
Messages param.Field[[]BetaThreadNewParamsMessage]optional

A list of messages to start the thread with.

Content BetaThreadNewParamsMessageContentUnion

The text contents of the message.

Accepts one of the following:
string
type BetaThreadNewParamsMessageContentArrayOfContentParts []MessageContentPartParamUnionResp

An array of content parts with a defined type, each can be of type text or images can be passed with image_url or image_file. Image types are only supported on Vision-compatible models.

Accepts one of the following:
type ImageFileContentBlock struct{…}

References an image File in the content of a message.

ImageFile ImageFile
FileID string

The File ID of the image in the message content. Set purpose="vision" when uploading the File if you need to later display the file content.

Detail ImageFileDetailoptional

Specifies the detail level of the image if specified by the user. low uses fewer tokens, you can opt in to high resolution using high.

Accepts one of the following:
const ImageFileDetailAuto ImageFileDetail = "auto"
const ImageFileDetailLow ImageFileDetail = "low"
const ImageFileDetailHigh ImageFileDetail = "high"
Type ImageFile

Always image_file.

type ImageURLContentBlock struct{…}

References an image URL in the content of a message.

ImageURL ImageURL
URL string

The external URL of the image, must be a supported image types: jpeg, jpg, png, gif, webp.

formaturi
Detail ImageURLDetailoptional

Specifies the detail level of the image. low uses fewer tokens, you can opt in to high resolution using high. Default value is auto

Accepts one of the following:
const ImageURLDetailAuto ImageURLDetail = "auto"
const ImageURLDetailLow ImageURLDetail = "low"
const ImageURLDetailHigh ImageURLDetail = "high"
Type ImageURL

The type of the content part.

type TextContentBlockParam struct{…}

The text content that is part of a message.

Text string

Text content to be sent to the model

Type Text

Always text.

Role string

The role of the entity that is creating the message. Allowed values include:

  • user: Indicates the message is sent by an actual user and should be used in most cases to represent user-generated messages.
  • assistant: Indicates the message is generated by the assistant. Use this value to insert messages from the assistant into the conversation.
Accepts one of the following:
const BetaThreadNewParamsMessageRoleUser BetaThreadNewParamsMessageRole = "user"
const BetaThreadNewParamsMessageRoleAssistant BetaThreadNewParamsMessageRole = "assistant"
Attachments []BetaThreadNewParamsMessageAttachmentoptional

A list of files attached to the message, and the tools they should be added to.

FileID stringoptional

The ID of the file to attach to the message.

Tools []BetaThreadNewParamsMessageAttachmentToolUnionoptional

The tools to add this file to.

Accepts one of the following:
type CodeInterpreterTool struct{…}
Type CodeInterpreter

The type of tool being defined: code_interpreter

type BetaThreadNewParamsMessageAttachmentToolFileSearch struct{…}
Type FileSearch

The type of tool being defined: file_search

Metadata Metadataoptional

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.

Metadata param.Field[Metadata]optional

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.

ToolResources param.Field[BetaThreadNewParamsToolResources]optional

A set of resources that are made available to the assistant's tools in this thread. The resources are specific to the type of tool. For example, the code_interpreter tool requires a list of file IDs, while the file_search tool requires a list of vector store IDs.

CodeInterpreter BetaThreadNewParamsToolResourcesCodeInterpreteroptional
FileIDs []stringoptional

A list of file IDs made available to the code_interpreter tool. There can be a maximum of 20 files associated with the tool.

Accepts one of the following:
ReturnsExpand Collapse
type Thread struct{…}

Represents a thread that contains messages.

ID string

The identifier, which can be referenced in API endpoints.

CreatedAt int64

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

Metadata Metadata

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.

Object Thread

The object type, which is always thread.

ToolResources ThreadToolResources

A set of resources that are made available to the assistant's tools in this thread. The resources are specific to the type of tool. For example, the code_interpreter tool requires a list of file IDs, while the file_search tool requires a list of vector store IDs.

CodeInterpreter ThreadToolResourcesCodeInterpreteroptional
FileIDs []stringoptional

A list of file IDs made available to the code_interpreter tool. There can be a maximum of 20 files associated with the tool.

Create thread

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"),
  )
  thread, err := client.Beta.Threads.New(context.TODO(), openai.BetaThreadNewParams{

  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", thread.ID)
}
{
  "id": "id",
  "created_at": 0,
  "metadata": {
    "foo": "string"
  },
  "object": "thread",
  "tool_resources": {
    "code_interpreter": {
      "file_ids": [
        "string"
      ]
    },
    "file_search": {
      "vector_store_ids": [
        "string"
      ]
    }
  }
}
Returns Examples
{
  "id": "id",
  "created_at": 0,
  "metadata": {
    "foo": "string"
  },
  "object": "thread",
  "tool_resources": {
    "code_interpreter": {
      "file_ids": [
        "string"
      ]
    },
    "file_search": {
      "vector_store_ids": [
        "string"
      ]
    }
  }
}