@lobehub/chat 0.137.0 → 0.138.1

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 (78) hide show
  1. package/.env.example +11 -5
  2. package/CHANGELOG.md +50 -0
  3. package/docs/self-hosting/environment-variables/model-provider.mdx +9 -2
  4. package/docs/self-hosting/environment-variables/model-provider.zh-CN.mdx +9 -2
  5. package/locales/ar/common.json +1 -0
  6. package/locales/ar/error.json +6 -0
  7. package/locales/ar/setting.json +8 -0
  8. package/locales/de-DE/common.json +1 -0
  9. package/locales/de-DE/error.json +6 -0
  10. package/locales/de-DE/setting.json +8 -0
  11. package/locales/en-US/common.json +1 -0
  12. package/locales/en-US/error.json +6 -0
  13. package/locales/en-US/setting.json +8 -0
  14. package/locales/es-ES/common.json +1 -0
  15. package/locales/es-ES/error.json +6 -0
  16. package/locales/es-ES/setting.json +8 -0
  17. package/locales/fr-FR/common.json +1 -0
  18. package/locales/fr-FR/error.json +6 -0
  19. package/locales/fr-FR/setting.json +8 -0
  20. package/locales/it-IT/common.json +1 -0
  21. package/locales/it-IT/error.json +6 -0
  22. package/locales/it-IT/setting.json +8 -0
  23. package/locales/ja-JP/common.json +1 -0
  24. package/locales/ja-JP/error.json +6 -0
  25. package/locales/ja-JP/setting.json +8 -0
  26. package/locales/ko-KR/common.json +1 -0
  27. package/locales/ko-KR/error.json +6 -0
  28. package/locales/ko-KR/setting.json +8 -0
  29. package/locales/nl-NL/common.json +1 -0
  30. package/locales/nl-NL/error.json +6 -0
  31. package/locales/nl-NL/setting.json +8 -0
  32. package/locales/pl-PL/common.json +1 -0
  33. package/locales/pl-PL/error.json +6 -0
  34. package/locales/pl-PL/setting.json +8 -0
  35. package/locales/pt-BR/common.json +1 -0
  36. package/locales/pt-BR/error.json +6 -0
  37. package/locales/pt-BR/setting.json +8 -0
  38. package/locales/ru-RU/common.json +1 -0
  39. package/locales/ru-RU/error.json +6 -0
  40. package/locales/ru-RU/setting.json +8 -0
  41. package/locales/tr-TR/common.json +1 -0
  42. package/locales/tr-TR/error.json +6 -0
  43. package/locales/tr-TR/setting.json +8 -0
  44. package/locales/vi-VN/common.json +1 -0
  45. package/locales/vi-VN/error.json +6 -0
  46. package/locales/vi-VN/setting.json +8 -0
  47. package/locales/zh-CN/common.json +1 -0
  48. package/locales/zh-CN/error.json +6 -0
  49. package/locales/zh-CN/setting.json +8 -0
  50. package/locales/zh-TW/common.json +1 -0
  51. package/locales/zh-TW/error.json +6 -0
  52. package/locales/zh-TW/setting.json +8 -0
  53. package/package.json +1 -1
  54. package/src/app/api/chat/[provider]/agentRuntime.ts +15 -2
  55. package/src/app/api/config/route.ts +2 -0
  56. package/src/app/api/errorResponse.ts +3 -0
  57. package/src/app/settings/llm/Groq/index.tsx +47 -0
  58. package/src/app/settings/llm/index.tsx +2 -0
  59. package/src/components/ModelProviderIcon/index.tsx +5 -0
  60. package/src/config/modelProviders/groq.ts +24 -0
  61. package/src/config/modelProviders/index.ts +3 -0
  62. package/src/config/server/provider.ts +11 -3
  63. package/src/const/settings.ts +4 -0
  64. package/src/const/url.ts +1 -1
  65. package/src/features/Conversation/Error/APIKeyForm/Groq.tsx +60 -0
  66. package/src/features/Conversation/Error/APIKeyForm/index.tsx +5 -0
  67. package/src/features/Conversation/Error/index.tsx +1 -0
  68. package/src/features/Conversation/components/ChatItem/index.tsx +2 -1
  69. package/src/libs/agent-runtime/error.ts +3 -0
  70. package/src/libs/agent-runtime/groq/index.ts +78 -0
  71. package/src/libs/agent-runtime/index.ts +1 -0
  72. package/src/libs/agent-runtime/types/type.ts +1 -0
  73. package/src/locales/default/common.ts +1 -0
  74. package/src/locales/default/error.ts +7 -0
  75. package/src/locales/default/setting.ts +8 -0
  76. package/src/services/_auth.ts +5 -1
  77. package/src/store/global/slices/settings/selectors/modelProvider.ts +14 -5
  78. package/src/types/settings/modelProvider.ts +6 -0
@@ -38,11 +38,13 @@
38
38
  "AzureBizError": "Wystąpił błąd żądania usługi Azure AI, prosimy o sprawdzenie poniższych informacji lub ponowne próbowanie.",
39
39
  "BedrockBizError": "Wystąpił błąd żądania usługi Bedrock, prosimy o sprawdzenie poniższych informacji lub ponowne próbowanie.",
