Skip to content

Commit e8e2e80

Browse files
committed
[共通] OpenAI API update 2024-01 #1194
1 parent 01befb3 commit e8e2e80

File tree

2 files changed

+30
-20
lines changed

2 files changed

+30
-20
lines changed

Siv3D/include/Siv3D/OpenAI/Chat.hpp

+11-14
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,14 @@ namespace s3d
2323
{
2424
namespace Model
2525
{
26-
/// @brief GPT-3.5 4K
26+
/// @brief GPT-3.5
2727
/// @see https://platform.openai.com/docs/models/gpt-3-5
28+
/// @remark alias: `GPT3_5_Turbo_16K_1106` from February 2024 16th
2829
inline constexpr char32 GPT3_5_Turbo[] = U"gpt-3.5-turbo";
2930

30-
/// @brief GPT-3.5 16K
31+
/// @brief GPT-3.5 16K (0125)
3132
/// @see https://platform.openai.com/docs/models/gpt-3-5
32-
inline constexpr char32 GPT3_5_Turbo_16K[] = U"gpt-3.5-turbo-16k";
33-
34-
/// @brief GPT-3.5 16K (1106)
35-
/// @see https://platform.openai.com/docs/models/gpt-3-5
36-
inline constexpr char32 GPT3_5_Turbo_16K_1106[] = U"gpt-3.5-turbo-1106";
33+
inline constexpr char32 GPT3_5_Turbo_16K_0125[] = U"gpt-3.5-turbo-0125";
3734

3835
/// @brief GPT-4 8K
3936
/// @see https://platform.openai.com/docs/models/gpt-4-and-gpt-4-turbo
@@ -43,9 +40,9 @@ namespace s3d
4340
/// @see https://platform.openai.com/docs/models/gpt-4-and-gpt-4-turbo
4441
inline constexpr char32 GPT4_32K[] = U"gpt-4-32k";
4542

46-
/// @brief GPT-4 Turbo 128K (1106 Preview)
43+
/// @brief latest GPT-4 Turbo preview
4744
/// @see https://platform.openai.com/docs/models/gpt-4-and-gpt-4-turbo
48-
inline constexpr char32 GPT4_Turbo_128K_1106_Preview[] = U"gpt-4-1106-preview";
45+
inline constexpr char32 GPT4_Turbo_Preview[] = U"gpt-4-turbo-preview";
4946
}
5047

5148
/// @brief メッセージのロール | Message role
@@ -87,7 +84,7 @@ namespace s3d
8784
Array<std::pair<Role, String>> messages;
8885

8986
/// @brief モデル | Model
90-
String model = Model::GPT3_5_Turbo_16K_1106;
87+
String model = Model::GPT3_5_Turbo;
9188

9289
/// @brief レスポンスのフォーマット | Response format
9390
/// @remark `ResponseFormat::JSON` を指定した場合、メッセージには "JSON" という言葉を含める必要があります。 | If `ResponseFormat::JSON` is specified, the message must contain the word "JSON".
@@ -101,11 +98,11 @@ namespace s3d
10198
/// @brief ChatGPT にメッセージを送り、その返答メッセージを取得します。 | Sends a message to ChatGPT and retrieves the response message.
10299
/// @param apiKey OpenAI API キー | OpenAI API key
103100
/// @param message メッセージ | Message
104-
/// @param model 使用するモデル | The model to be used (default: Model::GPT3_5_Turbo_16K_1106)
101+
/// @param model 使用するモデル | The model to be used (default: Model::GPT3_5_Turbo)
105102
/// @return 返答メッセージ。取得に失敗した場合は空の文字列 | Response message. An empty string if the retrieval fails.
106103
/// @remark インターネットアクセスが必要です。 | Internet access is required.
107104
[[nodiscard]]
108-
String Complete(StringView apiKey, StringView message, StringView model = Model::GPT3_5_Turbo_16K_1106);
105+
String Complete(StringView apiKey, StringView message, StringView model = Model::GPT3_5_Turbo);
109106

110107
/// @brief ChatGPT にメッセージを送り、その返答メッセージを取得します。 | Sends messages to ChatGPT and retrieves the response message.
111108
/// @param apiKey OpenAI API キー | OpenAI API key
@@ -127,12 +124,12 @@ namespace s3d
127124
/// @brief ChatGPT にメッセージを送り、レスポンス(JSON)を取得する非同期タスクを返します。 | Returns an asynchronous task for sending a message to ChatGPT and retrieving the response (JSON).
128125
/// @param apiKey OpenAI API キー | OpenAI API key
129126
/// @param message メッセージ | Message
130-
/// @param model 使用するモデル | The model to be used (default: Model::GPT3_5_Turbo_16K_1106)
127+
/// @param model 使用するモデル | The model to be used (default: Model::GPT3_5_Turbo)
131128
/// @return 非同期タスク | Asynchronous task
132129
/// @remark 戻り値の task が `(task.isReady() == true) && (task.getResponse().isOK() == true)` になれば結果を取得できます。 | The result can be retrieved if `(task.isReady() == true) && (task.getResponse().isOK() == true)`.
133130
/// @remark インターネットアクセスが必要です。 | Internet access is required.
134131
[[nodiscard]]
135-
AsyncHTTPTask CompleteAsync(StringView apiKey, StringView message, StringView model = Model::GPT3_5_Turbo_16K_1106);
132+
AsyncHTTPTask CompleteAsync(StringView apiKey, StringView message, StringView model = Model::GPT3_5_Turbo);
136133

137134
/// @brief ChatGPT にメッセージを送り、レスポンス(JSON)を取得する非同期タスクを返します。 | Returns an asynchronous task for sending messages to ChatGPT and retrieving the response (JSON).
138135
/// @param apiKey OpenAI API キー | OpenAI API key

Siv3D/include/Siv3D/OpenAI/Embedding.hpp

+19-6
Original file line numberDiff line numberDiff line change
@@ -28,36 +28,49 @@ namespace s3d
2828
/// @brief 埋め込みモデル text-embedding-ada-002 | Embedding Model text-embedding-ada-002
2929
/// @see https://platform.openai.com/docs/models/embeddings
3030
/// @remark Embeddings API 用のモデルです。 | This is a model for the Embeddings API.
31+
/// @remark 出力: 1,536 次元のベクトル | Output: 1,536-dimensional vector
3132
inline constexpr char32 EmbeddingAda002[] = U"text-embedding-ada-002";
33+
34+
/// @brief 埋め込みモデル text-embedding-3-small | Embedding Model text-embedding-3-small
35+
/// @see https://platform.openai.com/docs/models/embeddings
36+
/// @remark Embeddings API 用のモデルです。 | This is a model for the Embeddings API.
37+
/// @remark 出力: 1,536 次元のベクトル | Output: 1,536-dimensional vector
38+
inline constexpr char32 Embedding_V3_Small[] = U"text-embedding-3-small";
39+
40+
/// @brief 埋め込みモデル text-embedding-3-large | Embedding Model text-embedding-3-large
41+
/// @see https://platform.openai.com/docs/models/embeddings
42+
/// @remark Embeddings API 用のモデルです。 | This is a model for the Embeddings API.
43+
/// @remark 出力: 3,072 次元のベクトル | Output: 3,072-dimensional vector
44+
inline constexpr char32 Embedding_V3_Large[] = U"text-embedding-3-large";
3245
}
3346

