@lobehub/chat 1.24.1 → 1.25.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 (51) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/locales/ar/chat.json +2 -1
  3. package/locales/ar/models.json +12 -9
  4. package/locales/bg-BG/chat.json +2 -1
  5. package/locales/bg-BG/models.json +12 -9
  6. package/locales/de-DE/chat.json +2 -1
  7. package/locales/de-DE/models.json +12 -9
  8. package/locales/en-US/chat.json +2 -1
  9. package/locales/en-US/models.json +12 -9
  10. package/locales/es-ES/chat.json +2 -1
  11. package/locales/es-ES/models.json +12 -9
  12. package/locales/fr-FR/chat.json +2 -1
  13. package/locales/fr-FR/models.json +12 -9
  14. package/locales/it-IT/chat.json +2 -1
  15. package/locales/it-IT/models.json +12 -9
  16. package/locales/ja-JP/chat.json +2 -1
  17. package/locales/ja-JP/models.json +12 -9
  18. package/locales/ko-KR/chat.json +2 -1
  19. package/locales/ko-KR/models.json +12 -9
  20. package/locales/nl-NL/chat.json +2 -1
  21. package/locales/nl-NL/models.json +12 -9
  22. package/locales/pl-PL/chat.json +2 -1
  23. package/locales/pl-PL/models.json +12 -9
  24. package/locales/pt-BR/chat.json +2 -1
  25. package/locales/pt-BR/models.json +12 -9
  26. package/locales/ru-RU/chat.json +2 -1
  27. package/locales/ru-RU/models.json +12 -9
  28. package/locales/tr-TR/chat.json +2 -1
  29. package/locales/tr-TR/models.json +12 -9
  30. package/locales/vi-VN/chat.json +2 -1
  31. package/locales/vi-VN/models.json +12 -9
  32. package/locales/zh-CN/chat.json +2 -1
  33. package/locales/zh-CN/models.json +12 -9
  34. package/locales/zh-TW/chat.json +2 -1
  35. package/locales/zh-TW/models.json +12 -9
  36. package/package.json +1 -1
  37. package/src/app/(main)/@nav/_layout/Desktop/index.tsx +12 -6
  38. package/src/app/(main)/chat/(workspace)/@conversation/default.tsx +2 -0
  39. package/src/app/(main)/chat/(workspace)/@conversation/features/ZenModeToast/Toast.tsx +87 -0
  40. package/src/app/(main)/chat/(workspace)/@conversation/features/ZenModeToast/index.tsx +16 -0
  41. package/src/app/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/index.tsx +18 -7
  42. package/src/app/(main)/chat/(workspace)/_layout/Desktop/HotKeys.tsx +10 -6
  43. package/src/app/(main)/chat/(workspace)/_layout/Desktop/TopicPanel.tsx +4 -4
  44. package/src/app/(main)/chat/_layout/Desktop/index.tsx +1 -1
  45. package/src/config/modelProviders/google.ts +16 -1
  46. package/src/const/hotkeys.ts +7 -1
  47. package/src/locales/default/chat.ts +1 -0
  48. package/src/store/global/action.test.ts +162 -0
  49. package/src/store/global/action.ts +7 -0
  50. package/src/store/global/initialState.ts +2 -0
  51. package/src/store/global/selectors.ts +6 -2
@@ -68,9 +68,6 @@
68
68
  "Gryphe/MythoMax-L2-13b": {
69
69
  "description": "MythoMax-L2 (13B), çok alanlı uygulamalar ve karmaşık görevler için uygun yenilikçi bir modeldir."
70
70
  },
71
- "Max-32k": {
72
- "description": "Spark Max 32K, büyük bağlam işleme yeteneği, daha güçlü bağlam anlama ve mantıksal akıl yürütme yeteneği ile donatılmıştır. 32K token'lık metin girişi destekler ve uzun belgelerin okunması, özel bilgi sorgulamaları gibi senaryolar için uygundur."
73
- },
74
71
  "Nous-Hermes-2-Mixtral-8x7B-DPO": {
75
72
  "description": "Hermes 2 Mixtral 8x7B DPO, olağanüstü yaratıcı deneyimler sunmak için tasarlanmış son derece esnek bir çoklu model birleşimidir."
76
73
  },
@@ -110,9 +107,6 @@
110
107
  "Phi-3.5-vision-instrust": {
111
108
  "description": "Phi-3-görsel modelinin güncellenmiş versiyonu."
112
109
  },
113
- "Pro-128k": {
114
- "description": "Spark Pro-128K, olağanüstü bağlam işleme yeteneği ile donatılmıştır, 128K'ya kadar bağlam bilgisi işleyebilir, özellikle uzun metin içeriklerinde bütünsel analiz ve uzun vadeli mantıksal bağlantı işleme gerektiren durumlar için uygundur, karmaşık metin iletişiminde akıcı ve tutarlı bir mantık ile çeşitli alıntı desteği sunar."
115
- },
116
110
  "Pro/OpenGVLab/InternVL2-8B": {
117
111
  "description": "InternVL2, belgelere ve grafiklere anlama, sahne metni anlama, OCR, bilimsel ve matematik soruları çözme gibi çeşitli görsel dil görevlerinde mükemmel performans sergilemiştir."
118
112
  },
@@ -278,6 +272,9 @@
278
272
  "anthropic.claude-3-5-sonnet-20240620-v1:0": {
279
273
  "description": "Claude 3.5 Sonnet, endüstri standartlarını yükselterek, rakip modelleri ve Claude 3 Opus'u geride bırakarak geniş bir değerlendirmede mükemmel performans sergilerken, orta seviye modellerimizin hızı ve maliyeti ile birlikte gelir."
280
274
  },
