@lobehub/chat 1.70.10 → 1.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/.github/ISSUE_TEMPLATE/1_bug_report.yml +1 -0
  2. package/.github/ISSUE_TEMPLATE/2_feature_request.yml +1 -0
  3. package/.github/ISSUE_TEMPLATE/2_feature_request_cn.yml +1 -0
  4. package/.github/workflows/sync-database-schema.yml +25 -0
  5. package/CHANGELOG.md +42 -0
  6. package/README.md +1 -1
  7. package/README.zh-CN.md +1 -1
  8. package/changelog/v1.json +14 -0
  9. package/docs/developer/database-schema.dbml +569 -0
  10. package/locales/ar/models.json +3 -0
  11. package/locales/bg-BG/models.json +3 -0
  12. package/locales/de-DE/models.json +3 -0
  13. package/locales/en-US/models.json +3 -0
  14. package/locales/es-ES/models.json +3 -0
  15. package/locales/fa-IR/models.json +3 -0
  16. package/locales/fr-FR/models.json +3 -0
  17. package/locales/it-IT/models.json +3 -0
  18. package/locales/ja-JP/models.json +3 -0
  19. package/locales/ko-KR/models.json +3 -0
  20. package/locales/nl-NL/models.json +3 -0
  21. package/locales/pl-PL/models.json +3 -0
  22. package/locales/pt-BR/models.json +3 -0
  23. package/locales/ru-RU/models.json +3 -0
  24. package/locales/tr-TR/models.json +3 -0
  25. package/locales/vi-VN/models.json +3 -0
  26. package/locales/zh-CN/models.json +3 -0
  27. package/locales/zh-TW/models.json +3 -0
  28. package/package.json +6 -2
  29. package/scripts/dbmlWorkflow/index.ts +11 -0
  30. package/src/config/aiModels/google.ts +17 -0
  31. package/src/database/client/migrations.json +10 -0
  32. package/src/database/migrations/0016_add_message_index.sql +3 -0
  33. package/src/database/migrations/meta/0016_snapshot.json +4018 -0
  34. package/src/database/migrations/meta/_journal.json +7 -0
  35. package/src/database/schemas/message.ts +3 -0
  36. package/src/database/server/models/message.ts +20 -9
  37. package/src/database/server/models/user.test.ts +58 -0
  38. package/src/features/AlertBanner/CloudBanner.tsx +1 -1
  39. package/src/features/Conversation/Messages/Assistant/index.tsx +4 -1
  40. package/src/features/Conversation/Messages/User/index.tsx +4 -4
  41. package/src/libs/agent-runtime/google/index.ts +8 -2
  42. package/src/libs/agent-runtime/utils/streams/google-ai.test.ts +99 -0
  43. package/src/libs/agent-runtime/utils/streams/google-ai.ts +69 -23
  44. package/src/libs/agent-runtime/utils/streams/protocol.ts +2 -0
  45. package/src/services/chat.ts +33 -15
  46. package/src/services/file/client.ts +3 -1
  47. package/src/services/message/server.ts +2 -2
  48. package/src/services/message/type.ts +2 -2
  49. package/src/services/upload.ts +82 -1
  50. package/src/store/chat/slices/aiChat/actions/generateAIChat.ts +44 -4
  51. package/src/store/chat/slices/message/action.ts +3 -0
  52. package/src/store/file/slices/upload/action.ts +36 -13
  53. package/src/store/file/store.ts +2 -0
  54. package/src/tools/web-browsing/Render/PageContent/index.tsx +2 -2
  55. package/src/tools/web-browsing/Render/Search/SearchResult/SearchResultItem.tsx +1 -1
  56. package/src/types/files/upload.ts +7 -0
  57. package/src/types/message/base.ts +22 -1
  58. package/src/types/message/chat.ts +1 -6
  59. package/src/types/message/image.ts +11 -0
  60. package/src/types/message/index.ts +1 -0
  61. package/src/utils/fetch/fetchSSE.ts +24 -1
