diff --git a/.env.example b/.env.example index 9de8b9f900..a42ed5d683 100644 --- a/.env.example +++ b/.env.example @@ -116,10 +116,10 @@ GOOGLE_KEY=user_provided # GOOGLE_REVERSE_PROXY= # Gemini API -# GOOGLE_MODELS=gemini-1.0-pro,gemini-1.0-pro-001,gemini-1.0-pro-latest,gemini-1.0-pro-vision-latest,gemini-1.5-pro-latest,gemini-pro,gemini-pro-vision +# GOOGLE_MODELS=gemini-1.5-flash-latest,gemini-1.0-pro,gemini-1.0-pro-001,gemini-1.0-pro-latest,gemini-1.0-pro-vision-latest,gemini-1.5-pro-latest,gemini-pro,gemini-pro-vision # Vertex AI -# GOOGLE_MODELS=gemini-1.5-pro-preview-0409,gemini-1.0-pro-vision-001,gemini-pro,gemini-pro-vision,chat-bison,chat-bison-32k,codechat-bison,codechat-bison-32k,text-bison,text-bison-32k,text-unicorn,code-gecko,code-bison,code-bison-32k +# GOOGLE_MODELS=gemini-1.5-flash-preview-0514,gemini-1.5-pro-preview-0409,gemini-1.0-pro-vision-001,gemini-pro,gemini-pro-vision,chat-bison,chat-bison-32k,codechat-bison,codechat-bison-32k,text-bison,text-bison-32k,text-unicorn,code-gecko,code-bison,code-bison-32k # Google Gemini Safety Settings # NOTE (Vertex AI): You do not have access to the BLOCK_NONE setting by default. diff --git a/api/app/clients/GoogleClient.js b/api/app/clients/GoogleClient.js index e3a33d3e7c..6852410efb 100644 --- a/api/app/clients/GoogleClient.js +++ b/api/app/clients/GoogleClient.js @@ -683,11 +683,12 @@ class GoogleClient extends BaseClient { const safetySettings = _payload.safetySettings; requestOptions.safetySettings = safetySettings; + const delay = modelName.includes('flash') ? 8 : 14; const result = await client.generateContentStream(requestOptions); for await (const chunk of result.stream) { const chunkText = chunk.text(); - this.generateTextStream(chunkText, onProgress, { - delay: 12, + await this.generateTextStream(chunkText, onProgress, { + delay, }); reply += chunkText; } @@ -701,10 +702,14 @@ class GoogleClient extends BaseClient { safetySettings: safetySettings, }); + let delay = this.isGenerativeModel ? 12 : 8; + if (modelName.includes('flash')) { + delay = 5; + } for await (const chunk of stream) { const chunkText = chunk?.content ?? chunk; - this.generateTextStream(chunkText, onProgress, { - delay: this.isGenerativeModel ? 12 : 8, + await this.generateTextStream(chunkText, onProgress, { + delay, }); reply += chunkText; } diff --git a/api/server/utils/import/importers.js b/api/server/utils/import/importers.js index f1762a988e..6e151ead27 100644 --- a/api/server/utils/import/importers.js +++ b/api/server/utils/import/importers.js @@ -202,7 +202,7 @@ function processConversation(conv, importBatchBuilder, requestUserId) { const isCreatedByUser = role === 'user'; let sender = isCreatedByUser ? 'user' : 'GPT-3.5'; const model = mapping.message.metadata.model_slug || openAISettings.model.default; - if (model === 'gpt-4') { + if (model.includes('gpt-4')) { sender = 'GPT-4'; } diff --git a/client/src/components/Chat/Landing.tsx b/client/src/components/Chat/Landing.tsx index 073ffd6462..5e2392bfcf 100644 --- a/client/src/components/Chat/Landing.tsx +++ b/client/src/components/Chat/Landing.tsx @@ -76,7 +76,7 @@ export default function Landing({ Header }: { Header?: ReactNode }) { */} ) : ( -
+
{endpoint === EModelEndpoint.assistants ? conversation?.greeting ?? localize('com_nav_welcome_assistant') : conversation?.greeting ?? localize('com_nav_welcome_message')}