275
+ "anthropic.claude-3-5-sonnet-20241022-v2:0": {
276
+ "description": "Claude 3.5 Sonnet, sektör standartlarını yükselterek, rakip modelleri ve Claude 3 Opus'u geride bırakarak, geniş bir değerlendirme yelpazesinde mükemmel performans sergilemekte, orta seviye modellerimizin hız ve maliyet avantajlarını sunmaktadır."
277
+ },
281
278
  "anthropic.claude-3-haiku-20240307-v1:0": {
282
279
  "description": "Claude 3 Haiku, Anthropic'in en hızlı ve en kompakt modelidir, neredeyse anında yanıt hızı sunar. Basit sorgular ve taleplere hızlı bir şekilde yanıt verebilir. Müşteriler, insan etkileşimini taklit eden kesintisiz bir AI deneyimi oluşturabileceklerdir. Claude 3 Haiku, görüntüleri işleyebilir ve metin çıktısı döndürebilir, 200K bağlam penceresine sahiptir."
283
280
  },
@@ -467,9 +464,6 @@
467
464
  "gemma2:2b": {
468
465
  "description": "Gemma 2, Google tarafından sunulan verimli bir modeldir, küçük uygulamalardan karmaşık veri işleme senaryolarına kadar çeşitli uygulama alanlarını kapsar."
469
466
  },
470
- "general": {
471
- "description": "Spark Lite, son derece düşük gecikme ve yüksek verimlilik sunan hafif bir büyük dil modelidir, tamamen ücretsiz ve açık olup, gerçek zamanlı çevrimiçi arama işlevini destekler. Hızlı yanıt verme özelliği, düşük hesaplama gücüne sahip cihazlarda çıkarım uygulamaları ve model ince ayarlarında mükemmel performans gösterir, kullanıcılara mükemmel maliyet etkinliği ve akıllı deneyim sunar, özellikle bilgi sorgulama, içerik oluşturma ve arama senaryolarında başarılıdır."
472
- },
473
467
  "generalv3": {
474
468
  "description": "Spark Pro, profesyonel alanlar için optimize edilmiş yüksek performanslı büyük dil modelidir, matematik, programlama, sağlık, eğitim gibi birçok alana odaklanır ve çevrimiçi arama ile yerleşik hava durumu, tarih gibi eklentileri destekler. Optimize edilmiş modeli, karmaşık bilgi sorgulama, dil anlama ve yüksek düzeyde metin oluşturma konularında mükemmel performans ve yüksek verimlilik sergiler, profesyonel uygulama senaryoları için ideal bir seçimdir."
475
469
  },
@@ -625,6 +619,9 @@
625
619
  },
626
620
  "jamba-1.5-large": {},
627
621
  "jamba-1.5-mini": {},
622
+ "lite": {
623
+ "description": "Spark Lite, son derece düşük gecikme süresi ve yüksek verimlilikle çalışan hafif bir büyük dil modelidir. Tamamen ücretsiz ve açık olup, gerçek zamanlı çevrimiçi arama işlevini desteklemektedir. Hızlı yanıt verme özelliği, düşük hesaplama gücüne sahip cihazlarda çıkarım uygulamaları ve model ince ayarlarında mükemmel performans sergileyerek, kullanıcılara maliyet etkinliği ve akıllı deneyim sunmakta, özellikle bilgi sorgulama, içerik oluşturma ve arama senaryolarında başarılı olmaktadır."
624
+ },
628
625
  "llama-3.1-70b-instruct": {
629
626
  "description": "Llama 3.1 70B Instruct modeli, 70B parametreye sahiptir ve büyük metin üretimi ve talimat görevlerinde mükemmel performans sunar."
630
627
  },
@@ -700,6 +697,9 @@
700
697
  "mathstral": {
701
698
  "description": "MathΣtral, bilimsel araştırma ve matematik akıl yürütme için tasarlanmış, etkili hesaplama yetenekleri ve sonuç açıklamaları sunar."
702
699
  },
700
+ "max-32k": {
701
+ "description": "Spark Max 32K, büyük bağlam işleme yeteneği ile donatılmıştır ve daha güçlü bağlam anlama ve mantıksal çıkarım yetenekleri sunmaktadır. 32K token'lık metin girişi desteklemekte olup, uzun belgelerin okunması, özel bilgi sorgulama gibi senaryolar için uygundur."
702
+ },
703
703
  "meta-llama-3-70b-instruct": {
704
704
  "description": "Akıl yürütme, kodlama ve geniş dil uygulamalarında mükemmel bir 70 milyar parametreli model."
705
705
  },
@@ -940,6 +940,9 @@
940
940
  "pixtral-12b-2409": {
941
941
  "description": "Pixtral modeli, grafik ve görüntü anlama, belge yanıtı, çok modlu akıl yürütme ve talimat takibi gibi görevlerde güçlü yetenekler sergiler, doğal çözünürlük ve en boy oranında görüntüleri alabilir ve 128K token uzunluğunda bir bağlam penceresinde herhangi bir sayıda görüntüyü işleyebilir."
942
942
  },
943
+ "pro-128k": {
944
+ "description": "Spark Pro 128K, olağanüstü bağlam işleme yeteneği ile donatılmıştır ve 128K'ya kadar bağlam bilgilerini işleyebilir. Özellikle uzun metinlerin bütünsel analizi ve uzun vadeli mantıksal ilişkilerin işlenmesi gereken durumlar için uygundur ve karmaşık metin iletişiminde akıcı ve tutarlı bir mantık ile çeşitli alıntı desteği sunmaktadır."
945
+ },
943
946
  "qwen-coder-turbo-latest": {
944
947
  "description": "Tongyi Qianwen kodlama modeli."
945
948
  },
