Threads, Assistants
Create a message
Creates a message from the supplied request.
路径参数
thread_id
string
必需
The ID of the thread to create a message for.
请求正文
The request body.
role
enum
必需
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)[]
必需
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.
响应
The request has succeeded.
正文
id
string
必需
The identifier, which can be referenced in API endpoints.
object
enum
必需
The object type, which is always thread.message.
created_at
integer
必需
The Unix timestamp (in seconds) for when the message was created.
thread_id
string
必需
The thread ID that this message belongs to.
status
enum
必需
The status of the message, which can be either in_progress, incomplete, or completed.
incomplete_details
OpenAI.MessageObjectIncompleteDetails | null
必需
reason
enum
必需
role
enum
必需
The entity that produced the message. One of user or assistant.
content
OpenAI.MessageObjectContent[]
必需
The content of the message in array of text and/or images.
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.
请求
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)
响应
{
"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": {}
}