@lobehub/chat 1.68.2 → 1.68.4

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 (111) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/changelog/v1.json +18 -0
  3. package/docs/usage/providers/azureai.mdx +69 -0
  4. package/docs/usage/providers/azureai.zh-CN.mdx +69 -0
  5. package/docs/usage/providers/deepseek.mdx +3 -3
  6. package/docs/usage/providers/deepseek.zh-CN.mdx +5 -4
  7. package/docs/usage/providers/jina.mdx +51 -0
  8. package/docs/usage/providers/jina.zh-CN.mdx +51 -0
  9. package/docs/usage/providers/lmstudio.mdx +75 -0
  10. package/docs/usage/providers/lmstudio.zh-CN.mdx +75 -0
  11. package/docs/usage/providers/nvidia.mdx +55 -0
  12. package/docs/usage/providers/nvidia.zh-CN.mdx +55 -0
  13. package/docs/usage/providers/ppio.mdx +7 -7
  14. package/docs/usage/providers/ppio.zh-CN.mdx +6 -6
  15. package/docs/usage/providers/sambanova.mdx +50 -0
  16. package/docs/usage/providers/sambanova.zh-CN.mdx +50 -0
  17. package/docs/usage/providers/tencentcloud.mdx +49 -0
  18. package/docs/usage/providers/tencentcloud.zh-CN.mdx +49 -0
  19. package/docs/usage/providers/vertexai.mdx +59 -0
  20. package/docs/usage/providers/vertexai.zh-CN.mdx +59 -0
  21. package/docs/usage/providers/vllm.mdx +98 -0
  22. package/docs/usage/providers/vllm.zh-CN.mdx +98 -0
  23. package/docs/usage/providers/volcengine.mdx +47 -0
  24. package/docs/usage/providers/volcengine.zh-CN.mdx +48 -0
  25. package/locales/ar/chat.json +29 -0
  26. package/locales/ar/models.json +48 -0
  27. package/locales/ar/providers.json +3 -0
  28. package/locales/bg-BG/chat.json +29 -0
  29. package/locales/bg-BG/models.json +48 -0
  30. package/locales/bg-BG/providers.json +3 -0
  31. package/locales/de-DE/chat.json +29 -0
  32. package/locales/de-DE/models.json +48 -0
  33. package/locales/de-DE/providers.json +3 -0
  34. package/locales/en-US/chat.json +29 -0
  35. package/locales/en-US/models.json +48 -0
  36. package/locales/en-US/providers.json +3 -3
  37. package/locales/es-ES/chat.json +29 -0
  38. package/locales/es-ES/models.json +48 -0
  39. package/locales/es-ES/providers.json +3 -0
  40. package/locales/fa-IR/chat.json +29 -0
  41. package/locales/fa-IR/models.json +48 -0
  42. package/locales/fa-IR/providers.json +3 -0
  43. package/locales/fr-FR/chat.json +29 -0
  44. package/locales/fr-FR/models.json +48 -0
  45. package/locales/fr-FR/providers.json +3 -0
  46. package/locales/it-IT/chat.json +29 -0
  47. package/locales/it-IT/models.json +48 -0
  48. package/locales/it-IT/providers.json +3 -0
  49. package/locales/ja-JP/chat.json +29 -0
  50. package/locales/ja-JP/models.json +48 -0
  51. package/locales/ja-JP/providers.json +3 -0
  52. package/locales/ko-KR/chat.json +29 -0
  53. package/locales/ko-KR/models.json +48 -0
  54. package/locales/ko-KR/providers.json +3 -0
  55. package/locales/nl-NL/chat.json +29 -0
  56. package/locales/nl-NL/models.json +48 -0
  57. package/locales/nl-NL/providers.json +3 -0
  58. package/locales/pl-PL/chat.json +29 -0
  59. package/locales/pl-PL/models.json +48 -0
  60. package/locales/pl-PL/providers.json +3 -0
  61. package/locales/pt-BR/chat.json +29 -0
  62. package/locales/pt-BR/models.json +48 -0
  63. package/locales/pt-BR/providers.json +3 -0
  64. package/locales/ru-RU/chat.json +29 -0
  65. package/locales/ru-RU/models.json +48 -0
  66. package/locales/ru-RU/providers.json +3 -0
  67. package/locales/tr-TR/chat.json +29 -0
  68. package/locales/tr-TR/models.json +48 -0
  69. package/locales/tr-TR/providers.json +3 -0
  70. package/locales/vi-VN/chat.json +29 -0
  71. package/locales/vi-VN/models.json +48 -0
  72. package/locales/vi-VN/providers.json +3 -0
  73. package/locales/zh-CN/chat.json +29 -0
  74. package/locales/zh-CN/models.json +51 -3
  75. package/locales/zh-CN/providers.json +3 -4
  76. package/locales/zh-TW/chat.json +29 -0
  77. package/locales/zh-TW/models.json +48 -0
  78. package/locales/zh-TW/providers.json +3 -0
  79. package/package.json +1 -1
  80. package/packages/web-crawler/src/crawImpl/__test__/jina.test.ts +169 -0
  81. package/packages/web-crawler/src/crawImpl/jina.ts +1 -1
  82. package/packages/web-crawler/src/crawImpl/naive.ts +29 -3
  83. package/packages/web-crawler/src/urlRules.ts +7 -1
  84. package/packages/web-crawler/src/utils/errorType.ts +7 -0
  85. package/scripts/serverLauncher/startServer.js +11 -7
  86. package/src/config/modelProviders/ppio.ts +1 -1
  87. package/src/features/Conversation/Extras/Assistant.tsx +12 -20
  88. package/src/features/Conversation/Extras/Usage/UsageDetail/ModelCard.tsx +130 -0
  89. package/src/features/Conversation/Extras/Usage/UsageDetail/TokenProgress.tsx +71 -0
  90. package/src/features/Conversation/Extras/Usage/UsageDetail/index.tsx +146 -0
  91. package/src/features/Conversation/Extras/Usage/UsageDetail/tokens.ts +94 -0
  92. package/src/features/Conversation/Extras/Usage/index.tsx +40 -0
  93. package/src/libs/agent-runtime/utils/streams/anthropic.test.ts +14 -0
  94. package/src/libs/agent-runtime/utils/streams/anthropic.ts +25 -0
  95. package/src/libs/agent-runtime/utils/streams/openai.test.ts +100 -10
  96. package/src/libs/agent-runtime/utils/streams/openai.ts +30 -4
  97. package/src/libs/agent-runtime/utils/streams/protocol.ts +4 -0
  98. package/src/locales/default/chat.ts +30 -1
  99. package/src/server/routers/tools/search.ts +1 -1
  100. package/src/store/aiInfra/slices/aiModel/initialState.ts +3 -1
  101. package/src/store/aiInfra/slices/aiModel/selectors.test.ts +1 -0
  102. package/src/store/aiInfra/slices/aiModel/selectors.ts +5 -0
  103. package/src/store/aiInfra/slices/aiProvider/action.ts +3 -1
  104. package/src/store/chat/slices/aiChat/actions/generateAIChat.ts +5 -1
  105. package/src/store/chat/slices/message/action.ts +3 -0
  106. package/src/store/global/initialState.ts +1 -0
  107. package/src/store/global/selectors/systemStatus.ts +2 -0
  108. package/src/types/message/base.ts +18 -0
  109. package/src/types/message/chat.ts +4 -3
  110. package/src/utils/fetch/fetchSSE.ts +24 -1
  111. package/src/utils/format.ts +3 -1