@@ -184,5 +184,6 @@
184
184
  "processing": "Đang xử lý tệp..."
185
185
  }
186
186
  }
187
- }
187
+ },
188
+ "zenMode": "Chế độ tập trung"
188
189
  }
@@ -68,9 +68,6 @@
68
68
  "Gryphe/MythoMax-L2-13b": {
69
69
  "description": "MythoMax-L2 (13B) là một mô hình sáng tạo, phù hợp cho nhiều lĩnh vực ứng dụng và nhiệm vụ phức tạp."
70
70
  },
71
- "Max-32k": {
72
- "description": "Spark Max 32K được cấu hình với khả năng xử lý ngữ cảnh lớn, khả năng hiểu ngữ cảnh và lý luận logic mạnh mẽ hơn, hỗ trợ đầu vào văn bản 32K token, phù hợp cho việc đọc tài liệu dài, hỏi đáp kiến thức riêng tư và các tình huống khác."
73
- },
74
71
  "Nous-Hermes-2-Mixtral-8x7B-DPO": {
75
72
  "description": "Hermes 2 Mixtral 8x7B DPO là một mô hình kết hợp đa dạng, nhằm cung cấp trải nghiệm sáng tạo xuất sắc."
76
73
  },
@@ -110,9 +107,6 @@
110
107
  "Phi-3.5-vision-instrust": {
111
108
  "description": "Phi-3-vision là phiên bản cập nhật của mô hình."
112
109
  },
113
- "Pro-128k": {
114
- "description": "Spark Pro-128K được cấu hình với khả năng xử lý ngữ cảnh cực lớn, có thể xử lý tới 128K thông tin ngữ cảnh, đặc biệt phù hợp cho việc phân tích toàn bộ và xử lý mối liên hệ logic lâu dài trong nội dung văn bản dài, có thể cung cấp logic mạch lạc và hỗ trợ trích dẫn đa dạng trong giao tiếp văn bản phức tạp."
115
- },
116
110
  "Pro/OpenGVLab/InternVL2-8B": {
117
111
  "description": "InternVL2 đã thể hiện hiệu suất xuất sắc trong nhiều tác vụ ngôn ngữ hình ảnh, bao gồm hiểu tài liệu và biểu đồ, hiểu văn bản trong cảnh, OCR, giải quyết vấn đề khoa học và toán học."
118
112
  },
@@ -278,6 +272,9 @@
278
272
  "anthropic.claude-3-5-sonnet-20240620-v1:0": {
279
273
  "description": "Claude 3.5 Sonnet nâng cao tiêu chuẩn ngành, hiệu suất vượt trội hơn các mô hình cạnh tranh và Claude 3 Opus, thể hiện xuất sắc trong nhiều đánh giá, đồng thời có tốc độ và chi phí của mô hình tầm trung của chúng tôi."
280
274
  },
275
+ "anthropic.claude-3-5-sonnet-20241022-v2:0": {
276
+ "description": "Claude 3.5 Sonnet nâng cao tiêu chuẩn ngành, hiệu suất vượt trội so với các mô hình đối thủ và Claude 3 Opus, thể hiện xuất sắc trong các đánh giá rộng rãi, đồng thời có tốc độ và chi phí tương đương với các mô hình tầm trung của chúng tôi."
277
+ },
281
278
  "anthropic.claude-3-haiku-20240307-v1:0": {
282
279
  "description": "Claude 3 Haiku là mô hình nhanh nhất và gọn nhẹ nhất của Anthropic, cung cấp tốc độ phản hồi gần như ngay lập tức. Nó có thể nhanh chóng trả lời các truy vấn và yêu cầu đơn giản. Khách hàng sẽ có thể xây dựng trải nghiệm AI liền mạch mô phỏng tương tác của con người. Claude 3 Haiku có thể xử lý hình ảnh và trả về đầu ra văn bản, với cửa sổ ngữ cảnh 200K."
283
280
  },
@@ -467,9 +464,6 @@
467
464
  "gemma2:2b": {
468
465
  "description": "Gemma 2 là mô hình hiệu quả do Google phát hành, bao gồm nhiều ứng dụng từ nhỏ đến xử lý dữ liệu phức tạp."
469
466
  },
470
- "general": {
471
- "description": "Spark Lite là một mô hình ngôn ngữ lớn nhẹ, có độ trễ cực thấp và khả năng xử lý hiệu quả, hoàn toàn miễn phí và mở, hỗ trợ chức năng tìm kiếm trực tuyến theo thời gian thực. Đặc điểm phản hồi nhanh giúp nó thể hiện xuất sắc trong các ứng dụng suy luận trên thiết bị có công suất thấp và tinh chỉnh mô hình, mang lại hiệu quả chi phí và trải nghiệm thông minh xuất sắc cho người dùng, đặc biệt trong các tình huống hỏi đáp kiến thức, tạo nội dung và tìm kiếm."
472
- },
473
467
  "generalv3": {
474
468
  "description": "Spark Pro là một mô hình ngôn ngữ lớn hiệu suất cao được tối ưu hóa cho các lĩnh vực chuyên môn, tập trung vào toán học, lập trình, y tế, giáo dục và nhiều lĩnh vực khác, đồng thời hỗ trợ tìm kiếm trực tuyến và các plugin tích hợp như thời tiết, ngày tháng. Mô hình đã được tối ưu hóa thể hiện xuất sắc và hiệu suất cao trong các nhiệm vụ hỏi đáp kiến thức phức tạp, hiểu ngôn ngữ và sáng tạo văn bản cấp cao, là lựa chọn lý tưởng cho các tình huống ứng dụng chuyên nghiệp."
475
469
  },