40
40
  "GoogleBizError": "Wystąpił błąd żądania usługi Google, prosimy o sprawdzenie poniższych informacji lub ponowne próbowanie.",
41
+ "GroqBizError": "Wystąpił błąd usługi Groq. Sprawdź poniższe informacje lub spróbuj ponownie.",
41
42
  "InvalidAccessCode": "Nieprawidłowy kod dostępu: Hasło jest nieprawidłowe lub puste. Proszę wprowadzić poprawne hasło dostępu lub dodać niestandardowy klucz API.",
42
43
  "InvalidAnthropicAPIKey": "Anthropic API Key jest nieprawidłowy lub pusty. Sprawdź poprawność klucza API Anthropic i spróbuj ponownie.",
43
44
  "InvalidAzureAPIKey": "Nieprawidłowy lub pusty klucz API Azure, prosimy sprawdzić klucz API Azure i spróbować ponownie.",
44
45
  "InvalidBedrockCredentials": "Uwierzytelnienie Bedrock nie powiodło się, prosimy sprawdzić AccessKeyId/SecretAccessKey i spróbować ponownie.",
45
46
  "InvalidGoogleAPIKey": "Nieprawidłowy lub pusty klucz API Google, prosimy sprawdzić klucz API Google i spróbować ponownie.",
47
+ "InvalidGroqAPIKey": "Nieprawidłowy klucz API Groq, prosimy sprawdzić klucz API Groq i spróbować ponownie.",
46
48
  "InvalidMistralAPIKey": "Mistral AI API Key 不正确或为空,请检查 Mistral API Key 后重试",
47
49
  "InvalidMoonshotAPIKey": "Moonshot AI API密钥不正确或为空,请检查Moonshot API密钥后重试",
48
50
  "InvalidOllamaArgs": "Nieprawidłowa konfiguracja Ollama, sprawdź konfigurację Ollama i spróbuj ponownie",
@@ -91,6 +93,10 @@
91
93
  "description": "Wprowadź swój klucz API Google, aby rozpocząć sesję. Aplikacja nie będzie przechowywać Twojego klucza API.",
92
94
  "title": "Użyj niestandardowego klucza API Google"
93
95
  },
96
+ "Groq": {
97
+ "description": "Wprowadź swój klucz API Groq, aby rozpocząć sesję. Aplikacja nie będzie przechowywać Twojego klucza API.",
98
+ "title": "Użyj niestandardowego klucza API Groq"
99
+ },
94
100
  "Mistral": {
95
101
  "description": "输入你的 Mistral AI API Key 即可开始会话。应用不会记录你的 API Key",
96
102
  "title": "使用自定义 Mistral AI API Key"
@@ -99,6 +99,14 @@
99
99
  "title": "Klucz API"
100
100
  }
101
101
  },
102
+ "Groq": {
103
+ "title": "Groq",
104
+ "token": {
105
+ "desc": "Wprowadź klucz API z Groq",
106
+ "placeholder": " Klucz API Groq",
107
+ "title": " Klucz API"
108
+ }
109
+ },
102
110
  "Mistral": {
103
111
  "title": "Mistral AI",
104
112
  "token": {
@@ -104,6 +104,7 @@
104
104
  "azure": "Azure",
105
105
  "bedrock": "AWS Bedrock",
106
106
  "google": "Google",
107
+ "groq": "Groq",
107
108
  "mistral": "Mistral AI",
108
109
  "moonshot": "Moonshot IA",
109
110
  "ollama": "Ollama",
@@ -38,11 +38,13 @@
38
38
  "AzureBizError": "Erro ao solicitar o serviço Azure AI, por favor, verifique as informações abaixo ou tente novamente",
39
39
  "BedrockBizError": "Erro ao solicitar o serviço Bedrock, por favor, verifique as informações abaixo ou tente novamente",
40
40
  "GoogleBizError": "Erro ao solicitar o serviço Google, por favor, verifique as informações abaixo ou tente novamente",
41
+ "GroqBizError": "O serviço Groq encontrou um erro. Por favor, verifique as informações abaixo ou tente novamente.",
41
42
  "InvalidAccessCode": "Senha de acesso inválida ou em branco. Por favor, insira a senha de acesso correta ou adicione uma Chave de API personalizada.",
42
43
  "InvalidAnthropicAPIKey": "A chave da API Anthropic está incorreta ou vazia. Por favor, verifique a chave da API Anthropic e tente novamente.",
43
44
  "InvalidAzureAPIKey": "Chave de API Azure incorreta ou vazia, por favor, verifique a chave de API Azure e tente novamente",
44
45
  "InvalidBedrockCredentials": "Credenciais Bedrock inválidas, por favor, verifique AccessKeyId/SecretAccessKey e tente novamente",
45
46
  "InvalidGoogleAPIKey": "Chave de API Google incorreta ou vazia, por favor, verifique a chave de API Google e tente novamente",
47
+ "InvalidGroqAPIKey": "Chave de API Groq AI inválida ou em branco, verifique a chave de API Groq e tente novamente",
46
48
  "InvalidMistralAPIKey": "Chave de API Mistral AI inválida ou vazia. Por favor, verifique a chave de API Mistral e tente novamente.",
47
49
  "InvalidMoonshotAPIKey": "A chave da API Moonshot AI está incorreta ou vazia. Por favor, verifique a chave da API Moonshot e tente novamente.",
48
50
  "InvalidOllamaArgs": "Configuração Ollama inválida, verifique a configuração do Ollama e tente novamente",
@@ -91,6 +93,10 @@
91
93
  "description": "Digite sua chave de API Google para iniciar a sessão. O aplicativo não irá armazenar sua chave de API",
92
94
  "title": "Usar chave de API Google personalizada"
93
95
  },
96
+ "Groq": {
97
+ "description": "Insira sua chave de API Groq para iniciar a sessão. O aplicativo não irá armazenar sua chave de API.",
98
+ "title": "Usar chave de API Groq personalizada"
99
+ },
94
100
  "Mistral": {
95
101
  "description": "Insira sua chave de API Mistral AI para iniciar a sessão. O aplicativo não irá armazenar sua chave de API.",
96
102
  "title": "Usar chave de API Mistral AI personalizada"
@@ -99,6 +99,14 @@
99
99
  "title": "API Key"
100
100
  }
101
101
  },