@@ -8,6 +8,12 @@
8
8
  "01-ai/Yi-1.5-9B-Chat-16K": {
9
9
  "description": "Yi-1.5 9B hỗ trợ 16K Tokens, cung cấp khả năng tạo ngôn ngữ hiệu quả và mượt mà."
10
10
  },
11
+ "01-ai/yi-1.5-34b-chat": {
12
+ "description": "Zero One Vạn Vật, mô hình tinh chỉnh mã nguồn mở mới nhất với 34 tỷ tham số, hỗ trợ nhiều tình huống đối thoại, dữ liệu đào tạo chất lượng cao, phù hợp với sở thích của con người."
13
+ },
14
+ "01-ai/yi-1.5-9b-chat": {
15
+ "description": "Zero One Vạn Vật, mô hình tinh chỉnh mã nguồn mở mới nhất với 9 tỷ tham số, hỗ trợ nhiều tình huống đối thoại, dữ liệu đào tạo chất lượng cao, phù hợp với sở thích của con người."
16
+ },
11
17
  "360gpt-pro": {
12
18
  "description": "360GPT Pro là thành viên quan trọng trong dòng mô hình AI của 360, đáp ứng nhu cầu đa dạng của các ứng dụng ngôn ngữ tự nhiên với khả năng xử lý văn bản hiệu quả, hỗ trợ hiểu văn bản dài và đối thoại nhiều vòng."
13
19
  },
@@ -503,6 +509,9 @@
503
509
  "aya:35b": {
504
510
  "description": "Aya 23 là mô hình đa ngôn ngữ do Cohere phát hành, hỗ trợ 23 ngôn ngữ, tạo điều kiện thuận lợi cho các ứng dụng ngôn ngữ đa dạng."
505
511
  },
512
+ "baichuan/baichuan2-13b-chat": {
513
+ "description": "Baichuan-13B là mô hình ngôn ngữ lớn mã nguồn mở có thể thương mại hóa với 130 tỷ tham số, được phát triển bởi Baichuan Intelligence, đã đạt được hiệu suất tốt nhất trong cùng kích thước trên các benchmark tiếng Trung và tiếng Anh."
514
+ },
506
515
  "charglm-3": {
507
516
  "description": "CharGLM-3 được thiết kế đặc biệt cho vai trò và đồng hành cảm xúc, hỗ trợ trí nhớ nhiều vòng siêu dài và đối thoại cá nhân hóa, ứng dụng rộng rãi."
508
517
  },
@@ -683,9 +692,30 @@
683
692
  "deepseek/deepseek-r1": {
684
693
  "description": "DeepSeek-R1 đã nâng cao khả năng suy luận của mô hình một cách đáng kể với rất ít dữ liệu được gán nhãn. Trước khi đưa ra câu trả lời cuối cùng, mô hình sẽ xuất ra một chuỗi suy nghĩ để nâng cao độ chính xác của câu trả lời cuối cùng."
685
694
  },
695
+ "deepseek/deepseek-r1-distill-llama-70b": {
696
+ "description": "DeepSeek R1 Distill Llama 70B là mô hình ngôn ngữ lớn dựa trên Llama3.3 70B, mô hình này sử dụng đầu ra tinh chỉnh từ DeepSeek R1 để đạt được hiệu suất cạnh tranh tương đương với các mô hình tiên tiến lớn."
697
+ },
698
+ "deepseek/deepseek-r1-distill-llama-8b": {
699
+ "description": "DeepSeek R1 Distill Llama 8B là một mô hình ngôn ngữ lớn đã được tinh chế dựa trên Llama-3.1-8B-Instruct, được đào tạo bằng cách sử dụng đầu ra từ DeepSeek R1."
700
+ },
701
+ "deepseek/deepseek-r1-distill-qwen-14b": {
702
+ "description": "DeepSeek R1 Distill Qwen 14B là một mô hình ngôn ngữ lớn đã được tinh chế dựa trên Qwen 2.5 14B, được đào tạo bằng cách sử dụng đầu ra từ DeepSeek R1. Mô hình này đã vượt qua o1-mini của OpenAI trong nhiều bài kiểm tra chuẩn, đạt được những thành tựu công nghệ tiên tiến nhất trong các mô hình dày đặc (dense models). Dưới đây là một số kết quả từ các bài kiểm tra chuẩn:\nAIME 2024 pass@1: 69.7\nMATH-500 pass@1: 93.9\nCodeForces Rating: 1481\nMô hình này đã thể hiện hiệu suất cạnh tranh tương đương với các mô hình tiên tiến lớn hơn thông qua việc tinh chỉnh từ đầu ra của DeepSeek R1."
703
+ },
704
+ "deepseek/deepseek-r1-distill-qwen-32b": {
705
+ "description": "DeepSeek R1 Distill Qwen 32B là một mô hình ngôn ngữ lớn đã được tinh chế dựa trên Qwen 2.5 32B, được đào tạo bằng cách sử dụng đầu ra từ DeepSeek R1. Mô hình này đã vượt qua o1-mini của OpenAI trong nhiều bài kiểm tra chuẩn, đạt được những thành tựu công nghệ tiên tiến nhất trong các mô hình dày đặc (dense models). Dưới đây là một số kết quả từ các bài kiểm tra chuẩn:\nAIME 2024 pass@1: 72.6\nMATH-500 pass@1: 94.3\nCodeForces Rating: 1691\nMô hình này đã thể hiện hiệu suất cạnh tranh tương đương với các mô hình tiên tiến lớn hơn thông qua việc tinh chỉnh từ đầu ra của DeepSeek R1."
706
+ },
707
+ "deepseek/deepseek-r1/community": {
708
+ "description": "DeepSeek R1 là mô hình mã nguồn mở mới nhất được phát hành bởi đội ngũ DeepSeek, có hiệu suất suy diễn rất mạnh mẽ, đặc biệt trong các nhiệm vụ toán học, lập trình và suy luận, đạt được mức độ tương đương với mô hình o1 của OpenAI."
709
+ },
686
710
  "deepseek/deepseek-r1:free": {
687
711
  "description": "DeepSeek-R1 đã nâng cao khả năng suy luận của mô hình một cách đáng kể với rất ít dữ liệu được gán nhãn. Trước khi đưa ra câu trả lời cuối cùng, mô hình sẽ xuất ra một chuỗi suy nghĩ để nâng cao độ chính xác của câu trả lời cuối cùng."
688
712
  },