@@ -625,6 +619,9 @@
625
619
  },
626
620
  "jamba-1.5-large": {},
627
621
  "jamba-1.5-mini": {},
622
+ "lite": {
623
+ "description": "Spark Lite là một mô hình ngôn ngữ lớn nhẹ, có độ trễ cực thấp và khả năng xử lý hiệu quả, hoàn toàn miễn phí và mở, hỗ trợ chức năng tìm kiếm trực tuyến theo thời gian thực. Đặc điểm phản hồi nhanh của nó giúp nó nổi bật trong các ứng dụng suy diễn trên thiết bị có công suất thấp và tinh chỉnh mô hình, mang lại hiệu quả chi phí và trải nghiệm thông minh xuất sắc cho người dùng, đặc biệt trong các tình huống hỏi đáp kiến thức, tạo nội dung và tìm kiếm."
624
+ },
628
625
  "llama-3.1-70b-instruct": {
629
626
  "description": "Mô hình Llama 3.1 70B Instruct, có 70B tham số, có thể cung cấp hiệu suất xuất sắc trong các nhiệm vụ sinh văn bản và chỉ dẫn lớn."
630
627
  },
@@ -700,6 +697,9 @@
700
697
  "mathstral": {
701
698
  "description": "MathΣtral được thiết kế cho nghiên cứu khoa học và suy luận toán học, cung cấp khả năng tính toán hiệu quả và giải thích kết quả."
702
699
  },
700
+ "max-32k": {
701
+ "description": "Spark Max 32K được cấu hình với khả năng xử lý ngữ cảnh lớn, có khả năng hiểu ngữ cảnh và suy luận logic mạnh mẽ hơn, hỗ trợ đầu vào văn bản 32K tokens, phù hợp cho việc đọc tài liệu dài, hỏi đáp kiến thức riêng tư và các tình huống khác."
702
+ },
703
703
  "meta-llama-3-70b-instruct": {
704
704
  "description": "Mô hình 70 tỷ tham số mạnh mẽ, xuất sắc trong lý luận, lập trình và các ứng dụng ngôn ngữ rộng lớn."
705
705
  },
@@ -940,6 +940,9 @@
940
940
  "pixtral-12b-2409": {
941
941
  "description": "Mô hình Pixtral thể hiện khả năng mạnh mẽ trong các nhiệm vụ như hiểu biểu đồ và hình ảnh, hỏi đáp tài liệu, suy luận đa phương tiện và tuân thủ hướng dẫn, có khả năng tiếp nhận hình ảnh với độ phân giải và tỷ lệ khung hình tự nhiên, cũng như xử lý bất kỳ số lượng hình ảnh nào trong cửa sổ ngữ cảnh dài lên đến 128K token."
942
942
  },
943
+ "pro-128k": {
944
+ "description": "Spark Pro 128K được cấu hình với khả năng xử lý ngữ cảnh cực lớn, có thể xử lý tới 128K thông tin ngữ cảnh, đặc biệt phù hợp cho việc phân tích toàn bộ và xử lý mối liên hệ logic lâu dài trong nội dung văn bản dài, có thể cung cấp logic mạch lạc và hỗ trợ trích dẫn đa dạng trong giao tiếp văn bản phức tạp."
945
+ },
943
946
  "qwen-coder-turbo-latest": {
944
947
  "description": "Mô hình mã Qwen."
945
948
  },
@@ -184,5 +184,6 @@
184
184
  "processing": "文件处理中..."
185
185
  }
186
186
  }
187
- }
187
+ },
188
+ "zenMode": "专注模式"
188
189
  }
@@ -68,9 +68,6 @@
68
68
  "Gryphe/MythoMax-L2-13b": {
69
69
  "description": "MythoMax-L2 (13B) 是一种创新模型,适合多领域应用和复杂任务。"
70
70
  },
71
- "Max-32k": {
72
- "description": "Spark Max 32K 配置了大上下文处理能力,更强的上下文理解和逻辑推理能力,支持32K tokens的文本输入,适用于长文档阅读、私有知识问答等场景"
73
- },
74
71
  "Nous-Hermes-2-Mixtral-8x7B-DPO": {
75
72
  "description": "Hermes 2 Mixtral 8x7B DPO 是一款高度灵活的多模型合并,旨在提供卓越的创造性体验。"
76
73
  },
@@ -110,9 +107,6 @@
110
107
  "Phi-3.5-vision-instrust": {
111
108
  "description": "Phi-3-vision模型的更新版。"
112
109
  },
113
- "Pro-128k": {
114
- "description": "Spark Pro 128K 配置了特大上下文处理能力,能够处理多达128K的上下文信息,特别适合需通篇分析和长期逻辑关联处理的长文内容,可在复杂文本沟通中提供流畅一致的逻辑与多样的引用支持。"
115
- },
116
110
  "Pro/OpenGVLab/InternVL2-8B": {
117
111
  "description": "InternVL2在各种视觉语言任务上展现出了卓越的性能,包括文档和图表理解、场景文本理解、OCR、科学和数学问题解决等。"
118
112
  },
@@ -278,6 +272,9 @@
278
272
  "anthropic.claude-3-5-sonnet-20240620-v1:0": {
279
273
  "description": "Claude 3.5 Sonnet 提升了行业标准,性能超过竞争对手模型和 Claude 3 Opus,在广泛的评估中表现出色,同时具有我们中等层级模型的速度和成本。"
280
274
  },