@@ -0,0 +1,569 @@
1
+ table agents {
2
+ id text [pk, not null]
3
+ slug varchar(100) [unique]
4
+ title text
5
+ description text
6
+ tags jsonb [default: `[]`]
7
+ avatar text
8
+ background_color text
9
+ plugins jsonb [default: `[]`]
10
+ user_id text [not null]
11
+ chat_config jsonb
12
+ few_shots jsonb
13
+ model text
14
+ params jsonb [default: `{}`]
15
+ provider text
16
+ system_role text
17
+ tts jsonb
18
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
19
+ created_at "timestamp with time zone" [not null, default: `now()`]
20
+ updated_at "timestamp with time zone" [not null, default: `now()`]
21
+ }
22
+
23
+ table agents_files {
24
+ file_id text [not null]
25
+ agent_id text [not null]
26
+ enabled boolean [default: true]
27
+ user_id text [not null]
28
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
29
+ created_at "timestamp with time zone" [not null, default: `now()`]
30
+ updated_at "timestamp with time zone" [not null, default: `now()`]
31
+
32
+ indexes {
33
+ (file_id, agent_id, user_id) [pk]
34
+ }
35
+ }
36
+
37
+ table agents_knowledge_bases {
38
+ agent_id text [not null]
39
+ knowledge_base_id text [not null]
40
+ user_id text [not null]
41
+ enabled boolean [default: true]
42
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
43
+ created_at "timestamp with time zone" [not null, default: `now()`]
44
+ updated_at "timestamp with time zone" [not null, default: `now()`]
45
+
46
+ indexes {
47
+ (agent_id, knowledge_base_id) [pk]
48
+ }
49
+ }
50
+
51
+ table ai_models {
52
+ id varchar(150) [not null]
53
+ display_name varchar(200)
54
+ description text
55
+ organization varchar(100)
56
+ enabled boolean
57
+ provider_id varchar(64) [not null]
58
+ type varchar(20) [not null, default: 'chat']
59
+ sort integer
60
+ user_id text [not null]
61
+ pricing jsonb
62
+ parameters jsonb [default: `{}`]
63
+ config jsonb
64
+ abilities jsonb [default: `{}`]
65
+ context_window_tokens integer
66
+ source varchar(20)
67
+ released_at varchar(10)
68
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
69
+ created_at "timestamp with time zone" [not null, default: `now()`]
70
+ updated_at "timestamp with time zone" [not null, default: `now()`]
71
+
72
+ indexes {
73
+ (id, provider_id, user_id) [pk]
74
+ }
75
+ }
76
+
77
+ table ai_providers {
78
+ id varchar(64) [not null]
79
+ name text
80
+ user_id text [not null]
81
+ sort integer
82
+ enabled boolean
83
+ fetch_on_client boolean
84
+ check_model text
85
+ logo text
86
+ description text
87
+ key_vaults text
88
+ source varchar(20)
89
+ settings jsonb
90
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
91
+ created_at "timestamp with time zone" [not null, default: `now()`]
92
+ updated_at "timestamp with time zone" [not null, default: `now()`]
93
+
94
+ indexes {
95
+ (id, user_id) [pk]
96
+ }
97
+ }
98
+
99
+ table async_tasks {
100
+ id uuid [pk, not null, default: `gen_random_uuid()`]
101
+ type text
102
+ status text
103
+ error jsonb
104
+ user_id text [not null]
105
+ duration integer
106
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
107
+ created_at "timestamp with time zone" [not null, default: `now()`]
108
+ updated_at "timestamp with time zone" [not null, default: `now()`]
109
+ }
110
+
111
+ table files {
112
+ id text [pk, not null]
113
+ user_id text [not null]
114
+ file_type varchar(255) [not null]
115
+ file_hash varchar(64)
116
+ name text [not null]
117
+ size integer [not null]
118
+ url text [not null]
119
+ metadata jsonb
120
+ chunk_task_id uuid
121
+ embedding_task_id uuid
122
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
123
+ created_at "timestamp with time zone" [not null, default: `now()`]
124
+ updated_at "timestamp with time zone" [not null, default: `now()`]
125
+ }
126
+
127
+ table global_files {
128
+ hash_id varchar(64) [pk, not null]
129
+ file_type varchar(255) [not null]
130
+ size integer [not null]
131
+ url text [not null]
132
+ metadata jsonb
133
+ created_at "timestamp with time zone" [not null, default: `now()`]
134
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
135
+ }
136
+
137
+ table knowledge_base_files {
138
+ knowledge_base_id text [not null]
139
+ file_id text [not null]
140
+ created_at "timestamp with time zone" [not null, default: `now()`]
141
+
142
+ indexes {
143
+ (knowledge_base_id, file_id) [pk]
144
+ }
145
+ }
146
+
147
+ table knowledge_bases {
148
+ id text [pk, not null]
149
+ name text [not null]
150
+ description text
151
+ avatar text
152
+ type text
153
+ user_id text [not null]
154
+ is_public boolean [default: false]
155
+ settings jsonb
156
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
157
+ created_at "timestamp with time zone" [not null, default: `now()`]
158
+ updated_at "timestamp with time zone" [not null, default: `now()`]
159
+ }
160
+
161
+ table message_chunks {
162
+ message_id text
163
+ chunk_id uuid
164
+
165
+ indexes {
166
+ (chunk_id, message_id) [pk]
167
+ }
168
+ }
169
+
170
+ table message_plugins {
171
+ id text [pk, not null]
172
+ tool_call_id text
173
+ type text [default: 'default']
174
+ api_name text
175
+ arguments text
176
+ identifier text
177
+ state jsonb
178
+ error jsonb
179
+ }
180
+
181
+ table message_queries {
182
+ id uuid [pk, not null, default: `gen_random_uuid()`]
183
+ message_id text [not null]
184
+ rewrite_query text
185
+ user_query text
186
+ embeddings_id uuid
187
+ }
188
+
189
+ table message_query_chunks {
190
+ id text
191
+ query_id uuid
192
+ chunk_id uuid
193
+ similarity "numeric(6, 5)"
194
+
195
+ indexes {
196
+ (chunk_id, id, query_id) [pk]
197
+ }
198
+ }
199
+
200
+ table message_tts {
201
+ id text [pk, not null]
202
+ content_md5 text
203
+ file_id text
204
+ voice text
205
+ }
206
+
207
+ table message_translates {
208
+ id text [pk, not null]
209
+ content text
210
+ from text
211
+ to text
212
+ }
213
+
214
+ table messages {
215
+ id text [pk, not null]
216
+ role text [not null]
217
+ content text
218
+ reasoning jsonb
219
+ search jsonb
220
+ metadata jsonb
221
+ model text
222
+ provider text
223
+ favorite boolean [default: false]
224
+ error jsonb
225
+ tools jsonb
226
+ trace_id text
227
+ observation_id text
228
+ client_id text
229
+ user_id text [not null]
230
+ session_id text
231
+ topic_id text
232
+ thread_id text
233
+ parent_id text
234
+ quota_id text
235
+ agent_id text
236
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
237
+ created_at "timestamp with time zone" [not null, default: `now()`]
238
+ updated_at "timestamp with time zone" [not null, default: `now()`]
239
+
240
+ indexes {
241
+ created_at [name: 'messages_created_at_idx']
242
+ (client_id, user_id) [name: 'message_client_id_user_unique', unique]
243
+ topic_id [name: 'messages_topic_id_idx']
244
+ parent_id [name: 'messages_parent_id_idx']
245
+ quota_id [name: 'messages_quota_id_idx']
246
+ }
247
+ }
248
+
249
+ table messages_files {
250
+ file_id text [not null]
251
+ message_id text [not null]
252
+
253
+ indexes {
254
+ (file_id, message_id) [pk]
255
+ }
256
+ }
257
+
258
+ table nextauth_accounts {
259
+ access_token text
260
+ expires_at integer
261
+ id_token text
262
+ provider text [not null]
263
+ providerAccountId text [not null]
264
+ refresh_token text
265
+ scope text
266
+ session_state text
267
+ token_type text
268
+ type text [not null]
269
+ userId text [not null]
270
+
271
+ indexes {
272
+ (provider, providerAccountId) [pk]
273
+ }
274
+ }
275
+
276
+ table nextauth_authenticators {
277
+ counter integer [not null]
278
+ credentialBackedUp boolean [not null]
279
+ credentialDeviceType text [not null]
280
+ credentialID text [not null, unique]
281
+ credentialPublicKey text [not null]
282
+ providerAccountId text [not null]
283
+ transports text
284
+ userId text [not null]
285
+
286
+ indexes {
287
+ (userId, credentialID) [pk]
288
+ }
289
+ }
290
+
291
+ table nextauth_sessions {
292
+ expires timestamp [not null]
293
+ sessionToken text [pk, not null]
294
+ userId text [not null]
295
+ }
296
+
297
+ table nextauth_verificationtokens {
298
+ expires timestamp [not null]
299
+ identifier text [not null]
300
+ token text [not null]
301
+
302
+ indexes {
303
+ (identifier, token) [pk]
304
+ }
305
+ }
306
+
307
+ table chunks {
308
+ id uuid [pk, not null, default: `gen_random_uuid()`]
309
+ text text
310
+ abstract text
311
+ metadata jsonb
312
+ index integer
313
+ type varchar
314
+ user_id text
315
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
316
+ created_at "timestamp with time zone" [not null, default: `now()`]
317
+ updated_at "timestamp with time zone" [not null, default: `now()`]
318
+ }
319
+
320
+ table embeddings {
321
+ id uuid [pk, not null, default: `gen_random_uuid()`]
322
+ chunk_id uuid [unique]
323
+ embeddings vector(1024)
324
+ model text
325
+ user_id text
326
+ }
327
+
328
+ table unstructured_chunks {
329
+ id uuid [pk, not null, default: `gen_random_uuid()`]
330
+ text text
331
+ metadata jsonb
332
+ index integer
333
+ type varchar
334
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
335
+ created_at "timestamp with time zone" [not null, default: `now()`]
336
+ updated_at "timestamp with time zone" [not null, default: `now()`]
337
+ parent_id varchar
338
+ composite_id uuid
339
+ user_id text
340
+ file_id varchar
341
+ }
342
+
343
+ table rag_eval_dataset_records {
344
+ id integer [pk, not null]
345
+ dataset_id integer [not null]
346
+ ideal text
347
+ question text
348
+ reference_files text[]
349
+ metadata jsonb
350
+ user_id text
351
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
352
+ created_at "timestamp with time zone" [not null, default: `now()`]
353
+ updated_at "timestamp with time zone" [not null, default: `now()`]
354
+ }
355
+
356
+ table rag_eval_datasets {
357
+ id integer [pk, not null]
358
+ description text
359
+ name text [not null]
360
+ knowledge_base_id text
361
+ user_id text
362
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
363
+ created_at "timestamp with time zone" [not null, default: `now()`]
364
+ updated_at "timestamp with time zone" [not null, default: `now()`]
365
+ }
366
+
367
+ table rag_eval_evaluations {
368
+ id integer [pk, not null]
369
+ name text [not null]
370
+ description text
371
+ eval_records_url text
372
+ status text
373
+ error jsonb
374
+ dataset_id integer [not null]
375
+ knowledge_base_id text
376
+ language_model text
377
+ embedding_model text
378
+ user_id text
379
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
380
+ created_at "timestamp with time zone" [not null, default: `now()`]
381
+ updated_at "timestamp with time zone" [not null, default: `now()`]
382
+ }
383
+
384
+ table rag_eval_evaluation_records {
385
+ id integer [pk, not null]
386
+ question text [not null]
387
+ answer text
388
+ context text[]
389
+ ideal text
390
+ status text
391
+ error jsonb
392
+ language_model text
393
+ embedding_model text
394
+ question_embedding_id uuid
395
+ duration integer
396
+ dataset_record_id integer [not null]
397
+ evaluation_id integer [not null]
398
+ user_id text
399
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
400
+ created_at "timestamp with time zone" [not null, default: `now()`]
401
+ updated_at "timestamp with time zone" [not null, default: `now()`]
402
+ }
403
+
404
+ table agents_to_sessions {
405
+ agent_id text [not null]
406
+ session_id text [not null]
407
+
408
+ indexes {
409
+ (agent_id, session_id) [pk]
410
+ }
411
+ }
412
+
413
+ table file_chunks {
414
+ file_id varchar
415
+ chunk_id uuid
416
+ created_at "timestamp with time zone" [not null, default: `now()`]
417
+
418
+ indexes {
419
+ (file_id, chunk_id) [pk]
420
+ }
421
+ }
422
+
423
+ table files_to_sessions {
424
+ file_id text [not null]
425
+ session_id text [not null]
426
+
427
+ indexes {
428
+ (file_id, session_id) [pk]
429
+ }
430
+ }
431
+
432
+ table session_groups {
433
+ id text [pk, not null]
434
+ name text [not null]
435
+ sort integer
436
+ user_id text [not null]
437
+ client_id text
438
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
439
+ created_at "timestamp with time zone" [not null, default: `now()`]
440
+ updated_at "timestamp with time zone" [not null, default: `now()`]
441
+
442
+ indexes {
443
+ (client_id, user_id) [name: 'session_group_client_id_user_unique', unique]
444
+ }
445
+ }
446
+
447
+ table sessions {
448
+ id text [pk, not null]
449
+ slug varchar(100) [not null]
450
+ title text
451
+ description text
452
+ avatar text
453
+ background_color text
454
+ type text [default: 'agent']
455
+ user_id text [not null]
456
+ group_id text
457
+ client_id text
458
+ pinned boolean [default: false]
459
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
460
+ created_at "timestamp with time zone" [not null, default: `now()`]
461
+ updated_at "timestamp with time zone" [not null, default: `now()`]
462
+
463
+ indexes {
464
+ (slug, user_id) [name: 'slug_user_id_unique', unique]
465
+ (client_id, user_id) [name: 'sessions_client_id_user_id_unique', unique]
466
+ }
467
+ }
468
+
469
+ table threads {
470
+ id text [pk, not null]
471
+ title text
472
+ type text [not null]
473
+ status text [default: 'active']
474
+ topic_id text [not null]
475
+ source_message_id text [not null]
476
+ parent_thread_id text
477
+ user_id text [not null]
478
+ last_active_at "timestamp with time zone" [default: `now()`]
479
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
480
+ created_at "timestamp with time zone" [not null, default: `now()`]
481
+ updated_at "timestamp with time zone" [not null, default: `now()`]
482
+ }
483
+
484
+ table topics {
485
+ id text [pk, not null]
486
+ title text
487
+ favorite boolean [default: false]
488
+ session_id text
489
+ user_id text [not null]
490
+ client_id text
491
+ history_summary text
492
+ metadata jsonb
493
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
494
+ created_at "timestamp with time zone" [not null, default: `now()`]
495
+ updated_at "timestamp with time zone" [not null, default: `now()`]
496
+
497
+ indexes {
498
+ (client_id, user_id) [name: 'topic_client_id_user_id_unique', unique]
499
+ }
500
+ }
501
+
502
+ table user_installed_plugins {
503
+ user_id text [not null]
504
+ identifier text [not null]
505
+ type text [not null]
506
+ manifest jsonb
507
+ settings jsonb
508
+ custom_params jsonb
509
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
510
+ created_at "timestamp with time zone" [not null, default: `now()`]
511
+ updated_at "timestamp with time zone" [not null, default: `now()`]
512
+
513
+ indexes {
514
+ (user_id, identifier) [pk]
515
+ }
516
+ }
517
+
518
+ table user_settings {
519
+ id text [pk, not null]
520
+ tts jsonb
521
+ key_vaults text
522
+ general jsonb
523
+ language_model jsonb
524
+ system_agent jsonb
525
+ default_agent jsonb
526
+ tool jsonb
527
+ }
528
+
529
+ table users {
530
+ id text [pk, not null]
531
+ username text [unique]
532
+ email text
533
+ avatar text
534
+ phone text
535
+ first_name text
536
+ last_name text
537
+ full_name text
538
+ is_onboarded boolean [default: false]
539
+ clerk_created_at "timestamp with time zone"
540
+ email_verified_at "timestamp with time zone"
541
+ preference jsonb
542
+ accessed_at "timestamp with time zone" [not null, default: `now()`]
543
+ created_at "timestamp with time zone" [not null, default: `now()`]
544
+ updated_at "timestamp with time zone" [not null, default: `now()`]
545
+ }
546
+
547
+ ref: agents_knowledge_bases.knowledge_base_id - knowledge_bases.id
548
+
549
+ ref: agents_knowledge_bases.agent_id > agents.id
550
+
551
+ ref: agents_to_sessions.session_id > sessions.id
552
+
553
+ ref: agents_to_sessions.agent_id > agents.id
554
+
555
+ ref: unstructured_chunks.file_id - files.id
556
+
557
+ ref: files.embedding_task_id - async_tasks.id
558
+
559
+ ref: messages.session_id - sessions.id
560
+
561
+ ref: messages.parent_id - messages.id
562
+
563
+ ref: messages.topic_id - topics.id
564
+
565
+ ref: threads.source_message_id - messages.id
566
+
567
+ ref: sessions.group_id - session_groups.id
568
+
569
+ ref: topics.session_id - sessions.id
@@ -833,6 +833,9 @@
833
833
  "gemini-2.0-flash-001": {
834
834
  "description": "Gemini 2.0 Flash يقدم ميزات وتحسينات من الجيل التالي، بما في ذلك سرعة فائقة، واستخدام أدوات أصلية، وتوليد متعدد الوسائط، ونافذة سياق تصل إلى 1M توكن."
835
835
  },