713
+ "deepseek/deepseek-v3": {
714
+ "description": "DeepSeek-V3 đã đạt được bước đột phá lớn về tốc độ suy diễn so với các mô hình trước đó. Nó đứng đầu trong số các mô hình mã nguồn mở và có thể so sánh với các mô hình đóng nguồn tiên tiến nhất trên toàn cầu. DeepSeek-V3 sử dụng kiến trúc Attention đa đầu (MLA) và DeepSeekMoE, những kiến trúc này đã được xác thực toàn diện trong DeepSeek-V2. Hơn nữa, DeepSeek-V3 đã sáng tạo ra một chiến lược phụ trợ không mất mát cho cân bằng tải và thiết lập mục tiêu đào tạo dự đoán đa nhãn để đạt được hiệu suất mạnh mẽ hơn."
715
+ },
716
+ "deepseek/deepseek-v3/community": {
717
+ "description": "DeepSeek-V3 đã đạt được bước đột phá lớn về tốc độ suy diễn so với các mô hình trước đó. Nó đứng đầu trong số các mô hình mã nguồn mở và có thể so sánh với các mô hình đóng nguồn tiên tiến nhất trên toàn cầu. DeepSeek-V3 sử dụng kiến trúc Attention đa đầu (MLA) và DeepSeekMoE, những kiến trúc này đã được xác thực toàn diện trong DeepSeek-V2. Hơn nữa, DeepSeek-V3 đã sáng tạo ra một chiến lược phụ trợ không mất mát cho cân bằng tải và thiết lập mục tiêu đào tạo dự đoán đa nhãn để đạt được hiệu suất mạnh mẽ hơn."
718
+ },
689
719
  "doubao-1.5-lite-32k": {
690
720
  "description": "Doubao-1.5-lite là mô hình phiên bản nhẹ thế hệ mới, tốc độ phản hồi cực nhanh, hiệu quả và độ trễ đạt tiêu chuẩn hàng đầu thế giới."
691
721
  },
@@ -1253,6 +1283,9 @@
1253
1283
  "meta-llama/llama-3.2-11b-vision-instruct": {
1254
1284
  "description": "LLaMA 3.2 được thiết kế để xử lý các nhiệm vụ kết hợp dữ liệu hình ảnh và văn bản. Nó thể hiện xuất sắc trong các nhiệm vụ mô tả hình ảnh và hỏi đáp hình ảnh, vượt qua ranh giới giữa sinh ngôn ngữ và suy diễn hình ảnh."
1255
1285
  },
1286
+ "meta-llama/llama-3.2-3b-instruct": {
1287
+ "description": "meta-llama/llama-3.2-3b-instruct"
1288
+ },
1256
1289
  "meta-llama/llama-3.2-90b-vision-instruct": {
1257
1290
  "description": "LLaMA 3.2 được thiết kế để xử lý các nhiệm vụ kết hợp dữ liệu hình ảnh và văn bản. Nó thể hiện xuất sắc trong các nhiệm vụ mô tả hình ảnh và hỏi đáp hình ảnh, vượt qua ranh giới giữa sinh ngôn ngữ và suy diễn hình ảnh."
1258
1291
  },
@@ -1517,9 +1550,21 @@
1517
1550
  "qwen-vl-v1": {
1518
1551
  "description": "Mô hình được khởi tạo bằng mô hình ngôn ngữ Qwen-7B, thêm mô hình hình ảnh, mô hình được huấn luyện trước với độ phân giải đầu vào hình ảnh là 448."
1519
1552
  },
1553
+ "qwen/qwen-2-7b-instruct": {
1554
+ "description": "Qwen2 là dòng mô hình ngôn ngữ lớn hoàn toàn mới. Qwen2 7B là một mô hình dựa trên transformer, thể hiện xuất sắc trong việc hiểu ngôn ngữ, khả năng đa ngôn ngữ, lập trình, toán học và suy luận."
1555
+ },
1520
1556
  "qwen/qwen-2-7b-instruct:free": {
1521
1557
  "description": "Qwen2 là một loạt mô hình ngôn ngữ lớn hoàn toàn mới, có khả năng hiểu và sinh mạnh mẽ hơn."
1522
1558
  },
1559
+ "qwen/qwen-2-vl-72b-instruct": {
1560
+ "description": "Qwen2-VL là phiên bản cải tiến mới nhất của mô hình Qwen-VL, đã đạt được hiệu suất tiên tiến trong các bài kiểm tra hiểu biết thị giác, bao gồm MathVista, DocVQA, RealWorldQA và MTVQA. Qwen2-VL có khả năng hiểu video dài hơn 20 phút, phục vụ cho các câu hỏi, đối thoại và sáng tạo nội dung dựa trên video chất lượng cao. Nó cũng có khả năng suy luận và ra quyết định phức tạp, có thể tích hợp với các thiết bị di động, robot, v.v., để thực hiện các thao tác tự động dựa trên môi trường thị giác và hướng dẫn văn bản. Ngoài tiếng Anh và tiếng Trung, Qwen2-VL hiện cũng hỗ trợ hiểu văn bản trong hình ảnh bằng nhiều ngôn ngữ khác nhau, bao gồm hầu hết các ngôn ngữ châu Âu, tiếng Nhật, tiếng Hàn, tiếng Ả Rập và tiếng Việt."
1561
+ },
1562
+ "qwen/qwen-2.5-72b-instruct": {
1563
+ "description": "Qwen2.5-72B-Instruct là một trong những mô hình ngôn ngữ lớn mới nhất được phát hành bởi Alibaba Cloud. Mô hình 72B này có khả năng cải thiện đáng kể trong các lĩnh vực như mã hóa và toán học. Mô hình cũng cung cấp hỗ trợ đa ngôn ngữ, bao gồm hơn 29 ngôn ngữ, bao gồm tiếng Trung, tiếng Anh, v.v. Mô hình đã có sự cải thiện đáng kể trong việc theo dõi hướng dẫn, hiểu dữ liệu có cấu trúc và tạo ra đầu ra có cấu trúc (đặc biệt là JSON)."
1564
+ },
1565
+ "qwen/qwen2.5-32b-instruct": {
1566
+ "description": "Qwen2.5-32B-Instruct là một trong những mô hình ngôn ngữ lớn mới nhất được phát hành bởi Alibaba Cloud. Mô hình 32B này có khả năng cải thiện đáng kể trong các lĩnh vực như mã hóa và toán học. Mô hình cung cấp hỗ trợ đa ngôn ngữ, bao gồm hơn 29 ngôn ngữ, bao gồm tiếng Trung, tiếng Anh, v.v. Mô hình đã có sự cải thiện đáng kể trong việc theo dõi hướng dẫn, hiểu dữ liệu có cấu trúc và tạo ra đầu ra có cấu trúc (đặc biệt là JSON)."
1567
+ },
1523
1568
  "qwen/qwen2.5-7b-instruct": {
1524
1569
  "description": "LLM hướng đến tiếng Trung và tiếng Anh, tập trung vào ngôn ngữ, lập trình, toán học, suy luận và các lĩnh vực khác."
1525
1570
  },
@@ -1667,6 +1712,9 @@
1667
1712
  "text-embedding-3-small": {
1668
1713
  "description": "Mô hình Embedding thế hệ mới hiệu quả và tiết kiệm, phù hợp cho tìm kiếm kiến thức, ứng dụng RAG và các tình huống khác."
1669
1714
  },