275
+ "anthropic.claude-3-5-sonnet-20241022-v2:0": {
276
+ "description": "Claude 3.5 Sonnet 提升了行业标准,性能超过竞争对手模型和 Claude 3 Opus,在广泛的评估中表现出色,同时具有我们中等层级模型的速度和成本。"
277
+ },
281
278
  "anthropic.claude-3-haiku-20240307-v1:0": {
282
279
  "description": "Claude 3 Haiku 是 Anthropic 最快、最紧凑的模型,提供近乎即时的响应速度。它可以快速回答简单的查询和请求。客户将能够构建模仿人类互动的无缝 AI 体验。Claude 3 Haiku 可以处理图像并返回文本输出,具有 200K 的上下文窗口。"
283
280
  },
@@ -467,9 +464,6 @@
467
464
  "gemma2:2b": {
468
465
  "description": "Gemma 2 是 Google 推出的高效模型,涵盖从小型应用到复杂数据处理的多种应用场景。"
469
466
  },
470
- "general": {
471
- "description": "Spark Lite 是一款轻量级大语言模型,具备极低的延迟与高效的处理能力,完全免费开放,支持实时在线搜索功能。其快速响应的特性使其在低算力设备上的推理应用和模型微调中表现出色,为用户带来出色的成本效益和智能体验,尤其在知识问答、内容生成及搜索场景下表现不俗。"
472
- },
473
467
  "generalv3": {
474
468
  "description": "Spark Pro 是一款为专业领域优化的高性能大语言模型,专注数学、编程、医疗、教育等多个领域,并支持联网搜索及内置天气、日期等插件。其优化后模型在复杂知识问答、语言理解及高层次文本创作中展现出色表现和高效性能,是适合专业应用场景的理想选择。"
475
469
  },
@@ -625,6 +619,9 @@
625
619
  },
626
620
  "jamba-1.5-large": {},
627
621
  "jamba-1.5-mini": {},
622
+ "lite": {
623
+ "description": "Spark Lite 是一款轻量级大语言模型,具备极低的延迟与高效的处理能力,完全免费开放,支持实时在线搜索功能。其快速响应的特性使其在低算力设备上的推理应用和模型微调中表现出色,为用户带来出色的成本效益和智能体验,尤其在知识问答、内容生成及搜索场景下表现不俗。"
624
+ },
628
625
  "llama-3.1-70b-instruct": {
629
626
  "description": "Llama 3.1 70B Instruct 模型,具备70B参数,能在大型文本生成和指示任务中提供卓越性能。"
630
627
  },
@@ -700,6 +697,9 @@
700
697
  "mathstral": {
701
698
  "description": "MathΣtral 专为科学研究和数学推理设计,提供有效的计算能力和结果解释。"
702
699
  },
700
+ "max-32k": {
701
+ "description": "Spark Max 32K 配置了大上下文处理能力,更强的上下文理解和逻辑推理能力,支持32K tokens的文本输入,适用于长文档阅读、私有知识问答等场景"
702
+ },
703
703
  "meta-llama-3-70b-instruct": {
704
704
  "description": "一个强大的700亿参数模型,在推理、编码和广泛的语言应用方面表现出色。"
705
705
  },
@@ -940,6 +940,9 @@
940
940
  "pixtral-12b-2409": {
941
941
  "description": "Pixtral 模型在图表和图理解、文档问答、多模态推理和指令遵循等任务上表现出强大的能力,能够以自然分辨率和宽高比摄入图像,还能够在长达 128K 令牌的长上下文窗口中处理任意数量的图像。"
942
942
  },
943
+ "pro-128k": {
944
+ "description": "Spark Pro 128K 配置了特大上下文处理能力,能够处理多达128K的上下文信息,特别适合需通篇分析和长期逻辑关联处理的长文内容,可在复杂文本沟通中提供流畅一致的逻辑与多样的引用支持。"
945
+ },
943
946
  "qwen-coder-turbo-latest": {
944
947
  "description": "通义千问代码模型。"
945
948
  },
@@ -184,5 +184,6 @@
184
184
  "processing": "檔案處理中..."
185
185
  }
186
186
  }
187
- }
187
+ },
188
+ "zenMode": "專注模式"
188
189
  }
@@ -68,9 +68,6 @@
68
68
  "Gryphe/MythoMax-L2-13b": {
69
69
  "description": "MythoMax-L2 (13B) 是一種創新模型,適合多領域應用和複雜任務。"
70
70
  },
71
- "Max-32k": {
72
- "description": "Spark Max 32K 配備了更強大的上下文處理能力,具備更佳的上下文理解和邏輯推理能力,支持32K tokens的文本輸入,適用於長文檔閱讀、私有知識問答等場景"
73
- },
74
71
  "Nous-Hermes-2-Mixtral-8x7B-DPO": {
75
72
  "description": "Hermes 2 Mixtral 8x7B DPO 是一款高度靈活的多模型合併,旨在提供卓越的創造性體驗。"
76
73
  },
@@ -110,9 +107,6 @@
110
107
  "Phi-3.5-vision-instrust": {
111
108
  "description": "Phi-3-vision模型的更新版。"
112
109
  },
113
- "Pro-128k": {
114
- "description": "Spark Pro-128K 配置了特大上下文處理能力,能夠處理多達128K的上下文信息,特別適合需通篇分析和長期邏輯關聯處理的長文內容,可在複雜文本溝通中提供流暢一致的邏輯與多樣的引用支持。"
115
- },
116
110
  "Pro/OpenGVLab/InternVL2-8B": {
117
111
  "description": "InternVL2在各種視覺語言任務上展現出了卓越的性能,包括文檔和圖表理解、場景文本理解、OCR、科學和數學問題解決等。"
118
112
  },
@@ -278,6 +272,9 @@
278
272
  "anthropic.claude-3-5-sonnet-20240620-v1:0": {
279
273
  "description": "Claude 3.5 Sonnet提升了行業標準,性能超過競爭對手模型和Claude 3 Opus,在廣泛的評估中表現出色,同時具有我們中等層級模型的速度和成本。"
280
274
  },