102
+ "Groq": {
103
+ "title": "Groq",
104
+ "token": {
105
+ "desc": "Insira a chave da API do Groq",
106
+ "placeholder": " Chave da API do Groq",
107
+ "title": "Chave da API"
108
+ }
109
+ },
102
110
  "Mistral": {
103
111
  "title": "Mistral AI",
104
112
  "token": {
@@ -104,6 +104,7 @@
104
104
  "azure": "Azure",
105
105
  "bedrock": "AWS Bedrock",
106
106
  "google": "Google",
107
+ "groq": "Groq",
107
108
  "mistral": "Mistral AI",
108
109
  "moonshot": "Искусственный интеллект Moonshot",
109
110
  "ollama": "Оллама",
@@ -38,11 +38,13 @@
38
38
  "AzureBizError": "Ошибка запроса службы Azure AI, пожалуйста, проверьте и повторите попытку в соответствии с предоставленной информацией",
39
39
  "BedrockBizError": "Ошибка запроса службы Bedrock, пожалуйста, проверьте и повторите попытку в соответствии с предоставленной информацией",
40
40
  "GoogleBizError": "Ошибка запроса службы Google, пожалуйста, проверьте и повторите попытку в соответствии с предоставленной информацией",
41
+ "GroqBizError": "Ошибка обращения к сервису Groq. Пожалуйста, проверьте следующую информацию или повторите попытку",
41
42
  "InvalidAccessCode": "Неверный код доступа: введите правильный код доступа или добавьте пользовательский ключ API",
42
43
  "InvalidAnthropicAPIKey": "Anthropic API Key недействителен или отсутствует. Пожалуйста, проверьте Anthropic API Key и повторите попытку",
43
44
  "InvalidAzureAPIKey": "Неверный или пустой ключ API Azure, пожалуйста, проверьте ключ API Azure и повторите попытку",
44
45
  "InvalidBedrockCredentials": "Аутентификация Bedrock не прошла, пожалуйста, проверьте AccessKeyId/SecretAccessKey и повторите попытку",
45
46
  "InvalidGoogleAPIKey": "Неверный или пустой ключ API Google, пожалуйста, проверьте ключ API Google и повторите попытку",
47
+ "InvalidGroqAPIKey": "Неверный или пустой ключ API Groq, пожалуйста, проверьте ключ API Groq и повторите попытку",
46
48
  "InvalidMistralAPIKey": "Неверный или пустой ключ API Mistral AI. Пожалуйста, проверьте ключ API Mistral и повторите попытку",
47
49
  "InvalidMoonshotAPIKey": "Moonshot AI API Key неверный или пустой, пожалуйста, проверьте ключ API Moonshot и повторите попытку",
48
50
  "InvalidOllamaArgs": "Неверная конфигурация Ollama, пожалуйста, проверьте конфигурацию Ollama и повторите попытку",
@@ -91,6 +93,10 @@
91
93
  "description": "Введите свой ключ API Google, чтобы начать сеанс. Приложение не будет сохранять ваш ключ API",
92
94
  "title": "Использовать пользовательский ключ API Google"
93
95
  },
96
+ "Groq": {
97
+ "description": "Введите свой ключ API Groq, чтобы начать сеанс. Приложение не будет сохранять ваш ключ API",
98
+ "title": "Использовать пользовательский ключ API Groq"
99
+ },
94
100
  "Mistral": {
95
101
  "description": "Введите свой ключ API Mistral AI, чтобы начать сеанс. Приложение не будет сохранять ваш ключ API",
96
102
  "title": "Использовать пользовательский ключ API Mistral AI"
@@ -99,6 +99,14 @@
99
99
  "title": "API-ключ"
100
100
  }
101
101
  },