1715
+ "thudm/glm-4-9b-chat": {
1716
+ "description": "Phiên bản mã nguồn mở của thế hệ mô hình tiền huấn luyện GLM-4 mới nhất được phát hành bởi Zhiyu AI."
1717
+ },
1670
1718
  "togethercomputer/StripedHyena-Nous-7B": {
1671
1719
  "description": "StripedHyena Nous (7B) cung cấp khả năng tính toán nâng cao thông qua chiến lược và kiến trúc mô hình hiệu quả."
1672
1720
  },
@@ -89,6 +89,9 @@
89
89
  "perplexity": {
90
90
  "description": "Perplexity là nhà cung cấp mô hình tạo đối thoại hàng đầu, cung cấp nhiều mô hình Llama 3.1 tiên tiến, hỗ trợ ứng dụng trực tuyến và ngoại tuyến, đặc biệt phù hợp cho các nhiệm vụ xử lý ngôn ngữ tự nhiên phức tạp."
91
91
  },
92
+ "ppio": {
93
+ "description": "PPIO派欧云 cung cấp dịch vụ API mô hình mã nguồn mở ổn định, hiệu quả chi phí cao, hỗ trợ toàn bộ dòng sản phẩm DeepSeek, Llama, Qwen và các mô hình lớn hàng đầu trong ngành."
94
+ },
92
95
  "qwen": {
93
96
  "description": "Qwen là mô hình ngôn ngữ quy mô lớn tự phát triển của Alibaba Cloud, có khả năng hiểu và tạo ngôn ngữ tự nhiên mạnh mẽ. Nó có thể trả lời nhiều câu hỏi, sáng tác nội dung văn bản, bày tỏ quan điểm, viết mã, v.v., hoạt động trong nhiều lĩnh vực."
94
97
  },
@@ -79,6 +79,35 @@
79
79
  "deleteDisabledByThreads": "存在子话题,不能删除",
80
80
  "regenerate": "重新生成"
81
81
  },
82
+ "messages": {
83
+ "modelCard": {
84
+ "credit": "积分",
85
+ "creditPricing": "定价",
86
+ "creditTooltip": "为便于计数,我们将 1$ 折算为 1M 积分,例如 $3/M tokens 即可折算为 3积分/token",
87
+ "pricing": {
88
+ "inputCachedTokens": "缓存输入 {{amount}}/积分 · ${{amount}}/M",
89
+ "inputCharts": "${{amount}}/M 字符",
90
+ "inputMinutes": "${{amount}}/分钟",
91
+ "inputTokens": "输入 {{amount}}/积分 · ${{amount}}/M",
92
+ "outputTokens": "输出 {{amount}}/积分 · ${{amount}}/M"
93
+ }
94
+ },
95
+ "tokenDetails": {
96
+ "input": "输入",
97
+ "inputAudio": "音频输入",
98
+ "inputCached": "输入缓存",
99
+ "inputText": "文本输入",
100
+ "inputTitle": "输入明细",
101
+ "inputUncached": "输入未缓存",
102
+ "output": "输出",
103
+ "outputAudio": "音频输出",
104
+ "outputText": "文本输出",
105
+ "outputTitle": "输出明细",
106
+ "reasoning": "深度思考",
107
+ "title": "生成明细",
108
+ "total": "总计消耗"
109
+ }
110
+ },
82
111
  "newAgent": "新建助手",
83
112
  "pin": "置顶",
84
113
  "pinOff": "取消置顶",
@@ -8,6 +8,12 @@
8
8
  "01-ai/Yi-1.5-9B-Chat-16K": {
9
9
  "description": "Yi-1.5-9B-Chat-16K 是 Yi-1.5 系列的一个变体,属于开源聊天模型。Yi-1.5 是 Yi 的升级版本,在 500B 个高质量语料上进行了持续预训练,并在 3M 多样化的微调样本上进行了微调。相比于 Yi,Yi-1.5 在编码、数学、推理和指令遵循能力方面表现更强,同时保持了出色的语言理解、常识推理和阅读理解能力。该模型在同等规模的开源模型中表现最佳"
10
10
  },
11
+ "01-ai/yi-1.5-34b-chat": {
12
+ "description": "零一万物,最新开源微调模型,340亿参数,微调支持多种对话场景,高质量训练数据,对齐人类偏好。"
13
+ },
14
+ "01-ai/yi-1.5-9b-chat": {
15
+ "description": "零一万物,最新开源微调模型,90亿参数,微调支持多种对话场景,高质量训练数据,对齐人类偏好。"
16
+ },
11
17
  "360gpt-pro": {
12
18
  "description": "360GPT Pro 作为 360 AI 模型系列的重要成员,以高效的文本处理能力满足多样化的自然语言应用场景,支持长文本理解和多轮对话等功能。"
13
19
  },
@@ -503,6 +509,9 @@
503
509
  "aya:35b": {
504
510
  "description": "Aya 23 是 Cohere 推出的多语言模型,支持 23 种语言,为多元化语言应用提供便利。"
505
511
  },
512
+ "baichuan/baichuan2-13b-chat": {
513
+ "description": "Baichuan-13B 百川智能开发的包含 130 亿参数的开源可商用的大规模语言模型,在权威的中文和英文 benchmark 上均取得同尺寸最好的效果"
514
+ },
506
515
  "charglm-3": {
507
516
  "description": "CharGLM-3 专为角色扮演与情感陪伴设计,支持超长多轮记忆与个性化对话,应用广泛。"
508
517
  },
@@ -681,11 +690,32 @@
681
690
  "description": "融合通用与代码能力的全新开源模型, 不仅保留了原有 Chat 模型的通用对话能力和 Coder 模型的强大代码处理能力,还更好地对齐了人类偏好。此外,DeepSeek-V2.5 在写作任务、指令跟随等多个方面也实现了大幅提升。"
682
691
  },