275
+ "anthropic.claude-3-5-sonnet-20241022-v2:0": {
276
+ "description": "Claude 3.5 Sonnet 提升了行業標準,性能超越競爭對手模型和 Claude 3 Opus,在廣泛的評估中表現出色,同時具備我們中等層級模型的速度和成本。"
277
+ },
281
278
  "anthropic.claude-3-haiku-20240307-v1:0": {
282
279
  "description": "Claude 3 Haiku是Anthropic最快、最緊湊的模型,提供近乎即時的響應速度。它可以快速回答簡單的查詢和請求。客戶將能夠構建模仿人類互動的無縫AI體驗。Claude 3 Haiku可以處理圖像並返回文本輸出,具有200K的上下文窗口。"
283
280
  },
@@ -467,9 +464,6 @@
467
464
  "gemma2:2b": {
468
465
  "description": "Gemma 2 是 Google 推出的高效模型,涵蓋從小型應用到複雜數據處理的多種應用場景。"
469
466
  },
470
- "general": {
471
- "description": "Spark Lite 是一款輕量級大語言模型,具備極低的延遲與高效的處理能力,完全免費開放,支持即時在線搜索功能。其快速響應的特性使其在低算力設備上的推理應用和模型微調中表現出色,為用戶帶來出色的成本效益和智能體驗,尤其在知識問答、內容生成及搜索場景下表現不俗。"
472
- },
473
467
  "generalv3": {
474
468
  "description": "Spark Pro 是一款為專業領域優化的高性能大語言模型,專注數學、編程、醫療、教育等多個領域,並支持聯網搜索及內置天氣、日期等插件。其優化後模型在複雜知識問答、語言理解及高層次文本創作中展現出色表現和高效性能,是適合專業應用場景的理想選擇。"
475
469
  },
@@ -625,6 +619,9 @@
625
619
  },
626
620
  "jamba-1.5-large": {},
627
621
  "jamba-1.5-mini": {},
622
+ "lite": {
623
+ "description": "Spark Lite 是一款輕量級大語言模型,具備極低的延遲與高效的處理能力,完全免費開放,支持即時在線搜索功能。其快速響應的特性使其在低算力設備上的推理應用和模型微調中表現出色,為用戶帶來出色的成本效益和智能體驗,尤其在知識問答、內容生成及搜索場景下表現不俗。"
624
+ },
628
625
  "llama-3.1-70b-instruct": {
629
626
  "description": "Llama 3.1 70B Instruct 模型,具備 70B 參數,能在大型文本生成和指示任務中提供卓越性能。"
630
627
  },
@@ -700,6 +697,9 @@
700
697
  "mathstral": {
701
698
  "description": "MathΣtral 專為科學研究和數學推理設計,提供有效的計算能力和結果解釋。"
702
699
  },
700
+ "max-32k": {
701
+ "description": "Spark Max 32K 配置了大上下文處理能力,更強的上下文理解和邏輯推理能力,支持32K tokens的文本輸入,適用於長文檔閱讀、私有知識問答等場景。"
702
+ },
703
703
  "meta-llama-3-70b-instruct": {
704
704
  "description": "一個強大的70億參數模型,在推理、編碼和廣泛的語言應用中表現出色。"
705
705
  },
@@ -940,6 +940,9 @@
940
940
  "pixtral-12b-2409": {
941
941
  "description": "Pixtral模型在圖表和圖理解、文檔問答、多模態推理和指令遵循等任務上表現出強大的能力,能夠以自然分辨率和寬高比攝入圖像,還能夠在長達128K令牌的長上下文窗口中處理任意數量的圖像。"
942
942
  },