102
+ "Groq": {
103
+ "title": "Groq",
104
+ "token": {
105
+ "desc": "Введите API-ключ от Groq",
106
+ "placeholder": "Ключ API Groq",
107
+ "title": "API-ключ"
108
+ }
109
+ },
102
110
  "Mistral": {
103
111
  "title": "Mistral AI",
104
112
  "token": {
@@ -104,6 +104,7 @@
104
104
  "azure": "Azure",
105
105
  "bedrock": "AWS Bedrock",
106
106
  "google": "Google",
107
+ "groq": "Groq",
107
108
  "mistral": "Mistral AI",
108
109
  "moonshot": "Moonshot AI",
109
110
  "ollama": "Ollama",
@@ -38,11 +38,13 @@
38
38
  "AzureBizError": "Azure AI servisi isteği hatası, lütfen aşağıdaki bilgilere göre sorunu gidermeye çalışın veya tekrar deneyin",
39
39
  "BedrockBizError": "Bedrock servisi isteği hatası, lütfen aşağıdaki bilgilere göre sorunu gidermeye çalışın veya tekrar deneyin",
40
40
  "GoogleBizError": "Google servisi isteği hatası, lütfen aşağıdaki bilgilere göre sorunu gidermeye çalışın veya tekrar deneyin",
41
+ "GroqBizError": "Groq hizmeti isteği sırasında bir hata oluştu. Lütfen aşağıdaki bilgilere göre sorunu giderin veya tekrar deneyin",
41
42
  "InvalidAccessCode": "Geçersiz Erişim Kodu: Geçersiz veya boş bir şifre girdiniz. Lütfen doğru erişim şifresini girin veya özel API Anahtarı ekleyin.",
42
43
  "InvalidAnthropicAPIKey": "Anthropic API Key geçersiz veya boş, lütfen Anthropic API Key'inizi kontrol edip tekrar deneyin",
43
44
  "InvalidAzureAPIKey": "Azure API Anahtarı yanlış veya boş, lütfen Azure API Anahtarınızı kontrol edip tekrar deneyin",
44
45
  "InvalidBedrockCredentials": "Bedrock kimlik doğrulaması geçersiz, lütfen AccessKeyId/SecretAccessKey bilgilerinizi kontrol edip tekrar deneyin",
45
46
  "InvalidGoogleAPIKey": "Google API Anahtarı yanlış veya boş, lütfen Google API Anahtarınızı kontrol edip tekrar deneyin",
47
+ "InvalidGroqAPIKey": "Groq API Anahtarı yanlış veya boş, lütfen Groq API Anahtarınızı kontrol edip tekrar deneyin",
46
48
  "InvalidMistralAPIKey": "Mistral AI API Anahtarı geçersiz veya boş. Lütfen Mistral API Anahtarınızı kontrol edip tekrar deneyin",
47
49
  "InvalidMoonshotAPIKey": "Geçersiz veya boş Moonshot AI API Anahtarı, lütfen Moonshot API Anahtarınızı kontrol edip tekrar deneyin",
48
50
  "InvalidOllamaArgs": "Ollama yapılandırması yanlış, lütfen Ollama yapılandırmasını kontrol edip tekrar deneyin",
@@ -91,6 +93,10 @@
91
93
  "description": "Google API Anahtarınızı girerek oturumu başlatabilirsiniz. Uygulama API Anahtarınızı kaydetmez",
92
94
  "title": "Özel Google API Anahtarını kullan"
93
95
  },
96
+ "Groq": {
97
+ "description": "Oturumu başlatmak için Groq API Anahtarınızı girin. Uygulama API Anahtarınızı kaydetmez",
98
+ "title": "Özel Groq API Anahtarını Kullan"
99
+ },
94
100
  "Mistral": {
95
101
  "description": "Mistral AI API Anahtarınızı girerek oturumu başlatabilirsiniz. Uygulama API Anahtarınızı kaydetmez",
96
102
  "title": "Özel Mistral AI API Anahtarı Kullan"
@@ -99,6 +99,14 @@
99
99
  "title": "API Anahtarı"
100
100
  }
101
101
  },
