Threads, Assistants
Create a message
Creates a message from the supplied request.
Paramètres de chemin d’accès
thread_id
string
obligatoire
The ID of the thread to create a message for.
Corps de la demande
The request body.
role
enum
obligatoire
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.
content
string | (OpenAI.MessageContentImageFileObject | OpenAI.MessageContentImageUrlObject | OpenAI.MessageRequestContentTextObject)[]
obligatoire
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.
Réponses
The request has succeeded.
Corps
id
string
obligatoire
The identifier, which can be referenced in API endpoints.
object
enum
obligatoire
The object type, which is always thread.message.
created_at
integer
obligatoire
The Unix timestamp (in seconds) for when the message was created.
thread_id
string
obligatoire
The thread ID that this message belongs to.
status
enum
obligatoire
The status of the message, which can be either in_progress, incomplete, or completed.
incomplete_details
OpenAI.MessageObjectIncompleteDetails | null
obligatoire
reason
enum
obligatoire
role
enum
obligatoire
The entity that produced the message. One of user or assistant.
content
OpenAI.MessageObjectContent[]
obligatoire
The content of the message in array of text and/or images.
metadata
OpenAI.Metadata | null
obligatoire
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.
Requête
curl https://api.openai.com/v1/threads/thread_abc123/messages \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "OpenAI-Beta: assistants=v2" \
-d '{
"role": "user",
"content": "How does AI work? Explain it in simple terms."
}'
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"), # This is the default and can be omitted
)
message = client.beta.threads.messages.create(
thread_id="thread_id",
content="string",
role="user",
)
print(message.id)
import OpenAI from "openai";
const openai = new OpenAI();
async function main() {
const threadMessages = await openai.beta.threads.messages.create(
"thread_abc123",
{ role: "user", content: "How does AI work? Explain it in simple terms." }
);
console.log(threadMessages);
}
main();
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env['OPENAI_API_KEY'], // This is the default and can be omitted
});
const message = await client.beta.threads.messages.create('thread_id', {
content: 'string',
role: 'user',
});
console.log(message.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"),
)
message, err := client.Beta.Threads.Messages.New(
context.TODO(),
"thread_id",
openai.BetaThreadMessageNewParams{
Content: openai.BetaThreadMessageNewParamsContentUnion{
OfString: openai.String("string"),
},
Role: openai.BetaThreadMessageNewParamsRoleUser,
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v
", message.ID)
}
package com.openai.example;
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.beta.threads.messages.Message;
import com.openai.models.beta.threads.messages.MessageCreateParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.fromEnv();
MessageCreateParams params = MessageCreateParams.builder()
.threadId("thread_id")
.content("string")
.role(MessageCreateParams.Role.USER)
.build();
Message message = client.beta().threads().messages().create(params);
}
}
require "openai"
openai = OpenAI::Client.new(api_key: "My API Key")
message = openai.beta.threads.messages.create("thread_id", content: "string", role: :user)
puts(message)
Response
{
"id": "msg_abc123",
"object": "thread.message",
"created_at": 1713226573,
"assistant_id": null,
"thread_id": "thread_abc123",
"run_id": null,
"role": "user",
"content": [
{
"type": "text",
"text": {
"value": "How does AI work? Explain it in simple terms.",
"annotations": []
}
}
],
"attachments": [],
"metadata": {}
}