683
692
  "deepseek/deepseek-r1": {
684
- "description": "DeepSeek-R1 在仅有极少标注数据的情况下,极大提升了模型推理能力。在输出最终回答之前,模型会先输出一段思维链内容,以提升最终答案的准确性。"
693
+ "description": "DeepSeek R1是DeepSeek团队发布的最新开源模型,具备非常强悍的推理性能,尤其在数学、编程和推理任务上达到了与OpenAI的o1模型相当的水平。"
694
+ },
695
+ "deepseek/deepseek-r1-distill-llama-70b": {
696
+ "description": "DeepSeek R1 Distill Llama 70B是基于Llama3.3 70B的大型语言模型,该模型利用DeepSeek R1输出的微调,实现了与大型前沿模型相当的竞争性能。"
697
+ },
698
+ "deepseek/deepseek-r1-distill-llama-8b": {
699
+ "description": "DeepSeek R1 Distill Llama 8B 是一种基于 Llama-3.1-8B-Instruct 的蒸馏大语言模型,通过使用 DeepSeek R1 的输出进行训练而得。"
700
+ },
701
+ "deepseek/deepseek-r1-distill-qwen-14b": {
702
+ "description": "DeepSeek R1 Distill Qwen 14B 是一种基于 Qwen 2.5 14B 的蒸馏大语言模型,通过使用 DeepSeek R1 的输出进行训练而得。该模型在多个基准测试中超越了 OpenAI 的 o1-mini,取得了密集模型(dense models)的最新技术领先成果(state-of-the-art)。以下是一些基准测试的结果:\nAIME 2024 pass@1: 69.7\nMATH-500 pass@1: 93.9\nCodeForces Rating: 1481\n该模型通过从 DeepSeek R1 的输出中进行微调,展现了与更大规模的前沿模型相当的竞争性能。"
703
+ },
704
+ "deepseek/deepseek-r1-distill-qwen-32b": {
705
+ "description": "DeepSeek R1 Distill Qwen 32B 是一种基于 Qwen 2.5 32B 的蒸馏大语言模型,通过使用 DeepSeek R1 的输出进行训练而得。该模型在多个基准测试中超越了 OpenAI 的 o1-mini,取得了密集模型(dense models)的最新技术领先成果(state-of-the-art)。以下是一些基准测试的结果:\nAIME 2024 pass@1: 72.6\nMATH-500 pass@1: 94.3\nCodeForces Rating: 1691\n该模型通过从 DeepSeek R1 的输出中进行微调,展现了与更大规模的前沿模型相当的竞争性能。"
706
+ },
707
+ "deepseek/deepseek-r1/community": {
708
+ "description": "DeepSeek R1是DeepSeek团队发布的最新开源模型,具备非常强悍的推理性能,尤其在数学、编程和推理任务上达到了与OpenAI的o1模型相当的水平。"
685
709
  },
686
710
  "deepseek/deepseek-r1:free": {
687
711
  "description": "DeepSeek-R1 在仅有极少标注数据的情况下,极大提升了模型推理能力。在输出最终回答之前,模型会先输出一段思维链内容,以提升最终答案的准确性。"
688
712
  },
713
+ "deepseek/deepseek-v3": {
714
+ "description": "DeepSeek-V3在推理速度方面实现了比之前模型的重大突破。在开源模型中排名第一,并可与全球最先进的闭源模型相媲美。DeepSeek-V3 采用了多头潜在注意力 (MLA) 和 DeepSeekMoE 架构,这些架构在 DeepSeek-V2 中得到了全面验证。此外,DeepSeek-V3 开创了一种用于负载均衡的辅助无损策略,并设定了多标记预测训练目标以获得更强的性能。"
715
+ },
716
+ "deepseek/deepseek-v3/community": {
717
+ "description": "DeepSeek-V3在推理速度方面实现了比之前模型的重大突破。在开源模型中排名第一,并可与全球最先进的闭源模型相媲美。DeepSeek-V3 采用了多头潜在注意力 (MLA) 和 DeepSeekMoE 架构,这些架构在 DeepSeek-V2 中得到了全面验证。此外,DeepSeek-V3 开创了一种用于负载均衡的辅助无损策略,并设定了多标记预测训练目标以获得更强的性能。"
718
+ },
689
719
  "doubao-1.5-lite-32k": {
690
720
  "description": "Doubao-1.5-lite 全新一代轻量版模型,极致响应速度,效果与时延均达到全球一流水平。"
691
721
  },
@@ -1242,10 +1272,10 @@
1242
1272
  "description": "Llama 3 8B Instruct 优化了高质量对话场景,性能优于许多闭源模型。"
1243
1273
  },
1244
1274
  "meta-llama/llama-3.1-70b-instruct": {
1245
- "description": "Llama 3.1 70B Instruct 专为高质量对话而设计,在人类评估中表现突出,特别适合高交互场景。"
1275
+ "description": "Meta最新一代的Llama 3.1模型系列,70B(700亿参数)的指令微调版本针对高质量对话场景进行了优化。在业界评估中,与领先的闭源模型相比,它展现出了强劲的性能。(仅针对企业实名认证通过主体开放)"
1246
1276
  },
1247
1277
  "meta-llama/llama-3.1-8b-instruct": {
1248
- "description": "Llama 3.1 8B Instruct 是 Meta 推出的最新版本,优化了高质量对话场景,表现优于许多领先的闭源模型。"
1278
+ "description": "Meta最新一代的Llama 3.1模型系列,8B(80亿参数)的指令微调版本特别快速高效。在业界评估中,表现出强劲的性能,超越了很多领先的闭源模型。(仅针对企业实名认证通过主体开放)"
1249
1279
  },
1250
1280
  "meta-llama/llama-3.1-8b-instruct:free": {
1251
1281
  "description": "LLaMA 3.1 提供多语言支持,是业界领先的生成模型之一。"
@@ -1253,6 +1283,9 @@
1253
1283
  "meta-llama/llama-3.2-11b-vision-instruct": {
1254
1284
  "description": "LLaMA 3.2 旨在处理结合视觉和文本数据的任务。它在图像描述和视觉问答等任务中表现出色,跨越了语言生成和视觉推理之间的鸿沟。"
1255
1285
  },
1286
+ "meta-llama/llama-3.2-3b-instruct": {
1287
+ "description": "meta-llama/llama-3.2-3b-instruct"
1288
+ },
1256
1289
  "meta-llama/llama-3.2-90b-vision-instruct": {
1257
1290
  "description": "LLaMA 3.2 旨在处理结合视觉和文本数据的任务。它在图像描述和视觉问答等任务中表现出色,跨越了语言生成和视觉推理之间的鸿沟。"
1258
1291
  },
@@ -1517,9 +1550,21 @@
1517
1550
  "qwen-vl-v1": {
1518
1551
  "description": "以 Qwen-7B 语言模型初始化,添加图像模型,图像输入分辨率为448的预训练模型。"
1519
1552
  },
1553
+ "qwen/qwen-2-7b-instruct": {
1554
+ "description": "Qwen2是全新的Qwen大型语言模型系列。Qwen2 7B是一个基于transformer的模型,在语言理解、多语言能力、编程、数学和推理方面表现出色。"
1555
+ },
1520
1556
  "qwen/qwen-2-7b-instruct:free": {
1521
1557
  "description": "Qwen2 是全新的大型语言模型系列,具有更强的理解和生成能力。"
1522
1558
  },
1559
+ "qwen/qwen-2-vl-72b-instruct": {
1560
+ "description": "Qwen2-VL 是 Qwen-VL 模型的最新迭代版本,在视觉理解基准测试中达到了最先进的性能,包括 MathVista、DocVQA、RealWorldQA 和 MTVQA 等。Qwen2-VL 能够理解超过 20 分钟的视频,用于高质量的基于视频的问答、对话和内容创作。它还具备复杂推理和决策能力,可以与移动设备、机器人等集成,基于视觉环境和文本指令进行自动操作。除了英语和中文,Qwen2-VL 现在还支持理解图像中不同语言的文本,包括大多数欧洲语言、日语、韩语、阿拉伯语和越南语等"
1561
+ },
1562
+ "qwen/qwen-2.5-72b-instruct": {
1563
+ "description": "Qwen2.5-72B-Instruct 是阿里云发布的最新大语言模型系列之一。该 72B 模型在编码和数学等领域具有显著改进的能力。该模型还提供了多语言支持,覆盖超过 29 种语言,包括中文、英文等。模型在指令跟随、理解结构化数据以及生成结构化输出(尤其是 JSON)方面都有显著提升。"
1564
+ },
1565
+ "qwen/qwen2.5-32b-instruct": {
1566
+ "description": "Qwen2.5-32B-Instruct 是阿里云发布的最新大语言模型系列之一。该 32B 模型在编码和数学等领域具有显著改进的能力。该模型提供了多语言支持,覆盖超过 29 种语言,包括中文、英文等。模型在指令跟随、理解结构化数据以及生成结构化输出(尤其是 JSON)方面都有显著提升。"
1567
+ },
1523
1568
  "qwen/qwen2.5-7b-instruct": {
1524
1569
  "description": "面向中文和英文的 LLM,针对语言、编程、数学、推理等领域。"
1525
1570
  },
@@ -1667,6 +1712,9 @@
1667
1712
  "text-embedding-3-small": {
1668
1713
  "description": "高效且经济的新一代 Embedding 模型,适用于知识检索、RAG 应用等场景"
1669
1714
  },
1715
+ "thudm/glm-4-9b-chat": {
1716
+ "description": "智谱AI发布的GLM-4系列最新一代预训练模型的开源版本。"
1717
+ },
1670
1718
  "togethercomputer/StripedHyena-Nous-7B": {
1671
1719
  "description": "StripedHyena Nous (7B) 通过高效的策略和模型架构,提供增强的计算能力。"
1672
1720
  },
@@ -89,6 +89,9 @@
89
89
  "perplexity": {
90
90
  "description": "Perplexity 是一家领先的对话生成模型提供商,提供多种先进的Llama 3.1模型,支持在线和离线应用,特别适用于复杂的自然语言处理任务。"
91
91
  },
92
+ "ppio": {
93
+ "description": "PPIO 派欧云提供稳定、高性价比的开源模型 API 服务,支持 DeepSeek 全系列、Llama、Qwen 等行业领先大模型。"
94
+ },
92
95
  "qwen": {
93
96
  "description": "通义千问是阿里云自主研发的超大规模语言模型,具有强大的自然语言理解和生成能力。它可以回答各种问题、创作文字内容、表达观点看法、撰写代码等,在多个领域发挥作用。"
94
97
  },
@@ -139,9 +142,5 @@
139
142
  },