102
+ "Groq": {
103
+ "title": "Groq",
104
+ "token": {
105
+ "desc": "Groq'dan alınan API Anahtarını girin",
106
+ "placeholder": "Groq API Anahtarı",
107
+ "title": "API Anahtarı"
108
+ }
109
+ },
102
110
  "Mistral": {
103
111
  "title": "Mistral AI",
104
112
  "token": {
@@ -104,6 +104,7 @@
104
104
  "azure": "Azure",
105
105
  "bedrock": "AWS Bedrock",
106
106
  "google": "Google",
107
+ "groq": "Groq",
107
108
  "mistral": "Mistral AI",
108
109
  "moonshot": "Moonshot AI",
109
110
  "ollama": "Ollama",
@@ -38,11 +38,13 @@
38
38
  "AzureBizError": "Yêu cầu dịch vụ Azure AI gặp lỗi, vui lòng kiểm tra và thử lại dựa trên thông tin dưới đây",
39
39
  "BedrockBizError": "Yêu cầu dịch vụ Bedrock gặp lỗi, vui lòng kiểm tra và thử lại dựa trên thông tin dưới đây",
40
40
  "GoogleBizError": "Yêu cầu dịch vụ Google gặp lỗi, vui lòng kiểm tra và thử lại dựa trên thông tin dưới đây",
41
+ "GroqBizError": "Yêu cầu dịch vụ Groq gặp sự cố, vui lòng kiểm tra thông tin bên dưới hoặc thử lại",
41
42
  "InvalidAccessCode": "Mật khẩu truy cập không hợp lệ hoặc trống, vui lòng nhập mật khẩu truy cập đúng hoặc thêm Khóa API tùy chỉnh",
42
43
  "InvalidAnthropicAPIKey": "Khóa API Anthropic không hợp lệ hoặc trống, vui lòng kiểm tra lại và thử lại",
43
44
  "InvalidAzureAPIKey": "Khóa API Azure không chính xác hoặc trống, vui lòng kiểm tra lại Khóa API Azure và thử lại",
44
45
  "InvalidBedrockCredentials": "Xác thực Bedrock không thành công, vui lòng kiểm tra AccessKeyId/SecretAccessKey và thử lại",
45
46
  "InvalidGoogleAPIKey": "Khóa API Google không chính xác hoặc trống, vui lòng kiểm tra lại Khóa API Google và thử lại",
47
+ "InvalidGroqAPIKey": "Khóa API Groq không hợp lệ hoặc trống, vui lòng kiểm tra lại Khóa API Groq và thử lại",
46
48
  "InvalidMistralAPIKey": "Mistral AI API Key không hợp lệ hoặc trống, vui lòng kiểm tra lại Mistral API Key và thử lại",
47
49
  "InvalidMoonshotAPIKey": "Khóa API Moonshot AI không hợp lệ hoặc trống, vui lòng kiểm tra lại Khóa API Moonshot và thử lại",
48
50
  "InvalidOllamaArgs": "Cấu hình Ollama không hợp lệ, vui lòng kiểm tra lại cấu hình Ollama và thử lại",
@@ -91,6 +93,10 @@
91
93
  "description": "Nhập Google API Key của bạn để bắt đầu phiên làm việc. Ứng dụng sẽ không lưu trữ API Key của bạn",
92
94
  "title": "Sử dụng thông tin xác thực tùy chỉnh của Google"
93
95
  },
96
+ "Groq": {
97
+ "description": "Nhập Groq API Key của bạn để bắt đầu phiên làm việc. Ứng dụng sẽ không lưu trữ API Key của bạn",
98
+ "title": "Sử dụng Groq API Key tùy chỉnh"
99
+ },
94
100
  "Mistral": {
95
101
  "description": "Nhập Mistral AI API Key của bạn để bắt đầu phiên làm việc. Ứng dụng sẽ không lưu trữ API Key của bạn",
96
102
  "title": "Sử dụng Mistral AI API Key tùy chỉnh"
@@ -99,6 +99,14 @@
99
99
  "title": "API Key"
100
100
  }
101
101
  },
102
+ "Groq": {
103
+ "title": "Groq",
104
+ "token": {
105
+ "desc": "Nhập API Key từ Groq",
106
+ "placeholder": "Groq API Key",
107
+ "title": "API Key"
108
+ }
109
+ },
102
110
  "Mistral": {
103
111
  "title": "Mistral AI",
104
112
  "token": {
@@ -104,6 +104,7 @@
104
104
  "azure": "Azure",
105
105
  "bedrock": "AWS Bedrock",
106
106
  "google": "Google",
107
+ "groq": "Groq",
107
108
  "mistral": "Mistral AI",
108
109
  "moonshot": "Moonshot AI",
109
110
  "ollama": "Ollama",
@@ -65,6 +65,8 @@
65
65
  "PerplexityBizError": "请求 Perplexity AI 服务出错,请根据以下信息排查或重试",
66
66
  "InvalidAnthropicAPIKey": "Anthropic API Key 不正确或为空,请检查 Anthropic API Key 后重试",
67
67
  "AnthropicBizError": "请求 Anthropic AI 服务出错,请根据以下信息排查或重试",
68
+ "InvalidGroqAPIKey": "Groq API Key 不正确或为空,请检查 Groq API Key 后重试",
69
+ "GroqBizError": "请求 Groq 服务出错,请根据以下信息排查或重试",
68
70
  "InvalidOllamaArgs": "Ollama 配置不正确,请检查 Ollama 配置后重试",
69
71
  "OllamaBizError": "请求 Ollama 服务出错,请根据以下信息排查或重试",
70
72
  "OllamaServiceUnavailable": "未检测到 Ollama 服务,请检查是否正常启动",
@@ -91,6 +93,10 @@
91
93
  "description": "输入你的 Google API Key 即可开始会话。应用不会记录你的 API Key",
92
94
  "title": "使用自定义 Google API Key"
93
95
  },
96
+ "Groq": {
97
+ "description": "输入你的 Groq API Key 即可开始会话。应用不会记录你的 API Key",
98
+ "title": "使用自定义 Groq API Key"
99
+ },
94
100
  "Mistral": {
95
101
  "description": "输入你的 Mistral AI API Key 即可开始会话。应用不会记录你的 API Key",
96
102
  "title": "使用自定义 Mistral AI API Key"
@@ -99,6 +99,14 @@
99
99
  "title": "API Key"
100
100
  }
101
101
  },