943
+ "pro-128k": {
944
+ "description": "Spark Pro 128K 配置了特大上下文處理能力,能夠處理多達128K的上下文信息,特別適合需通篇分析和長期邏輯關聯處理的長文內容,可在複雜文本溝通中提供流暢一致的邏輯與多樣的引用支持。"
945
+ },
943
946
  "qwen-coder-turbo-latest": {
944
947
  "description": "通義千問代碼模型。"
945
948
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.24.1",
3
+ "version": "1.25.0",
4
4
  "description": "Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
5
5
  "keywords": [
6
6
  "framework",
@@ -4,6 +4,8 @@ import { SideNav } from '@lobehub/ui';
4
4
  import { memo } from 'react';
5
5
 
6
6
  import { useActiveTabKey } from '@/hooks/useActiveTabKey';
7
+ import { useGlobalStore } from '@/store/global';
8
+ import { systemStatusSelectors } from '@/store/global/selectors';
7
9
 
8
10
  import Avatar from './Avatar';
9
11
  import BottomActions from './BottomActions';
@@ -11,13 +13,17 @@ import TopActions from './TopActions';
11
13
 
12
14
  const Nav = memo(() => {
13
15
  const sidebarKey = useActiveTabKey();
16
+ const inZenMode = useGlobalStore(systemStatusSelectors.inZenMode);
17
+
14
18
  return (
15
- <SideNav
16
- avatar={<Avatar />}
17
- bottomActions={<BottomActions />}
18
- style={{ height: '100%', zIndex: 100 }}
19
- topActions={<TopActions tab={sidebarKey} />}
20
- />
19
+ !inZenMode && (
20
+ <SideNav
21
+ avatar={<Avatar />}
22
+ bottomActions={<BottomActions />}
23
+ style={{ height: '100%', zIndex: 100 }}
24
+ topActions={<TopActions tab={sidebarKey} />}
25
+ />
26
+ )
21
27
  );
22
28
  });
23
29
 
@@ -4,6 +4,7 @@ import { isMobileDevice } from '@/utils/server/responsive';
4
4
  import ChatHydration from './features/ChatHydration';
5
5
  import DesktopChatInput from './features/ChatInput/Desktop';
6
6
  import MobileChatInput from './features/ChatInput/Mobile';
7
+ import ZenModeToast from './features/ZenModeToast';
7
8
 
8
9
  const ChatConversation = () => {
9
10
  const mobile = isMobileDevice();
@@ -11,6 +12,7 @@ const ChatConversation = () => {
11
12
 
12
13
  return (
13
14
  <>
15
+ <ZenModeToast />
14
16
  <Conversation mobile={mobile} />
15
17
  <ChatInput />
16
18
  <ChatHydration />
@@ -0,0 +1,87 @@
1
+ 'use client';
2
+
3
+ import { createStyles } from 'antd-style';
4
+ import { useEffect, useState } from 'react';
5
+ import { useTranslation } from 'react-i18next';
6
+ import { Flexbox } from 'react-layout-kit';
7
+
8
+ import HotKeys from '@/components/HotKeys';
9
+ import { HOTKEYS } from '@/const/hotkeys';
10
+
11
+ const useStyles = createStyles(({ css, token }) => ({
12
+ closeButton: css`
13
+ color: ${token.colorTextSecondary};
14
+ transition: color 0.2s;
15
+
16
+ &:hover {
17
+ color: ${token.colorTextQuaternary};
18
+ }
19
+ `,
20
+
21
+ container: css`
22
+ position: fixed;
23
+ z-index: 50;
24
+ inset-block-start: 16px;
25
+ inset-inline-start: 50%;
26
+ transform: translateX(-50%);
27
+
28
+ animation: fade-in-slide-down 300ms ease;
29
+
30
+ @keyframes fade-in-slide-down {
31
+ from {
32
+ transform: translate(-50%, -16px);
33
+ opacity: 0;
34
+ }
35
+
36
+ to {
37
+ transform: translate(-50%, 0);
38
+ opacity: 1;
39
+ }
40
+ }
41
+ `,
42
+
43
+ text: css`
44
+ font-size: ${token.fontSizeLG}px;
45
+ color: ${token.colorBgBase};
46
+ `,
47
+
48
+ toast: css`
49
+ display: flex;
50
+ align-items: center;
51
+
52
+ padding-block: 12px;
53
+ padding-inline: 16px;
54
+
55
+ background: ${token.colorText};
56
+ border-radius: 9999px;
57
+ box-shadow: ${token.boxShadowSecondary};
58
+ `,
59
+ }));
60
+
61
+ const Toast = () => {
62
+ const { t } = useTranslation('chat');
63
+ const { styles } = useStyles();
64
+ const [isVisible, setIsVisible] = useState(true);
65
+
66
+ useEffect(() => {
67
+ const timer = setTimeout(() => {
68
+ setIsVisible(false);
69
+ }, 2000);
70
+
71
+ return () => clearTimeout(timer);
72
+ }, []);
73
+
74
+ if (!isVisible) return null;
75
+
76
+ return (
77
+ <div className={styles.container}>
78
+ <div className={styles.toast}>
79
+ <Flexbox className={styles.text} gap={12} horizontal>
80
+ {t('zenMode')} <HotKeys inverseTheme keys={HOTKEYS.zenMode} />
81
+ </Flexbox>
82
+ </div>
83
+ </div>
84
+ );
85
+ };
86
+
87
+ export default Toast;
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+
3
+ import { memo } from 'react';
4
+
5
+ import { useGlobalStore } from '@/store/global';
6
+ import { systemStatusSelectors } from '@/store/global/selectors';
7
+
8
+ import Toast from './Toast';
9
+
10
+ const ZenModeToast = memo(() => {
11
+ const inZenMode = useGlobalStore(systemStatusSelectors.inZenMode);
12
+
13
+ return inZenMode && <Toast />;
14
+ });
15
+
16
+ export default ZenModeToast;
@@ -1,14 +1,25 @@
1
+ 'use client';
2
+
1
3
  import { ChatHeader } from '@lobehub/ui';
2
4
 
5
+ import { useGlobalStore } from '@/store/global';
6
+ import { systemStatusSelectors } from '@/store/global/selectors';
7
+
3
8
  import HeaderAction from './HeaderAction';
4
9
  import Main from './Main';
5
10
 
6
- const Header = () => (
7
- <ChatHeader
8
- left={<Main />}
9
- right={<HeaderAction />}
10
- style={{ minHeight: 64, position: 'initial', zIndex: 11 }}
11
- />
12
- );
11
+ const Header = () => {
12
+ const showHeader = useGlobalStore(systemStatusSelectors.showChatHeader);
13
+
14
+ return (
15
+ showHeader && (
16
+ <ChatHeader
17
+ left={<Main />}
18
+ right={<HeaderAction />}
19
+ style={{ minHeight: 64, position: 'initial', zIndex: 11 }}
20
+ />
21
+ )
22
+ );
23
+ };
13
24
 
14
25
  export default Header;
@@ -4,14 +4,13 @@ import isEqual from 'fast-deep-equal';
4
4
  import { useCallback } from 'react';
5
5
  import { useHotkeys } from 'react-hotkeys-hook';
6
6
 
7
- import { ALT_KEY, CLEAN_MESSAGE_KEY, META_KEY, REGENERATE_KEY } from '@/const/hotkeys';
7
+ import { HOTKEYS } from '@/const/hotkeys';
8
8
  import { useChatStore } from '@/store/chat';
9
9
  import { chatSelectors } from '@/store/chat/selectors';
10
10
  import { useFileStore } from '@/store/file';
11
+ import { useGlobalStore } from '@/store/global';
11
12
 
12
13
  const HotKeys = () => {
13
- const resendHotkeys = [ALT_KEY, REGENERATE_KEY].join('+');
14
-
15
14
  const [regenerateMessage, clearMessage] = useChatStore((s) => [
16
15
  s.regenerateMessage,
17
16
  s.clearMessage,
@@ -19,20 +18,25 @@ const HotKeys = () => {
19
18
  const lastMessage = useChatStore(chatSelectors.latestMessage, isEqual);
20
19
 
21
20
  const [clearImageList] = useFileStore((s) => [s.clearChatUploadFileList]);
22
- const clearHotkeys = [META_KEY, ALT_KEY, CLEAN_MESSAGE_KEY].join('+');
21
+ const toggleZenMode = useGlobalStore((s) => s.toggleZenMode);
23
22
 
24
23
  const resetConversation = useCallback(() => {
25
24
  clearMessage();
26
25
  clearImageList();
27
26
  }, []);
28
27
 
29
- useHotkeys(clearHotkeys, resetConversation, {
28
+ useHotkeys(HOTKEYS.clear, resetConversation, {
29
+ enableOnFormTags: true,
30
+ preventDefault: true,
31
+ });
32
+
33
+ useHotkeys(HOTKEYS.zenMode, toggleZenMode, {
30
34
  enableOnFormTags: true,
31
35
  preventDefault: true,
32
36
  });
33
37
 
34
38
  useHotkeys(
35
- resendHotkeys,
39
+ HOTKEYS.regenerate,
36
40
  () => {
37
41
  if (!lastMessage || lastMessage.id === 'default' || lastMessage.role === 'system') return;
38
42
  regenerateMessage(lastMessage.id);
@@ -29,16 +29,16 @@ const useStyles = createStyles(({ css, token }) => ({
29
29
  const TopicPanel = memo(({ children }: PropsWithChildren) => {
30
30
  const { styles } = useStyles();
31
31
  const { md = true, lg = true } = useResponsive();
32
- const [showAgentSettings, toggleConfig] = useGlobalStore((s) => [
32
+ const [showTopic, toggleConfig] = useGlobalStore((s) => [
33
33
  systemStatusSelectors.showChatSideBar(s),
34
34
  s.toggleChatSideBar,
35
35
  ]);
36
36
  const showPortal = useChatStore(chatPortalSelectors.showPortal);
37
37
 
38
- const [cacheExpand, setCacheExpand] = useState<boolean>(Boolean(showAgentSettings));
38
+ const [cacheExpand, setCacheExpand] = useState<boolean>(Boolean(showTopic));
39
39
 
40
40
  const handleExpand = (expand: boolean) => {
41
- if (isEqual(expand, Boolean(showAgentSettings))) return;
41
+ if (isEqual(expand, Boolean(showTopic))) return;
42
42
  toggleConfig(expand);
43
43
  setCacheExpand(expand);
44
44
  };
@@ -55,7 +55,7 @@ const TopicPanel = memo(({ children }: PropsWithChildren) => {
55
55
  classNames={{
56
56
  content: styles.content,
57
57
  }}
58
- expand={showAgentSettings}
58
+ expand={showTopic}
59
59
  minWidth={CHAT_SIDEBAR_WIDTH}
60
60
  mode={md ? 'fixed' : 'float'}
61
61
  onExpandChange={handleExpand}
@@ -10,7 +10,7 @@ const Layout = ({ children, session }: LayoutProps) => {
10
10
  <Flexbox
11
11
  height={'100%'}
12
12
  horizontal
13
- style={{ maxWidth: 'calc(100vw - 64px)', overflow: 'hidden', position: 'relative' }}
13
+ style={{ maxWidth: '100%', overflow: 'hidden', position: 'relative' }}
14
14
  width={'100%'}
15
15
  >
16
16
  <SessionPanel>{session}</SessionPanel>
@@ -64,7 +64,22 @@ const Google: ModelProviderCard = {
64
64
  tokens: 1_000_000 + 8192,
65
65
  vision: true,
66
66
  },
67
-
67
+ {
68
+ description: 'Gemini 1.5 Flash 8B 是一款高效的多模态模型,支持广泛应用的扩展。',
69
+ displayName: 'Gemini 1.5 Flash 8B',
70
+ enabled: true,
71
+ functionCall: true,
72
+ id: 'gemini-1.5-flash-8b',
73
+ maxOutput: 8192,
74
+ pricing: {
75
+ cachedInput: 0.02,
76
+ input: 0.075,
77
+ output: 0.3,
78
+ },
79
+ releasedAt: '2024-10-03',
80
+ tokens: 1_000_000 + 8192,
81
+ vision: true,
82
+ },
68
83
  {
69
84
  description:
70
85
  'Gemini 1.5 Flash 8B 0924 是最新的实验性模型,在文本和多模态用例中都有显著的性能提升。',
@@ -2,4 +2,10 @@ export const ALT_KEY = 'alt';
2
2
  export const META_KEY = 'mod';
3
3
  export const SAVE_TOPIC_KEY = 'n';
4
4
  export const CLEAN_MESSAGE_KEY = 'backspace';
5
- export const REGENERATE_KEY = 'r';
5
+
6
+ export const HOTKEYS = {
7
+ clear: 'mod+alt+backspace',
8
+ regenerate: 'alt+r',
9
+ saveTopic: 'alt+n',
10
+ zenMode: 'mod+\\',
11
+ };
@@ -188,4 +188,5 @@ export default {
188
188
  },
189
189
  },
190
190
  },
191
+ zenMode: '专注模式',
191
192
  };