140
143
  "zhipu": {
141
144
  "description": "智谱 AI 提供多模态与语言模型的开放平台,支持广泛的AI应用场景,包括文本处理、图像理解与编程辅助等。"
142
- },
143
- "ppio": {
144
- "description": "PPIO 派欧云提供稳定、高性价比的开源模型 API 服务,支持 DeepSeek 全系列、Llama、Qwen 等行业领先大模型。"
145
145
  }
146
146
  }
147
-
@@ -79,6 +79,35 @@
79
79
  "deleteDisabledByThreads": "存在子話題,無法刪除",
80
80
  "regenerate": "重新生成"
81
81
  },
82
+ "messages": {
83
+ "modelCard": {
84
+ "credit": "積分",
85
+ "creditPricing": "定價",
86
+ "creditTooltip": "為便於計算,我們將 1$ 折算為 1M 積分,例如 $3/M tokens 即可折算為 3積分/token",
87
+ "pricing": {
88
+ "inputCachedTokens": "快取輸入 {{amount}}/積分 · ${{amount}}/M",
89
+ "inputCharts": "${{amount}}/M 字元",
90
+ "inputMinutes": "${{amount}}/分鐘",
91
+ "inputTokens": "輸入 {{amount}}/積分 · ${{amount}}/M",
92
+ "outputTokens": "輸出 {{amount}}/積分 · ${{amount}}/M"
93
+ }
94
+ },
95
+ "tokenDetails": {
96
+ "input": "輸入",
97
+ "inputAudio": "音頻輸入",
98
+ "inputCached": "輸入快取",
99
+ "inputText": "文本輸入",
100
+ "inputTitle": "輸入明細",
101
+ "inputUncached": "輸入未快取",
102
+ "output": "輸出",
103
+ "outputAudio": "音頻輸出",
104
+ "outputText": "文本輸出",
105
+ "outputTitle": "輸出明細",
106
+ "reasoning": "深度思考",
107
+ "title": "生成明細",
108
+ "total": "總計消耗"
109
+ }
110
+ },
82
111
  "newAgent": "新建助手",
83
112
  "pin": "置頂",
84
113
  "pinOff": "取消置頂",
@@ -8,6 +8,12 @@
8
8
  "01-ai/Yi-1.5-9B-Chat-16K": {
9
9
  "description": "Yi-1.5 9B 支持16K Tokens,提供高效、流暢的語言生成能力。"
10
10
  },
11
+ "01-ai/yi-1.5-34b-chat": {
12
+ "description": "零一萬物,最新開源微調模型,340億參數,微調支持多種對話場景,高質量訓練數據,對齊人類偏好。"
13
+ },
14
+ "01-ai/yi-1.5-9b-chat": {
15
+ "description": "零一萬物,最新開源微調模型,90億參數,微調支持多種對話場景,高質量訓練數據,對齊人類偏好。"
16
+ },
11
17
  "360gpt-pro": {
12
18
  "description": "360GPT Pro 作為 360 AI 模型系列的重要成員,以高效的文本處理能力滿足多樣化的自然語言應用場景,支持長文本理解和多輪對話等功能。"
13
19
  },
@@ -503,6 +509,9 @@
503
509
  "aya:35b": {
504
510
  "description": "Aya 23 是 Cohere 推出的多語言模型,支持 23 種語言,為多元化語言應用提供便利。"
505
511
  },
512
+ "baichuan/baichuan2-13b-chat": {
513
+ "description": "Baichuan-13B百川智能開發的包含130億參數的開源可商用的大規模語言模型,在權威的中文和英文benchmark上均取得同尺寸最好的效果。"
514
+ },
506
515
  "charglm-3": {
507
516
  "description": "CharGLM-3專為角色扮演與情感陪伴設計,支持超長多輪記憶與個性化對話,應用廣泛。"
508
517
  },
@@ -683,9 +692,30 @@
683
692
  "deepseek/deepseek-r1": {
684
693
  "description": "DeepSeek-R1 在僅有極少標註數據的情況下,極大提升了模型推理能力。在輸出最終回答之前,模型會先輸出一段思維鏈內容,以提升最終答案的準確性。"
685
694
  },