102
+ "Groq": {
103
+ "title": "Groq",
104
+ "token": {
105
+ "desc": "填入来自 Groq 的 API Key",
106
+ "placeholder": "Groq API Key",
107
+ "title": "API Key"
108
+ }
109
+ },
102
110
  "Mistral": {
103
111
  "title": "Mistral AI",
104
112
  "token": {
@@ -104,6 +104,7 @@
104
104
  "azure": "Azure",
105
105
  "bedrock": "AWS Bedrock",
106
106
  "google": "Google",
107
+ "groq": "Groq",
107
108
  "mistral": "Mistral AI",
108
109
  "moonshot": "Moonshot AI",
109
110
  "ollama": "奧拉馬",
@@ -38,11 +38,13 @@
38
38
  "AzureBizError": "請求 Azure AI 服務出錯,請根據以下信息排查或重試",
39
39
  "BedrockBizError": "請求 Bedrock 服務出錯,請根據以下信息排查或重試",
40
40
  "GoogleBizError": "請求 Google 服務出錯,請根據以下信息排查或重試",
41
+ "GroqBizError": "請求 Groq 服務出錯,請根據以下信息排查或重試",
41
42
  "InvalidAccessCode": "密碼不正確或為空,請輸入正確的訪問密碼,或添加自定義 API 金鑰",
42
43
  "InvalidAnthropicAPIKey": "Anthropic API 金鑰不正確或為空,請檢查 Anthropic API 金鑰後重試",
43
44
  "InvalidAzureAPIKey": "Azure API Key 不正確或為空,請檢查 Azure API Key 後重試",
44
45
  "InvalidBedrockCredentials": "Bedrock 驗證未通過,請檢查 AccessKeyId/SecretAccessKey 後重試",
45
46
  "InvalidGoogleAPIKey": "Google API Key 不正確或為空,請檢查 Google API Key 後重試",
47
+ "InvalidGroqAPIKey": "Groq API 金鑰不正確或為空,請檢查 Groq API 金鑰後重試",
46
48
  "InvalidMistralAPIKey": "Mistral AI API Key 不正確或為空,請檢查 Mistral API Key 後重試",
47
49
  "InvalidMoonshotAPIKey": "Moonshot AI API 金鑰不正確或為空,請檢查 Moonshot API 金鑰後重試",
48
50
  "InvalidOllamaArgs": "Ollama 配置不正確,請檢查 Ollama 配置後重試",
@@ -91,6 +93,10 @@
91
93
  "description": "輸入你的 Google API Key 即可開始會話。應用不會記錄你的 API Key",
92
94
  "title": "使用自定義 Google API Key"
93
95
  },
96
+ "Groq": {
97
+ "description": "輸入你的 Groq API 金鑰即可開始會話。應用不會記錄你的 API 金鑰",
98
+ "title": "使用自定義 Groq API 金鑰"
99
+ },
94
100
  "Mistral": {
95
101
  "description": "輸入你的 Mistral AI API Key 即可開始會話。應用不會記錄你的 API Key",
96
102
  "title": "使用自定義 Mistral AI API Key"
@@ -99,6 +99,14 @@
99
99
  "title": "API 金鑰"
100
100
  }
101
101
  },
102
+ "Groq": {
103
+ "title": "Groq",
104
+ "token": {
105
+ "desc": "填入來自 Groq 的 API 金鑰",
106
+ "placeholder": "Groq API 金鑰",
107
+ "title": "API 金鑰"
108
+ }
109
+ },
102
110
  "Mistral": {
103
111
  "title": "Mistral AI",
104
112
  "token": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "0.137.0",
3
+ "version": "0.138.1",
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",
@@ -13,6 +13,7 @@ import {
13
13
  LobeAzureOpenAI,
14
14
  LobeBedrockAI,
15
15
  LobeGoogleAI,
16
+ LobeGroq,
16
17
  LobeMistralAI,
17
18
  LobeMoonshotAI,
18
19
  LobeOllamaAI,
@@ -162,11 +163,16 @@ class AgentRuntime {
162
163
  runtimeModel = this.initAnthropic(payload);
163
164
  break;
164
165
  }
165
-
166
+
166
167
  case ModelProvider.Mistral: {
167
168
  runtimeModel = this.initMistral(payload);
168
169
  break;
169
170
  }
171
+
172
+ case ModelProvider.Groq: {
173
+ runtimeModel = this.initGroq(payload);
174
+ break;
175
+ }
170
176
  }
171
177
 
172
178
  return new AgentRuntime(runtimeModel);
@@ -261,13 +267,20 @@ class AgentRuntime {
261
267
  const baseURL = payload?.endpoint || ANTHROPIC_PROXY_URL;
262
268
  return new LobeAnthropicAI({ apiKey, baseURL });
263
269
  }
264
-
270
+
265
271
  private static initMistral(payload: JWTPayload) {
266
272
  const { MISTRAL_API_KEY } = getServerConfig();
267
273
  const apiKey = apiKeyManager.pick(payload?.apiKey || MISTRAL_API_KEY);
268
274
 
269
275
  return new LobeMistralAI({ apiKey });
270
276
  }
277
+
278
+ private static initGroq(payload: JWTPayload) {
279
+ const { GROQ_API_KEY } = getServerConfig();
280
+ const apiKey = apiKeyManager.pick(payload?.apiKey || GROQ_API_KEY);
281
+
282
+ return new LobeGroq({ apiKey });
283
+ }
271
284
  }