3447
/// @brief 文章の埋め込みベクトルを返します。 | Returns the embedding vector of the text.
3548
/// @param apiKey OpenAI API キー | OpenAI API key
3649
/// @param text 文章 | Text
37-
/// @param model 使用するモデル | The model to be used (default: Model::EmbeddingAda002)
50+
/// @param model 使用するモデル | The model to be used (default: Model::Embedding_V3_Large)
3851
/// @return 埋め込みベクトル。取得に失敗した場合空の配列 | Embedding vector. Empty array if the retrieval fails.
3952
/// @remark インターネットアクセスが必要です。 | Internet access is required.
4053
[[nodiscard]]
41-
Array<float> Create(StringView apiKey, StringView text, StringView model = Model::EmbeddingAda002);
54+
Array<float> Create(StringView apiKey, StringView text, StringView model = Model::Embedding_V3_Large);
4255

4356
/// @brief 文章の埋め込みベクトルを返します。 | Returns the embedding vector of the text.
4457
/// @param apiKey OpenAI API キー | OpenAI API key
4558
/// @param text 文章 | Text
4659
/// @param error エラーメッセージの格納先。エラーが無い場合は空の文字列になる | Destination for the error message. Will be an empty string if no error occurs.
47-
/// @param model 使用するモデル | The model to be used (default: Model::EmbeddingAda002)
60+
/// @param model 使用するモデル | The model to be used (default: Model::Embedding_V3_Large)
4861
/// @return 埋め込みベクトル。取得に失敗した場合空の配列 | Embedding vector. Empty array if the retrieval fails.
4962
/// @remark インターネットアクセスが必要です。 | Internet access is required.
5063
[[nodiscard]]
51-
Array<float> Create(StringView apiKey, StringView text, String& error, StringView model = Model::EmbeddingAda002);
64+
Array<float> Create(StringView apiKey, StringView text, String& error, StringView model = Model::Embedding_V3_Large);
5265

5366
/// @brief 文章の埋め込みベクトルを含むレスポンス(JSON)を取得する非同期タスクを返します。 | Returns an asynchronous task that retrieves a response (JSON) containing the embedding vector of the text.
5467
/// @param apiKey OpenAI API キー | OpenAI API key
5568
/// @param text 文章 | Text
56-
/// @param model 使用するモデル | The model to be used (default: Model::EmbeddingAda002)
69+
/// @param model 使用するモデル | The model to be used (default: Model::Embedding_V3_Large)
5770
/// @return 非同期タスク | Asynchronous task
5871
/// @remark インターネットアクセスが必要です。 | Internet access is required.
5972
[[nodiscard]]
60-
AsyncHTTPTask CreateAsync(StringView apiKey, StringView text, StringView model = Model::EmbeddingAda002);
73+
AsyncHTTPTask CreateAsync(StringView apiKey, StringView text, StringView model = Model::Embedding_V3_Large);
6174

6275
/// @brief レスポンス(JSON)から、文章の埋め込みベクトルを抽出して返します。 | Extracts and returns the embedding vector of the text from the response (JSON).
6376
/// @param response JSON レスポンス | JSON response

0 commit comments

Comments
 (0)