695
+ "deepseek/deepseek-r1-distill-llama-70b": {
696
+ "description": "DeepSeek R1 Distill Llama 70B是基於Llama3.3 70B的大型語言模型,該模型利用DeepSeek R1輸出的微調,實現了與大型前沿模型相當的競爭性能。"
697
+ },
698
+ "deepseek/deepseek-r1-distill-llama-8b": {
699
+ "description": "DeepSeek R1 Distill Llama 8B是一種基於Llama-3.1-8B-Instruct的蒸餾大語言模型,通過使用DeepSeek R1的輸出進行訓練而得。"
700
+ },
701
+ "deepseek/deepseek-r1-distill-qwen-14b": {
702
+ "description": "DeepSeek R1 Distill Qwen 14B是一種基於Qwen 2.5 14B的蒸餾大語言模型,通過使用DeepSeek R1的輸出進行訓練而得。該模型在多個基準測試中超越了OpenAI的o1-mini,取得了密集模型(dense models)的最新技術領先成果(state-of-the-art)。以下是一些基準測試的結果:\nAIME 2024 pass@1: 69.7\nMATH-500 pass@1: 93.9\nCodeForces Rating: 1481\n該模型通過從DeepSeek R1的輸出中進行微調,展現了與更大規模的前沿模型相當的競爭性能。"
703
+ },
704
+ "deepseek/deepseek-r1-distill-qwen-32b": {
705
+ "description": "DeepSeek R1 Distill Qwen 32B是一種基於Qwen 2.5 32B的蒸餾大語言模型,通過使用DeepSeek R1的輸出進行訓練而得。該模型在多個基準測試中超越了OpenAI的o1-mini,取得了密集模型(dense models)的最新技術領先成果(state-of-the-art)。以下是一些基準測試的結果:\nAIME 2024 pass@1: 72.6\nMATH-500 pass@1: 94.3\nCodeForces Rating: 1691\n該模型通過從DeepSeek R1的輸出中進行微調,展現了與更大規模的前沿模型相當的競爭性能。"
706
+ },
707
+ "deepseek/deepseek-r1/community": {
708
+ "description": "DeepSeek R1是DeepSeek團隊發布的最新開源模型,具備非常強悍的推理性能,尤其在數學、編程和推理任務上達到了與OpenAI的o1模型相當的水平。"
709
+ },
686
710
  "deepseek/deepseek-r1:free": {
687
711
  "description": "DeepSeek-R1 在僅有極少標註數據的情況下,極大提升了模型推理能力。在輸出最終回答之前,模型會先輸出一段思維鏈內容,以提升最終答案的準確性。"
688
712
  },
713
+ "deepseek/deepseek-v3": {
714
+ "description": "DeepSeek-V3在推理速度方面實現了比之前模型的重大突破。在開源模型中排名第一,並可與全球最先進的閉源模型相媲美。DeepSeek-V3 采用了多頭潛在注意力(MLA)和DeepSeekMoE架構,這些架構在DeepSeek-V2中得到了全面驗證。此外,DeepSeek-V3開創了一種用於負載均衡的輔助無損策略,並設定了多標記預測訓練目標以獲得更強的性能。"
715
+ },
716
+ "deepseek/deepseek-v3/community": {
717
+ "description": "DeepSeek-V3在推理速度方面實現了比之前模型的重大突破。在開源模型中排名第一,並可與全球最先進的閉源模型相媲美。DeepSeek-V3 采用了多頭潛在注意力(MLA)和DeepSeekMoE架構,這些架構在DeepSeek-V2中得到了全面驗證。此外,DeepSeek-V3開創了一種用於負載均衡的輔助無損策略,並設定了多標記預測訓練目標以獲得更強的性能。"
718
+ },
689
719
  "doubao-1.5-lite-32k": {
690
720
  "description": "Doubao-1.5-lite 全新一代輕量版模型,極致響應速度,效果與時延均達到全球一流水平。"
691
721
  },
@@ -1253,6 +1283,9 @@
1253
1283
  "meta-llama/llama-3.2-11b-vision-instruct": {
1254
1284
  "description": "LLaMA 3.2 旨在處理結合視覺和文本數據的任務。它在圖像描述和視覺問答等任務中表現出色,跨越了語言生成和視覺推理之間的鴻溝。"
1255
1285
  },
1286
+ "meta-llama/llama-3.2-3b-instruct": {
1287
+ "description": "meta-llama/llama-3.2-3b-instruct"
1288
+ },
1256
1289
  "meta-llama/llama-3.2-90b-vision-instruct": {
1257
1290
  "description": "LLaMA 3.2 旨在處理結合視覺和文本數據的任務。它在圖像描述和視覺問答等任務中表現出色,跨越了語言生成和視覺推理之間的鴻溝。"
1258
1291
  },
@@ -1517,9 +1550,21 @@
1517
1550
  "qwen-vl-v1": {
1518
1551
  "description": "以Qwen-7B語言模型初始化,添加圖像模型,圖像輸入分辨率為448的預訓練模型。"
1519
1552
  },
1553
+ "qwen/qwen-2-7b-instruct": {
1554
+ "description": "Qwen2是全新的Qwen大型語言模型系列。Qwen2 7B是一個基於transformer的模型,在語言理解、多語言能力、編程、數學和推理方面表現出色。"
1555
+ },
1520
1556
  "qwen/qwen-2-7b-instruct:free": {
1521
1557
  "description": "Qwen2 是全新的大型語言模型系列,具有更強的理解和生成能力。"
1522
1558
  },
1559
+ "qwen/qwen-2-vl-72b-instruct": {
1560
+ "description": "Qwen2-VL是Qwen-VL模型的最新迭代版本,在視覺理解基準測試中達到了最先進的性能,包括MathVista、DocVQA、RealWorldQA和MTVQA等。Qwen2-VL能夠理解超過20分鐘的視頻,用於高質量的基於視頻的問答、對話和內容創作。它還具備複雜推理和決策能力,可以與移動設備、機器人等集成,基於視覺環境和文本指令進行自動操作。除了英語和中文,Qwen2-VL現在還支持理解圖像中不同語言的文本,包括大多數歐洲語言、日語、韓語、阿拉伯語和越南語等。"
1561
+ },
1562
+ "qwen/qwen-2.5-72b-instruct": {
1563
+ "description": "Qwen2.5-72B-Instruct是阿里雲發布的最新大語言模型系列之一。該72B模型在編碼和數學等領域具有顯著改進的能力。該模型還提供了多語言支持,覆蓋超過29種語言,包括中文、英文等。模型在指令跟隨、理解結構化數據以及生成結構化輸出(尤其是JSON)方面都有顯著提升。"
1564
+ },
1565
+ "qwen/qwen2.5-32b-instruct": {
1566
+ "description": "Qwen2.5-32B-Instruct是阿里雲發布的最新大語言模型系列之一。該32B模型在編碼和數學等領域具有顯著改進的能力。該模型提供了多語言支持,覆蓋超過29種語言,包括中文、英文等。模型在指令跟隨、理解結構化數據以及生成結構化輸出(尤其是JSON)方面都有顯著提升。"
1567
+ },
1523
1568
  "qwen/qwen2.5-7b-instruct": {
1524
1569
  "description": "面向中文和英文的 LLM,針對語言、編程、數學、推理等領域。"
1525
1570
  },
@@ -1667,6 +1712,9 @@
1667
1712
  "text-embedding-3-small": {
1668
1713
  "description": "高效且經濟的新一代 Embedding 模型,適用於知識檢索、RAG 應用等場景"
1669
1714
  },