836
+ "gemini-2.0-flash-exp": {
837
+ "description": "نموذج جمنيس 2.0 فلاش، تم تحسينه لتحقيق أهداف مثل الكفاءة من حيث التكلفة وانخفاض الكمون."
838
+ },
836
839
  "gemini-2.0-flash-lite": {
837
840
  "description": "نموذج جمنّي 2.0 فلاش هو نسخة معدلة، تم تحسينها لتحقيق الكفاءة من حيث التكلفة والحد من التأخير."
838
841
  },
@@ -833,6 +833,9 @@
833
833
  "gemini-2.0-flash-001": {
834
834
  "description": "Gemini 2.0 Flash предлага следващо поколение функции и подобрения, включително изключителна скорост, нативна употреба на инструменти, многомодално генериране и контекстен прозорец от 1M токена."
835
835
  },
836
+ "gemini-2.0-flash-exp": {
837
+ "description": "Gemini 2.0 Flash моделна вариация, оптимизирана за икономичност и ниска латентност."
838
+ },
836
839
  "gemini-2.0-flash-lite": {
837
840
  "description": "Gemini 2.0 Flash е вариант на модела, оптимизиран за икономичност и ниска латентност."
838
841
  },
@@ -833,6 +833,9 @@
833
833
  "gemini-2.0-flash-001": {
834
834
  "description": "Gemini 2.0 Flash bietet nächste Generation Funktionen und Verbesserungen, einschließlich außergewöhnlicher Geschwindigkeit, nativer Werkzeugnutzung, multimodaler Generierung und einem Kontextfenster von 1M Tokens."
835
835
  },
