From 9b118d42de3f99e9c8c85d0beb46d4ae5fd74a4c Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Fri, 20 Dec 2024 11:43:37 -0500 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20v0.7.6=20(#5064)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: Update README to include Model Context Protocol support and enhance access descriptions * fix: Update civic integrity threshold to use 'BLOCK_NONE' as default * fix: Update GOOGLE_MODELS in .env.example and adjust civic integrity threshold for new model compatibility * ✨ v0.7.6 * feat: Add 'gemini-2.0-flash-thinking-exp' model to googleModels context windows --- .env.example | 2 +- Dockerfile | 2 +- Dockerfile.multi | 2 +- README.md | 8 +++----- api/app/clients/GoogleClient.js | 6 +++++- api/package.json | 2 +- api/utils/tokens.js | 1 + client/package.json | 2 +- e2e/jestSetup.js | 2 +- index.html | 2 +- package-lock.json | 10 +++++----- package.json | 2 +- packages/data-provider/package.json | 2 +- packages/data-provider/src/config.ts | 2 +- prettier.config.js | 2 +- 15 files changed, 25 insertions(+), 22 deletions(-) diff --git a/.env.example b/.env.example index eaa9c478d59..f2a51198f42 100644 --- a/.env.example +++ b/.env.example @@ -144,7 +144,7 @@ GOOGLE_KEY=user_provided # GOOGLE_AUTH_HEADER=true # Gemini API (AI Studio) -# GOOGLE_MODELS=gemini-2.0-flash-exp,gemini-exp-1121,gemini-exp-1114,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 +# GOOGLE_MODELS=gemini-2.0-flash-exp,gemini-2.0-flash-thinking-exp-1219,gemini-exp-1121,gemini-exp-1114,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-flash-preview-0514,gemini-1.5-pro-preview-0514,gemini-1.0-pro-vision-001,gemini-1.0-pro-002,gemini-1.0-pro-001,gemini-pro-vision,gemini-1.0-pro diff --git a/Dockerfile b/Dockerfile index ba2414fdacd..41243119e1d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -# v0.7.5 +# v0.7.6 # Base node image FROM node:20-alpine AS node diff --git a/Dockerfile.multi b/Dockerfile.multi index 417c3678a0f..a25e3e224ff 100644 --- a/Dockerfile.multi +++ b/Dockerfile.multi @@ -1,5 +1,5 @@ # Dockerfile.multi -# v0.7.5 +# v0.7.6 # Base for all builds FROM node:20-alpine AS base diff --git a/README.md b/README.md index 2f2c85db8bb..a2a23a483dc 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ - No-Code Custom Assistants: Build specialized, AI-driven helpers without coding - Flexible & Extensible: Attach tools like DALL-E-3, file search, code execution, and more - Compatible with Custom Endpoints, OpenAI, Azure, Anthropic, AWS Bedrock, and more + - [Model Context Protocol (MCP) Support](https://modelcontextprotocol.io/clients#librechat) for Tools - Use LibreChat Agents and OpenAI Assistants with Files, Code Interpreter, Tools, and API Actions - 🪄 **Generative UI with Code Artifacts**: @@ -81,9 +82,6 @@ - 🎨 **Customizable Interface**: - Customizable Dropdown & Interface that adapts to both power users and newcomers -- 📧 **Secure Access**: - - Verify your email to ensure secure access - - 🗣️ **Speech & Audio**: - Chat hands-free with Speech-to-Text and Text-to-Speech - Automatically send and play Audio @@ -96,8 +94,8 @@ - 🔍 **Search & Discovery**: - Search all messages/conversations -- 👥 **Multi-User & Secure**: - - Multi-User, Secure Authentication with OAuth2 & Email Login Support +- 👥 **Multi-User & Secure Access**: + - Multi-User, Secure Authentication with OAuth2, LDAP, & Email Login Support - Built-in Moderation, and Token spend tools - ⚙️ **Configuration & Deployment**: diff --git a/api/app/clients/GoogleClient.js b/api/app/clients/GoogleClient.js index b7cc987e45a..f6fca55112a 100644 --- a/api/app/clients/GoogleClient.js +++ b/api/app/clients/GoogleClient.js @@ -917,7 +917,11 @@ class GoogleClient extends BaseClient { }, { category: 'HARM_CATEGORY_CIVIC_INTEGRITY', - threshold: process.env.GOOGLE_SAFETY_CIVIC_INTEGRITY || 'HARM_BLOCK_THRESHOLD_UNSPECIFIED', + /** + * Note: this was added since `gemini-2.0-flash-thinking-exp-1219` does not + * accept 'HARM_BLOCK_THRESHOLD_UNSPECIFIED' for 'HARM_CATEGORY_CIVIC_INTEGRITY' + * */ + threshold: process.env.GOOGLE_SAFETY_CIVIC_INTEGRITY || 'BLOCK_NONE', }, ]; } diff --git a/api/package.json b/api/package.json index a9220ad3c7b..26f8dae9b70 100644 --- a/api/package.json +++ b/api/package.json @@ -1,6 +1,6 @@ { "name": "@librechat/backend", - "version": "v0.7.5", + "version": "v0.7.6", "description": "", "scripts": { "start": "echo 'please run this from the root directory'", diff --git a/api/utils/tokens.js b/api/utils/tokens.js index ac123c9dd95..68ceca797fa 100644 --- a/api/utils/tokens.js +++ b/api/utils/tokens.js @@ -50,6 +50,7 @@ const googleModels = { gemini: 30720, // -2048 from max 'gemini-pro-vision': 12288, // -4096 from max 'gemini-exp': 8000, + 'gemini-2.0-flash-thinking-exp': 30720, // -2048 from max 'gemini-2.0': 1048576, 'gemini-1.5': 1048576, 'text-bison-32k': 32758, // -10 from max diff --git a/client/package.json b/client/package.json index fa78185a99d..70bd2daeddc 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "@librechat/frontend", - "version": "v0.7.5", + "version": "v0.7.6", "description": "", "type": "module", "scripts": { diff --git a/e2e/jestSetup.js b/e2e/jestSetup.js index 6567518bfa3..2e87cca32e7 100644 --- a/e2e/jestSetup.js +++ b/e2e/jestSetup.js @@ -1,3 +1,3 @@ -// v0.7.5 +// v0.7.6 // See .env.test.example for an example of the '.env.test' file. require('dotenv').config({ path: './e2e/.env.test' }); diff --git a/index.html b/index.html index d09d456ff68..29b32c6f3a3 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ - + diff --git a/package-lock.json b/package-lock.json index e01dd0351d4..7d6d252f43a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "LibreChat", - "version": "v0.7.5", + "version": "v0.7.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "LibreChat", - "version": "v0.7.5", + "version": "v0.7.6", "license": "ISC", "workspaces": [ "api", @@ -40,7 +40,7 @@ }, "api": { "name": "@librechat/backend", - "version": "v0.7.5", + "version": "v0.7.6", "license": "ISC", "dependencies": { "@anthropic-ai/sdk": "^0.32.1", @@ -987,7 +987,7 @@ }, "client": { "name": "@librechat/frontend", - "version": "v0.7.5", + "version": "v0.7.6", "license": "ISC", "dependencies": { "@ariakit/react": "^0.4.11", @@ -36514,7 +36514,7 @@ }, "packages/data-provider": { "name": "librechat-data-provider", - "version": "0.7.65", + "version": "0.7.66", "license": "ISC", "dependencies": { "axios": "^1.7.7", diff --git a/package.json b/package.json index d08908cb0ee..569bb019471 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "LibreChat", - "version": "v0.7.5", + "version": "v0.7.6", "description": "", "workspaces": [ "api", diff --git a/packages/data-provider/package.json b/packages/data-provider/package.json index 3a73d300276..4059f1a9b44 100644 --- a/packages/data-provider/package.json +++ b/packages/data-provider/package.json @@ -1,6 +1,6 @@ { "name": "librechat-data-provider", - "version": "0.7.65", + "version": "0.7.66", "description": "data services for librechat apps", "main": "dist/index.js", "module": "dist/index.es.js", diff --git a/packages/data-provider/src/config.ts b/packages/data-provider/src/config.ts index 60d5c2037bd..7a524682745 100644 --- a/packages/data-provider/src/config.ts +++ b/packages/data-provider/src/config.ts @@ -1086,7 +1086,7 @@ export enum TTSProviders { /** Enum for app-wide constants */ export enum Constants { /** Key for the app's version. */ - VERSION = 'v0.7.5', + VERSION = 'v0.7.6', /** Key for the Custom Config's version (librechat.yaml). */ CONFIG_VERSION = '1.2.0', /** Standard value for the first message's `parentMessageId` value, to indicate no parent exists. */ diff --git a/prettier.config.js b/prettier.config.js index 94e0acd2ccd..22839f20785 100644 --- a/prettier.config.js +++ b/prettier.config.js @@ -1,4 +1,4 @@ -// v0.7.5 +// v0.7.6 module.exports = { tailwindConfig: './client/tailwind.config.cjs', printWidth: 100,