models.php
277 lines
| 1 | <?php |
| 2 | |
| 3 | // Price as of March 2023: https://openai.com/api/pricing/ |
| 4 | |
| 5 | define( 'MWAI_OPENAI_MODELS', [ |
| 6 | // Base models: |
| 7 | [ |
| 8 | "model" => "gpt-3.5-turbo", |
| 9 | "name" => "turbo", |
| 10 | "family" => "turbo", |
| 11 | "price" => [ |
| 12 | "in" => 0.0015, |
| 13 | "out" => 0.002, |
| 14 | ], |
| 15 | "type" => "token", |
| 16 | "unit" => 1 / 1000, |
| 17 | "maxTokens" => 4096, |
| 18 | "mode" => "chat", |
| 19 | "finetune" => [ |
| 20 | "in" => 0.03, |
| 21 | "out" => 0.06, |
| 22 | ], |
| 23 | "tags" => ['core', 'chat', '4k', 'finetune'] |
| 24 | ], |
| 25 | [ |
| 26 | "model" => "gpt-3.5-turbo-16k", |
| 27 | "description" => "Offers 4 times the context length of gpt-3.5-turbo at twice the price.", |
| 28 | "name" => "turbo-16k", |
| 29 | "family" => "turbo", |
| 30 | "price" => [ |
| 31 | "in" => 0.003, |
| 32 | "out" => 0.004, |
| 33 | ], |
| 34 | "type" => "token", |
| 35 | "unit" => 1 / 1000, |
| 36 | "maxTokens" => 4096 * 4, |
| 37 | "mode" => "chat", |
| 38 | "finetune" => false, |
| 39 | "tags" => ['core', 'chat', '16k'] |
| 40 | ], |
| 41 | [ |
| 42 | "model" => "gpt-4", |
| 43 | "name" => "gpt-4", |
| 44 | "family" => "gpt4", |
| 45 | "price" => [ |
| 46 | "in" => 0.03, |
| 47 | "out" => 0.06, |
| 48 | ], |
| 49 | "type" => "token", |
| 50 | "unit" => 1 / 1000, |
| 51 | "maxTokens" => 8192, |
| 52 | "mode" => "chat", |
| 53 | "finetune" => false, |
| 54 | "tags" => ['core', 'chat'] |
| 55 | ], |
| 56 | [ |
| 57 | "model" => "gpt-4-vision-preview", |
| 58 | "name" => "GPT-4 Turbo (Vision)", |
| 59 | "family" => "gpt4", |
| 60 | "price" => [ |
| 61 | "in" => 0.01, |
| 62 | "out" => 0.03, |
| 63 | ], |
| 64 | "type" => "token", |
| 65 | "unit" => 1 / 1000, |
| 66 | "maxTokens" => 4096, // We should upgrade to maxCompletionTokens and maxContextualTokens |
| 67 | "maxCompletionTokens" => 4096, |
| 68 | "maxContextualTokens" => 128000, |
| 69 | "mode" => "chat", |
| 70 | "finetune" => false, |
| 71 | "tags" => ['core', 'chat', 'vision', 'preview', 'json'] |
| 72 | ], |
| 73 | [ |
| 74 | "model" => "gpt-4-1106-preview", |
| 75 | "name" => "GPT-4 Turbo", |
| 76 | "family" => "gpt4", |
| 77 | "price" => [ |
| 78 | "in" => 0.01, |
| 79 | "out" => 0.03, |
| 80 | ], |
| 81 | "type" => "token", |
| 82 | "unit" => 1 / 1000, |
| 83 | "maxTokens" => 4096, // We should upgrade to maxCompletionTokens and maxContextualTokens |
| 84 | "maxCompletionTokens" => 4096, |
| 85 | "maxContextualTokens" => 128000, |
| 86 | "mode" => "chat", |
| 87 | "finetune" => false, |
| 88 | "tags" => ['core', 'chat', 'preview', 'json'] |
| 89 | ], |
| 90 | [ |
| 91 | "model" => "gpt-4-32k", |
| 92 | "name" => "gpt-4-32k", |
| 93 | "family" => "gpt4-32k", |
| 94 | "price" => [ |
| 95 | "in" => 0.06, |
| 96 | "out" => 0.12, |
| 97 | ], |
| 98 | "type" => "token", |
| 99 | "unit" => 1 / 1000, |
| 100 | "maxTokens" => 32768, |
| 101 | "mode" => "chat", |
| 102 | "finetune" => false, |
| 103 | "tags" => ['core', 'chat'] |
| 104 | ], |
| 105 | [ |
| 106 | "model" => "gpt-3.5-turbo-instruct", |
| 107 | "name" => "turbo-instruct", |
| 108 | "family" => "turbo-instruct", |
| 109 | "price" => [ |
| 110 | "in" => 0.0015, |
| 111 | "out" => 0.002, |
| 112 | ], |
| 113 | "type" => "token", |
| 114 | "unit" => 1 / 1000, |
| 115 | "mode" => "completion", |
| 116 | "finetune" => [ |
| 117 | "in" => 0.03, |
| 118 | "out" => 0.06, |
| 119 | ], |
| 120 | "maxTokens" => 4096, // TODO: We shouldn't have this here anymore, it should be only a setting |
| 121 | "maxCompletionTokens" => null, // TODO: Because we only have a maxContextual... |
| 122 | "maxContextualTokens" => 4096, |
| 123 | "tags" => ['core', 'chat', '4k'] |
| 124 | ], |
| 125 | [ |
| 126 | "model" => "text-davinci-003", |
| 127 | "name" => "davinci-003", |
| 128 | "family" => "davinci", |
| 129 | "price" => 0.02, |
| 130 | "type" => "token", |
| 131 | "unit" => 1 / 1000, |
| 132 | "maxTokens" => 2048, |
| 133 | "mode" => "completion", |
| 134 | "finetune" => [ |
| 135 | "price" => 0.12 |
| 136 | ], |
| 137 | "tags" => ['core', 'chat', 'legacy-finetune', 'deprecated'] |
| 138 | ], |
| 139 | [ |
| 140 | "model" => "text-curie-001", |
| 141 | "name" => "curie-001", |
| 142 | "family" => "curie", |
| 143 | "price" => 0.002, |
| 144 | "type" => "token", |
| 145 | "unit" => 1 / 1000, |
| 146 | "maxTokens" => 2048, |
| 147 | "mode" => "completion", |
| 148 | "finetune" => [ |
| 149 | "price" => 0.012 |
| 150 | ], |
| 151 | "tags" => ['core', 'chat', 'legacy-finetune', 'deprecated'] |
| 152 | ], |
| 153 | [ |
| 154 | "model" => "text-babbage-001", |
| 155 | "name" => "babbage-001", |
| 156 | "family" => "babbage", |
| 157 | "price" => 0.0005, |
| 158 | "type" => "token", |
| 159 | "unit" => 1 / 1000, |
| 160 | "maxTokens" => 2048, |
| 161 | "mode" => "completion", |
| 162 | "finetune" => [ |
| 163 | "price" => 0.0024 |
| 164 | ], |
| 165 | "tags" => ['core', 'legacy-finetune', 'deprecated'] |
| 166 | ], |
| 167 | [ |
| 168 | "model" => "text-ada-001", |
| 169 | "name" => "ada-001", |
| 170 | "family" => "ada", |
| 171 | "price" => 0.0004, |
| 172 | "type" => "token", |
| 173 | "unit" => 1 / 1000, |
| 174 | "maxTokens" => 2048, |
| 175 | "mode" => "completion", |
| 176 | "finetune" => [ |
| 177 | "price" => 0.0016 |
| 178 | ], |
| 179 | "tags" => ['core', 'legacy-finetune', 'deprecated'] |
| 180 | ], |
| 181 | // Image models: |
| 182 | [ |
| 183 | "model" => "dall-e", |
| 184 | "name" => "DALL-E 2", |
| 185 | "family" => "dall-e", |
| 186 | "type" => "image", |
| 187 | "unit" => 1, |
| 188 | "options" => [ |
| 189 | [ |
| 190 | "option" => "1024x1024", |
| 191 | "price" => 0.020 |
| 192 | ], |
| 193 | [ |
| 194 | "option" => "512x512", |
| 195 | "price" => 0.018 |
| 196 | ], |
| 197 | [ |
| 198 | "option" => "256x256", |
| 199 | "price" => 0.016 |
| 200 | ] |
| 201 | ], |
| 202 | "finetune" => false, |
| 203 | "tags" => ['core', 'image'] |
| 204 | ], |
| 205 | [ |
| 206 | "model" => "dall-e-3", |
| 207 | "name" => "DALL-E 3", |
| 208 | "family" => "dall-e", |
| 209 | "type" => "image", |
| 210 | "unit" => 1, |
| 211 | "options" => [ |
| 212 | [ |
| 213 | "option" => "1024x1024", |
| 214 | "price" => 0.040 |
| 215 | ], |
| 216 | [ |
| 217 | "option" => "1024x1792", |
| 218 | "price" => 0.080 |
| 219 | ], |
| 220 | [ |
| 221 | "option" => "1792x1024", |
| 222 | "price" => 0.080 |
| 223 | ] |
| 224 | ], |
| 225 | "finetune" => false, |
| 226 | "tags" => ['core', 'image'] |
| 227 | ], |
| 228 | [ |
| 229 | "model" => "dall-e-3-hd", |
| 230 | "name" => "DALL-E 3 (HD)", |
| 231 | "family" => "dall-e", |
| 232 | "type" => "image", |
| 233 | "unit" => 1, |
| 234 | "options" => [ |
| 235 | [ |
| 236 | "option" => "1024x1024", |
| 237 | "price" => 0.080 |
| 238 | ], |
| 239 | [ |
| 240 | "option" => "1024x1792", |
| 241 | "price" => 0.120 |
| 242 | ], |
| 243 | [ |
| 244 | "option" => "1792x1024", |
| 245 | "price" => 0.120 |
| 246 | ] |
| 247 | ], |
| 248 | "finetune" => false, |
| 249 | "tags" => ['core', 'image'] |
| 250 | ], |
| 251 | // Embedding models: |
| 252 | [ |
| 253 | "model" => "text-embedding-ada-002", |
| 254 | "name" => "ada-002", |
| 255 | "family" => "ada", |
| 256 | "price" => 0.0004, |
| 257 | "type" => "token", |
| 258 | "unit" => 1 / 1000, |
| 259 | "mode" => "embedding", |
| 260 | "finetune" => false, |
| 261 | "tags" => ['core', 'embedding'], |
| 262 | ], |
| 263 | // Audio Models: |
| 264 | [ |
| 265 | "model" => "whisper-1", |
| 266 | "name" => "whisper-1", |
| 267 | "family" => "whisper", |
| 268 | "price" => 0.00001, |
| 269 | "type" => "second", |
| 270 | "unit" => 1, |
| 271 | "mode" => "speech-to-text", |
| 272 | "finetune" => false, |
| 273 | "tags" => ['core', 'audio'], |
| 274 | ] |
| 275 | ]); |
| 276 | |
| 277 |