836
+ "gemini-2.0-flash-exp": {
837
+ "description": "Gemini 2.0 Flash-Modellvariante, die auf Kosteneffizienz und niedrige Latenz optimiert ist."
838
+ },
836
839
  "gemini-2.0-flash-lite": {
837
840
  "description": "Gemini 2.0 Flash ist eine Modellvariante, die auf Kosteneffizienz und niedrige Latenz optimiert ist."
838
841
  },
@@ -833,6 +833,9 @@
833
833
  "gemini-2.0-flash-001": {
834
834
  "description": "Gemini 2.0 Flash offers next-generation features and improvements, including exceptional speed, native tool usage, multimodal generation, and a 1M token context window."
835
835
  },
836
+ "gemini-2.0-flash-exp": {
837
+ "description": "Gemini 2.0 Flash model variant optimized for cost-effectiveness and low latency."
838
+ },
836
839
  "gemini-2.0-flash-lite": {
837
840
  "description": "Gemini 2.0 Flash is a variant of the model optimized for cost-effectiveness and low latency."
838
841
  },
@@ -833,6 +833,9 @@
833
833
  "gemini-2.0-flash-001": {
834
834
  "description": "Gemini 2.0 Flash ofrece funciones y mejoras de próxima generación, incluyendo velocidad excepcional, uso de herramientas nativas, generación multimodal y una ventana de contexto de 1M tokens."
835
835
  },