1715
+ "thudm/glm-4-9b-chat": {
1716
+ "description": "智譜AI發布的GLM-4系列最新一代預訓練模型的開源版本。"
1717
+ },
1670
1718
  "togethercomputer/StripedHyena-Nous-7B": {
1671
1719
  "description": "StripedHyena Nous (7B) 通過高效的策略和模型架構,提供增強的計算能力。"
1672
1720
  },
@@ -89,6 +89,9 @@
89
89
  "perplexity": {
90
90
  "description": "Perplexity 是一家領先的對話生成模型提供商,提供多種先進的 Llama 3.1 模型,支持在線和離線應用,特別適用於複雜的自然語言處理任務。"
91
91
  },
92
+ "ppio": {
93
+ "description": "PPIO 派歐雲提供穩定、高性價比的開源模型 API 服務,支持 DeepSeek 全系列、Llama、Qwen 等行業領先的大模型。"
94
+ },
92
95
  "qwen": {
93
96
  "description": "通義千問是阿里雲自主研發的超大規模語言模型,具有強大的自然語言理解和生成能力。它可以回答各種問題、創作文字內容、表達觀點看法、撰寫代碼等,在多個領域發揮作用。"
94
97
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.68.2",
3
+ "version": "1.68.4",
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",
@@ -0,0 +1,169 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+
3
+ import { jina } from '../jina';
4
+
5
+ describe('jina crawler', () => {
6
+ const mockFetch = vi.fn();
7
+ global.fetch = mockFetch;
8
+
9
+ beforeEach(() => {
10
+ vi.resetAllMocks();
11
+ });
12
+
13
+ it('should crawl url successfully', async () => {
14
+ const mockResponse = {
15
+ ok: true,
16
+ json: () =>
17
+ Promise.resolve({
18
+ code: 200,
19
+ data: {
20
+ content: 'test content',
21
+ description: 'test description',
22
+ siteName: 'test site',
23
+ title: 'test title',
24
+ },
25
+ }),
26
+ };
27
+
28
+ mockFetch.mockResolvedValue(mockResponse);
29
+
30
+ const result = await jina('https://example.com', {
31
+ apiKey: 'test-key',
32
+ filterOptions: {},
33
+ });
34
+
35
+ expect(mockFetch).toHaveBeenCalledWith('https://r.jina.ai/https://example.com', {
36
+ headers: {
37
+ 'Accept': 'application/json',
38
+ 'Authorization': 'Bearer test-key',
39
+ 'x-send-from': 'LobeChat Community',
40
+ },
41
+ });
42
+
43
+ expect(result).toEqual({
44
+ content: 'test content',
45
+ contentType: 'text',
46
+ description: 'test description',
47
+ length: 12,
48
+ siteName: 'test site',
49
+ title: 'test title',
50
+ url: 'https://example.com',
51
+ });
52
+ });
53
+
54
+ it('should use JINA_READER_API_KEY from env if apiKey not provided', async () => {
55
+ process.env.JINA_READER_API_KEY = 'env-reader-key';
56
+
57
+ const mockResponse = {
58
+ ok: true,
59
+ json: () =>
60
+ Promise.resolve({
61
+ code: 200,
62
+ data: {
63
+ content: 'test content',
64
+ },
65
+ }),
66
+ };
67
+
68
+ mockFetch.mockResolvedValue(mockResponse);
69
+
70
+ await jina('https://example.com', { filterOptions: {} });
71
+
72
+ expect(mockFetch).toHaveBeenCalledWith('https://r.jina.ai/https://example.com', {
73
+ headers: {
74
+ 'Accept': 'application/json',
75
+ 'Authorization': 'Bearer env-reader-key',
76
+ 'x-send-from': 'LobeChat Community',
77
+ },
78
+ });
79
+
80
+ delete process.env.JINA_READER_API_KEY;
81
+ });
82
+
83
+ it('should use JINA_API_KEY from env if apiKey and JINA_READER_API_KEY not provided', async () => {
84
+ process.env.JINA_API_KEY = 'env-key';
85
+
86
+ const mockResponse = {
87
+ ok: true,
88
+ json: () =>
89
+ Promise.resolve({
90
+ code: 200,
91
+ data: {
92
+ content: 'test content',
93
+ },
94
+ }),
95
+ };
96
+
97
+ mockFetch.mockResolvedValue(mockResponse);
98
+
99
+ await jina('https://example.com', { filterOptions: {} });
100
+
101
+ expect(mockFetch).toHaveBeenCalledWith('https://r.jina.ai/https://example.com', {
102
+ headers: {
103
+ 'Accept': 'application/json',
104
+ 'Authorization': 'Bearer env-key',
105
+ 'x-send-from': 'LobeChat Community',
106
+ },
107
+ });
108
+
109
+ delete process.env.JINA_API_KEY;
110
+ });
111
+
112
+ it('should send empty Authorization header if no api key provided', async () => {
113
+ const mockResponse = {
114
+ ok: true,
115
+ json: () =>
116
+ Promise.resolve({
117
+ code: 200,
118
+ data: {
119
+ content: 'test content',
120
+ },
121
+ }),
122
+ };
123
+
124
+ mockFetch.mockResolvedValue(mockResponse);
125
+
126
+ await jina('https://example.com', { filterOptions: {} });
127
+
128
+ expect(mockFetch).toHaveBeenCalledWith('https://r.jina.ai/https://example.com', {
129
+ headers: {
130
+ 'Accept': 'application/json',
131
+ 'Authorization': '',
132
+ 'x-send-from': 'LobeChat Community',
133
+ },
134
+ });
135
+ });
136
+
137
+ it('should return undefined if response is not ok', async () => {
138
+ mockFetch.mockResolvedValue({ ok: false });
139
+
140
+ const result = await jina('https://example.com', { filterOptions: {} });
141
+
142
+ expect(result).toBeUndefined();
143
+ });
144
+
145
+ it('should return undefined if response code is not 200', async () => {
146
+ const mockResponse = {
147
+ ok: true,
148
+ json: () =>
149
+ Promise.resolve({
150
+ code: 400,
151
+ message: 'Bad Request',
152
+ }),
153
+ };
154
+
155
+ mockFetch.mockResolvedValue(mockResponse);
156
+
157
+ const result = await jina('https://example.com', { filterOptions: {} });
158
+
159
+ expect(result).toBeUndefined();
160
+ });
161
+
162
+ it('should return undefined if fetch throws error', async () => {
163
+ mockFetch.mockRejectedValue(new Error('Network error'));
164
+
165
+ const result = await jina('https://example.com', { filterOptions: {} });
166
+
167
+ expect(result).toBeUndefined();
168
+ });
169
+ });
@@ -1,7 +1,7 @@
1
1
  import { CrawlImpl } from '../type';
2
2
 
3
3
  export const jina: CrawlImpl<{ apiKey?: string }> = async (url, params) => {
4
- const token = params.apiKey ?? process.env.JINA_API_KEY;
4
+ const token = params.apiKey ?? process.env.JINA_READER_API_KEY ?? process.env.JINA_API_KEY;
5
5
 
6
6
  try {
7
7
  const res = await fetch(`https://r.jina.ai/${url}`, {