272
285
 
273
286
  export default AgentRuntime;
@@ -16,6 +16,7 @@ export const GET = async () => {
16
16
  ENABLED_ZHIPU,
17
17
  ENABLED_AWS_BEDROCK,
18
18
  ENABLED_GOOGLE,
19
+ ENABLED_GROQ,
19
20
  ENABLE_OAUTH_SSO,
20
21
  ENABLE_OLLAMA,
21
22
  ENABLED_PERPLEXITY,
@@ -36,6 +37,7 @@ export const GET = async () => {
36
37
  anthropic: { enabled: ENABLED_ANTHROPIC },
37
38
  bedrock: { enabled: ENABLED_AWS_BEDROCK },
38
39
  google: { enabled: ENABLED_GOOGLE },
40
+ groq: { enabled: ENABLED_GROQ },
39
41
  mistral: { enabled: ENABLED_MISTRAL },
40
42
  moonshot: { enabled: ENABLED_MOONSHOT },
41
43
  ollama: { customModelName: OLLAMA_CUSTOM_MODELS, enabled: ENABLE_OLLAMA },
@@ -50,6 +50,9 @@ const getStatus = (errorType: ILobeAgentRuntimeErrorType | ErrorType) => {
50
50
  case AgentRuntimeErrorType.MistralBizError: {
51
51
  return 481;
52
52
  }
53
+ case AgentRuntimeErrorType.GroqBizError: {
54
+ return 482;
55
+ }
53
56
  }
54
57
  return errorType as number;
55
58
  };
@@ -0,0 +1,47 @@
1
+ import { Groq } from '@lobehub/icons';
2
+ import { Input } from 'antd';
3
+ import { useTheme } from 'antd-style';
4
+ import { memo } from 'react';
5
+ import { useTranslation } from 'react-i18next';
6
+
7
+ import { ModelProvider } from '@/libs/agent-runtime';
8
+
9
+ import Checker from '../components/Checker';
10
+ import ProviderConfig from '../components/ProviderConfig';
11
+ import { LLMProviderApiTokenKey, LLMProviderConfigKey } from '../const';
12
+
13
+ const providerKey = 'groq';
14
+
15
+ const GroqProvider = memo(() => {
16
+ const { t } = useTranslation('setting');
17
+
18
+ const theme = useTheme();
19
+
20
+ return (
21
+ <ProviderConfig
22
+ configItems={[
23
+ {
24
+ children: (
25
+ <Input.Password
26
+ autoComplete={'new-password'}
27
+ placeholder={t('llm.Groq.token.placeholder')}
28
+ />
29
+ ),
30
+ desc: t('llm.Groq.token.desc'),
31
+ label: t('llm.Groq.token.title'),
32
+ name: [LLMProviderConfigKey, providerKey, LLMProviderApiTokenKey],
33
+ },
34
+ {
35
+ children: <Checker model={'gemma-7b-it'} provider={ModelProvider.Groq} />,
36
+ desc: t('llm.checker.desc'),
37
+ label: t('llm.checker.title'),
38
+ minWidth: '100%',
39
+ },
40
+ ]}
41
+ provider={providerKey}
42
+ title={<Groq.Text color={theme.isDarkMode ? theme.colorText : Groq.colorPrimary} size={24} />}
43
+ />
44
+ );
45
+ });
46
+
47
+ export default GroqProvider;
@@ -11,6 +11,7 @@ import Footer from '../features/Footer';
11
11
  import Anthropic from './Anthropic';
12
12
  import Bedrock from './Bedrock';
13
13
  import Google from './Google';
14
+ import Groq from './Groq';
14
15
  import Mistral from './Mistral';
15
16
  import Moonshot from './Moonshot';
16
17
  import Ollama from './Ollama';
@@ -29,6 +30,7 @@ export default memo<{ showOllama: boolean }>(({ showOllama }) => {
29
30
  {showOllama && <Ollama />}
30
31
  <Anthropic />
31
32
  <Google />
33
+ <Groq />
32
34
  <Bedrock />
33
35
  <Perplexity />
34
36
  <Mistral />
@@ -3,6 +3,7 @@ import {
3
3
  Azure,
4
4
  Bedrock,
5
5
  Google,
6
+ Groq,
6
7
  Mistral,
7
8
  Moonshot,
8
9
  Ollama,
@@ -69,6 +70,10 @@ const ModelProviderIcon = memo<ModelProviderIconProps>(({ provider }) => {
69
70
  return <Anthropic size={20} />;
70
71
  }
71
72
 
73
+ case ModelProvider.Groq: {
74
+ return <Groq size={20} />;
75
+ }
76
+
72
77
  default: {
73
78
  return null;
74
79
  }
@@ -0,0 +1,24 @@
1
+ import { ModelProviderCard } from '@/types/llm';
2
+
3
+ const Groq: ModelProviderCard = {
4
+ chatModels: [
5
+ {
6
+ displayName: 'Mixtral-8x7b-Instruct-v0.1',
7
+ id: 'mixtral-8x7b-32768',
8
+ tokens: 32_768,
9
+ },
10
+ {
11
+ displayName: 'Gemma-7b-it',
12
+ id: 'gemma-7b-it',
13
+ tokens: 8192,
14
+ },
15
+ {
16
+ displayName: 'LLaMA2-70b-chat',
17
+ id: 'llama2-70b-4096',
18
+ tokens: 4096,
19
+ },
20
+ ],
21
+ id: 'groq',
22
+ };
23
+
24
+ export default Groq;
@@ -3,6 +3,7 @@ import { ChatModelCard } from '@/types/llm';
3
3
  import AnthropicProvider from './anthropic';
4
4
  import BedrockProvider from './bedrock';
5
5
  import GoogleProvider from './google';
6
+ import GroqProvider from './groq';
6
7
  import MistralProvider from './mistral';
7
8
  import MoonshotProvider from './moonshot';
8
9
  import OllamaProvider from './ollama';
@@ -15,6 +16,7 @@ export const LOBE_DEFAULT_MODEL_LIST: ChatModelCard[] = [
15
16
  ZhiPuProvider.chatModels,
16
17
  BedrockProvider.chatModels,
17
18
  GoogleProvider.chatModels,
19
+ GroqProvider.chatModels,
18
20
  MistralProvider.chatModels,
19
21
  MoonshotProvider.chatModels,
20
22
  OllamaProvider.chatModels,
@@ -25,6 +27,7 @@ export const LOBE_DEFAULT_MODEL_LIST: ChatModelCard[] = [
25
27
  export { default as AnthropicProvider } from './anthropic';
26
28
  export { default as BedrockProvider } from './bedrock';
27
29
  export { default as GoogleProvider } from './google';
30
+ export { default as GroqProvider } from './groq';
28
31
  export { default as MistralProvider } from './mistral';
29
32
  export { default as MoonshotProvider } from './moonshot';
30
33
  export { default as OllamaProvider } from './ollama';
@@ -36,10 +36,13 @@ declare global {
36
36
  // Anthropic Provider
37
37
  ANTHROPIC_API_KEY?: string;
38
38
  ANTHROPIC_PROXY_URL?: string;
39
-
39
+
40
40
  // Mistral Provider
41
41
  MISTRAL_API_KEY?: string;
42
42
 
43
+ // Groq Provider
44
+ GROQ_API_KEY?: string;
45
+
43
46
  // AWS Credentials
44
47
  AWS_REGION?: string;
45
48
  AWS_ACCESS_KEY_ID?: string;
@@ -67,9 +70,11 @@ export const getProviderConfig = () => {
67
70
  const PERPLEXITY_API_KEY = process.env.PERPLEXITY_API_KEY || '';
68
71
 
69
72
  const ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY || '';
70
-
73
+
71
74
  const MISTRAL_API_KEY = process.env.MISTRAL_API_KEY || '';
72
75
 
76
+ const GROQ_API_KEY = process.env.GROQ_API_KEY || '';
77
+
73
78
  // region format: iad1,sfo1
74
79
  let regions: string[] = [];
75
80
  if (process.env.OPENAI_FUNCTION_REGIONS) {
@@ -97,7 +102,7 @@ export const getProviderConfig = () => {
97
102
  ENABLED_ANTHROPIC: !!ANTHROPIC_API_KEY,
98
103
  ANTHROPIC_API_KEY,
99
104
  ANTHROPIC_PROXY_URL: process.env.ANTHROPIC_PROXY_URL,
100
-
105
+
101
106
  ENABLED_MISTRAL: !!MISTRAL_API_KEY,
102
107
  MISTRAL_API_KEY,
103
108
 
@@ -105,6 +110,9 @@ export const getProviderConfig = () => {
105
110
  MOONSHOT_API_KEY,
106
111
  MOONSHOT_PROXY_URL: process.env.MOONSHOT_PROXY_URL,
107
112
 
113
+ ENABLED_GROQ: !!GROQ_API_KEY,
114
+ GROQ_API_KEY,
115
+
108
116
  ENABLED_AWS_BEDROCK: !!AWS_ACCESS_KEY_ID,
109
117
  AWS_REGION: process.env.AWS_REGION,
110
118
  AWS_ACCESS_KEY_ID: AWS_ACCESS_KEY_ID,
@@ -66,6 +66,10 @@ export const DEFAULT_LLM_CONFIG: GlobalLLMConfig = {
66
66
  apiKey: '',
67
67
  enabled: false,
68
68
  },
69
+ groq: {
70
+ apiKey: '',
71
+ enabled: false,
72
+ },
69
73
  mistral: {
70
74
  apiKey: '',
71
75
  enabled: false,
package/src/const/url.ts CHANGED
@@ -11,7 +11,7 @@ export const OFFICIAL_URL = 'https://chat-preview.lobehub.com/';
11
11
  export const getCanonicalUrl = (path: string) => urlJoin(OFFICIAL_URL, path);
12
12
 
13
13
  export const GITHUB = pkg.homepage;
14
- export const CHANGELOG = urlJoin(GITHUB, 'blob/master/CHANGELOG.md');
14
+ export const CHANGELOG = urlJoin(GITHUB, 'blob/main/CHANGELOG.md');
15
15
 
16
16
  const { LOBE_CHAT_DOCS } = getClientConfig();
17
17