836
+ "gemini-2.0-flash-exp": {
837
+ "description": "Variante del modelo Gemini 2.0 Flash, optimizada para objetivos como la rentabilidad y la baja latencia."
838
+ },
836
839
  "gemini-2.0-flash-lite": {
837
840
  "description": "Variante del modelo Gemini 2.0 Flash, optimizada para objetivos como la rentabilidad y la baja latencia."
838
841
  },
@@ -833,6 +833,9 @@
833
833
  "gemini-2.0-flash-001": {
834
834
  "description": "Gemini 2.0 Flash ویژگی‌ها و بهبودهای نسل بعدی را ارائه می‌دهد، از جمله سرعت عالی، استفاده از ابزارهای بومی، تولید چندرسانه‌ای و پنجره متن 1M توکن."
835
835
  },
836
+ "gemini-2.0-flash-exp": {
837
+ "description": "مدل متغیر Gemini 2.0 Flash که برای بهینه‌سازی هزینه و تأخیر کم طراحی شده است."
838
+ },
836
839
  "gemini-2.0-flash-lite": {
837
840
  "description": "مدل متغیر Gemini 2.0 Flash برای بهینه‌سازی هزینه و تأخیر کم طراحی شده است."
838
841
  },
@@ -833,6 +833,9 @@
833
833
  "gemini-2.0-flash-001": {
834
834
  "description": "Gemini 2.0 Flash propose des fonctionnalités et des améliorations de nouvelle génération, y compris une vitesse exceptionnelle, l'utilisation d'outils natifs, la génération multimodale et une fenêtre de contexte de 1M tokens."
835
835
  },
836
+ "gemini-2.0-flash-exp": {
837
+ "description": "Modèle variant Gemini 2.0 Flash, optimisé pour des objectifs tels que le rapport coût-efficacité et la faible latence."
838
+ },
836
839
  "gemini-2.0-flash-lite": {
837
840
  "description": "Une variante du modèle Gemini 2.0 Flash, optimisée pour des objectifs tels que le rapport coût-efficacité et la faible latence."
838
841
  },
@@ -833,6 +833,9 @@
833
833
  "gemini-2.0-flash-001": {
834
834
  "description": "Gemini 2.0 Flash offre funzionalità e miglioramenti di nuova generazione, tra cui velocità eccezionale, utilizzo di strumenti nativi, generazione multimodale e una finestra di contesto di 1M token."
835
835
  },
836
+ "gemini-2.0-flash-exp": {
837
+ "description": "Gemini 2.0 Flash è una variante del modello ottimizzata per obiettivi come il rapporto costo-efficacia e la bassa latenza."
838
+ },
836
839
  "gemini-2.0-flash-lite": {
837
840
  "description": "Gemini 2.0 Flash è una variante del modello Flash, ottimizzata per obiettivi come il rapporto costo-efficacia e la bassa latenza."
838
841
  },
@@ -833,6 +833,9 @@
833
833
  "gemini-2.0-flash-001": {
834
834
  "description": "Gemini 2.0 Flashは、卓越した速度、ネイティブツールの使用、マルチモーダル生成、1Mトークンのコンテキストウィンドウを含む次世代の機能と改善を提供します。"
835
835
  },
836
+ "gemini-2.0-flash-exp": {
837
+ "description": "Gemini 2.0 Flash モデルのバリアントで、コスト効率と低遅延などの目標に最適化されています。"
838
+ },
836
839
  "gemini-2.0-flash-lite": {
837
840
  "description": "Gemini 2.0 Flashモデルのバリアントで、コスト効率と低遅延などの目標に最適化されています。"
838
841
  },
@@ -833,6 +833,9 @@
833
833
  "gemini-2.0-flash-001": {
834
834
  "description": "Gemini 2.0 Flash는 뛰어난 속도, 원주율 도구 사용, 다중 모달 생성 및 1M 토큰 문맥 창을 포함한 차세대 기능과 개선 사항을 제공합니다."
835
835
  },
836
+ "gemini-2.0-flash-exp": {
837
+ "description": "Gemini 2.0 Flash 모델 변형으로, 비용 효율성과 저지연 등의 목표를 위해 최적화되었습니다."
838
+ },
836
839
  "gemini-2.0-flash-lite": {
837
840
  "description": "Gemini 2.0 플래시 모델 변형으로, 비용 효율성과 낮은 지연 시간 등의 목표를 위해 최적화되었습니다."
838
841
  },
@@ -833,6 +833,9 @@
833
833
  "gemini-2.0-flash-001": {
834
834
  "description": "Gemini 2.0 Flash biedt next-gen functies en verbeteringen, waaronder uitstekende snelheid, native toolgebruik, multimodale generatie en een contextvenster van 1M tokens."
835
835
  },
836
+ "gemini-2.0-flash-exp": {
837
+ "description": "Gemini 2.0 Flash modelvariant, geoptimaliseerd voor kosteneffectiviteit en lage latentie."
838
+ },
836
839
  "gemini-2.0-flash-lite": {
837
840
  "description": "Gemini 2.0 Flash is een modelvariant die is geoptimaliseerd voor kosteneffectiviteit en lage latentie."
838
841
  },
@@ -833,6 +833,9 @@
833
833
  "gemini-2.0-flash-001": {
834
834
  "description": "Gemini 2.0 Flash oferuje funkcje i ulepszenia nowej generacji, w tym doskonałą prędkość, natywne korzystanie z narzędzi, generowanie multimodalne oraz okno kontekstowe o długości 1M tokenów."
835
835
  },
836
+ "gemini-2.0-flash-exp": {
837
+ "description": "Gemini 2.0 Flash to wariant modelu, zoptymalizowany pod kątem efektywności kosztowej i niskiego opóźnienia."
838
+ },
836
839
  "gemini-2.0-flash-lite": {
837
840
  "description": "Gemini 2.0 Flash to wariant modelu, zoptymalizowany pod kątem efektywności kosztowej i niskiego opóźnienia."
838
841
  },