mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-09-22 06:00:56 +02:00
🚀 feat: Add Gemini 2.0 Support, Update Packages and Deprecations (#4951)
* chore: Comment out deprecated MongoDB connection options in connectDb.js * replaced deprecrated MongoDB count() function with countDocuments() * npm audit fix (package-lock cleanup) * chore: Specify .env file in launch configuration * feat: gemini-2.0 * chore: bump express to 4.21.2 to address CVE-2024-52798 * chore: remove redundant comment for .env file specification in launch configuration --------- Co-authored-by: neturmel <neturmel@gmx.de>
This commit is contained in:
parent
4640e1b124
commit
b5c9144127
10 changed files with 29 additions and 45 deletions
|
@ -141,7 +141,7 @@ GOOGLE_KEY=user_provided
|
||||||
# GOOGLE_REVERSE_PROXY=
|
# GOOGLE_REVERSE_PROXY=
|
||||||
|
|
||||||
# Gemini API (AI Studio)
|
# Gemini API (AI Studio)
|
||||||
# GOOGLE_MODELS=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-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
|
# 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
|
# 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
|
||||||
|
|
3
.vscode/launch.json
vendored
3
.vscode/launch.json
vendored
|
@ -10,7 +10,8 @@
|
||||||
"env": {
|
"env": {
|
||||||
"NODE_ENV": "production"
|
"NODE_ENV": "production"
|
||||||
},
|
},
|
||||||
"console": "integratedTerminal"
|
"console": "integratedTerminal",
|
||||||
|
"envFile": "${workspaceFolder}/.env"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,9 +25,9 @@ async function connectDb() {
|
||||||
const disconnected = cached.conn && cached.conn?._readyState !== 1;
|
const disconnected = cached.conn && cached.conn?._readyState !== 1;
|
||||||
if (!cached.promise || disconnected) {
|
if (!cached.promise || disconnected) {
|
||||||
const opts = {
|
const opts = {
|
||||||
useNewUrlParser: true,
|
|
||||||
useUnifiedTopology: true,
|
|
||||||
bufferCommands: false,
|
bufferCommands: false,
|
||||||
|
// useNewUrlParser: true,
|
||||||
|
// useUnifiedTopology: true,
|
||||||
// bufferMaxEntries: 0,
|
// bufferMaxEntries: 0,
|
||||||
// useFindAndModify: true,
|
// useFindAndModify: true,
|
||||||
// useCreateIndex: true
|
// useCreateIndex: true
|
||||||
|
|
|
@ -71,6 +71,7 @@ const tokenValues = Object.assign(
|
||||||
/* cohere doesn't have rates for the older command models,
|
/* cohere doesn't have rates for the older command models,
|
||||||
so this was from https://artificialanalysis.ai/models/command-light/providers */
|
so this was from https://artificialanalysis.ai/models/command-light/providers */
|
||||||
command: { prompt: 0.38, completion: 0.38 },
|
command: { prompt: 0.38, completion: 0.38 },
|
||||||
|
'gemini-2.0': { prompt: 0, completion: 0 }, // https://ai.google.dev/pricing
|
||||||
'gemini-1.5': { prompt: 7, completion: 21 }, // May 2nd, 2024 pricing
|
'gemini-1.5': { prompt: 7, completion: 21 }, // May 2nd, 2024 pricing
|
||||||
gemini: { prompt: 0.5, completion: 1.5 }, // May 2nd, 2024 pricing
|
gemini: { prompt: 0.5, completion: 1.5 }, // May 2nd, 2024 pricing
|
||||||
},
|
},
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
"cors": "^2.8.5",
|
"cors": "^2.8.5",
|
||||||
"dedent": "^1.5.3",
|
"dedent": "^1.5.3",
|
||||||
"dotenv": "^16.0.3",
|
"dotenv": "^16.0.3",
|
||||||
"express": "^4.21.1",
|
"express": "^4.21.2",
|
||||||
"express-mongo-sanitize": "^2.2.0",
|
"express-mongo-sanitize": "^2.2.0",
|
||||||
"express-rate-limit": "^7.4.1",
|
"express-rate-limit": "^7.4.1",
|
||||||
"express-session": "^1.18.1",
|
"express-session": "^1.18.1",
|
||||||
|
|
|
@ -50,7 +50,8 @@ const googleModels = {
|
||||||
gemini: 30720, // -2048 from max
|
gemini: 30720, // -2048 from max
|
||||||
'gemini-pro-vision': 12288, // -4096 from max
|
'gemini-pro-vision': 12288, // -4096 from max
|
||||||
'gemini-exp': 8000,
|
'gemini-exp': 8000,
|
||||||
'gemini-1.5': 1048576, // -8192 from max
|
'gemini-2.0': 1048576,
|
||||||
|
'gemini-1.5': 1048576,
|
||||||
'text-bison-32k': 32758, // -10 from max
|
'text-bison-32k': 32758, // -10 from max
|
||||||
'chat-bison-32k': 32758, // -10 from max
|
'chat-bison-32k': 32758, // -10 from max
|
||||||
'code-bison-32k': 32758, // -10 from max
|
'code-bison-32k': 32758, // -10 from max
|
||||||
|
|
|
@ -19,8 +19,8 @@ const connect = require('./connect');
|
||||||
let users = await User.find({});
|
let users = await User.find({});
|
||||||
let userData = [];
|
let userData = [];
|
||||||
for (const user of users) {
|
for (const user of users) {
|
||||||
let conversationsCount = (await Conversation.count({ user: user._id })) ?? 0;
|
let conversationsCount = (await Conversation.countDocuments({ user: user._id })) ?? 0;
|
||||||
let messagesCount = (await Message.count({ user: user._id })) ?? 0;
|
let messagesCount = (await Message.countDocuments({ user: user._id })) ?? 0;
|
||||||
|
|
||||||
userData.push({
|
userData.push({
|
||||||
User: user.name,
|
User: user.name,
|
||||||
|
|
52
package-lock.json
generated
52
package-lock.json
generated
|
@ -664,24 +664,6 @@
|
||||||
"@langchain/core": ">=0.3.17 <0.4.0"
|
"@langchain/core": ">=0.3.17 <0.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"api/node_modules/@langchain/openai": {
|
|
||||||
"version": "0.3.14",
|
|
||||||
"resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.3.14.tgz",
|
|
||||||
"integrity": "sha512-lNWjUo1tbvsss45IF7UQtMu1NJ6oUKvhgPYWXnX9f/d6OmuLu7D99HQ3Y88vLcUo9XjjOy417olYHignMduMjA==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"js-tiktoken": "^1.0.12",
|
|
||||||
"openai": "^4.71.0",
|
|
||||||
"zod": "^3.22.4",
|
|
||||||
"zod-to-json-schema": "^3.22.3"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@langchain/core": ">=0.2.26 <0.4.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"api/node_modules/@langchain/textsplitters": {
|
"api/node_modules/@langchain/textsplitters": {
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@langchain/textsplitters/-/textsplitters-0.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@langchain/textsplitters/-/textsplitters-0.1.0.tgz",
|
||||||
|
@ -768,10 +750,10 @@
|
||||||
"ms": "2.0.0"
|
"ms": "2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"api/node_modules/express": {
|
"node_modules/express": {
|
||||||
"version": "4.21.1",
|
"version": "4.21.2",
|
||||||
"resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz",
|
"resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz",
|
||||||
"integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==",
|
"integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"accepts": "~1.3.8",
|
"accepts": "~1.3.8",
|
||||||
"array-flatten": "1.1.1",
|
"array-flatten": "1.1.1",
|
||||||
|
@ -792,7 +774,7 @@
|
||||||
"methods": "~1.1.2",
|
"methods": "~1.1.2",
|
||||||
"on-finished": "2.4.1",
|
"on-finished": "2.4.1",
|
||||||
"parseurl": "~1.3.3",
|
"parseurl": "~1.3.3",
|
||||||
"path-to-regexp": "0.1.10",
|
"path-to-regexp": "0.1.12",
|
||||||
"proxy-addr": "~2.0.7",
|
"proxy-addr": "~2.0.7",
|
||||||
"qs": "6.13.0",
|
"qs": "6.13.0",
|
||||||
"range-parser": "~1.2.1",
|
"range-parser": "~1.2.1",
|
||||||
|
@ -807,6 +789,10 @@
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.10.0"
|
"node": ">= 0.10.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/express"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"api/node_modules/express-rate-limit": {
|
"api/node_modules/express-rate-limit": {
|
||||||
|
@ -10187,8 +10173,6 @@
|
||||||
"version": "0.3.14",
|
"version": "0.3.14",
|
||||||
"resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.3.14.tgz",
|
"resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.3.14.tgz",
|
||||||
"integrity": "sha512-lNWjUo1tbvsss45IF7UQtMu1NJ6oUKvhgPYWXnX9f/d6OmuLu7D99HQ3Y88vLcUo9XjjOy417olYHignMduMjA==",
|
"integrity": "sha512-lNWjUo1tbvsss45IF7UQtMu1NJ6oUKvhgPYWXnX9f/d6OmuLu7D99HQ3Y88vLcUo9XjjOy417olYHignMduMjA==",
|
||||||
"optional": true,
|
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"js-tiktoken": "^1.0.12",
|
"js-tiktoken": "^1.0.12",
|
||||||
"openai": "^4.71.0",
|
"openai": "^4.71.0",
|
||||||
|
@ -10206,8 +10190,6 @@
|
||||||
"version": "18.19.64",
|
"version": "18.19.64",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.64.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.64.tgz",
|
||||||
"integrity": "sha512-955mDqvO2vFf/oL7V3WiUtiz+BugyX8uVbaT2H8oj3+8dRyH2FLiNdowe7eNqRM7IOIZvzDH76EoAT+gwm6aIQ==",
|
"integrity": "sha512-955mDqvO2vFf/oL7V3WiUtiz+BugyX8uVbaT2H8oj3+8dRyH2FLiNdowe7eNqRM7IOIZvzDH76EoAT+gwm6aIQ==",
|
||||||
"optional": true,
|
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~5.26.4"
|
"undici-types": "~5.26.4"
|
||||||
}
|
}
|
||||||
|
@ -10216,8 +10198,6 @@
|
||||||
"version": "4.72.0",
|
"version": "4.72.0",
|
||||||
"resolved": "https://registry.npmjs.org/openai/-/openai-4.72.0.tgz",
|
"resolved": "https://registry.npmjs.org/openai/-/openai-4.72.0.tgz",
|
||||||
"integrity": "sha512-hFqG9BWCs7L7ifrhJXw7mJXmUBr7d9N6If3J9563o0jfwVA4wFANFDDaOIWFdgDdwgCXg5emf0Q+LoLCGszQYA==",
|
"integrity": "sha512-hFqG9BWCs7L7ifrhJXw7mJXmUBr7d9N6If3J9563o0jfwVA4wFANFDDaOIWFdgDdwgCXg5emf0Q+LoLCGszQYA==",
|
||||||
"optional": true,
|
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node": "^18.11.18",
|
"@types/node": "^18.11.18",
|
||||||
"@types/node-fetch": "^2.6.4",
|
"@types/node-fetch": "^2.6.4",
|
||||||
|
@ -27284,9 +27264,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/nanoid": {
|
"node_modules/nanoid": {
|
||||||
"version": "3.3.7",
|
"version": "3.3.8",
|
||||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz",
|
||||||
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
|
"integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "github",
|
"type": "github",
|
||||||
|
@ -28538,9 +28518,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/path-to-regexp": {
|
"node_modules/path-to-regexp": {
|
||||||
"version": "0.1.10",
|
"version": "0.1.12",
|
||||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
|
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
|
||||||
"integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w=="
|
"integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ=="
|
||||||
},
|
},
|
||||||
"node_modules/path-type": {
|
"node_modules/path-type": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
|
@ -36173,7 +36153,7 @@
|
||||||
},
|
},
|
||||||
"packages/data-provider": {
|
"packages/data-provider": {
|
||||||
"name": "librechat-data-provider",
|
"name": "librechat-data-provider",
|
||||||
"version": "0.7.58",
|
"version": "0.7.59",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/js-yaml": "^4.0.9",
|
"@types/js-yaml": "^4.0.9",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "librechat-data-provider",
|
"name": "librechat-data-provider",
|
||||||
"version": "0.7.58",
|
"version": "0.7.59",
|
||||||
"description": "data services for librechat apps",
|
"description": "data services for librechat apps",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"module": "dist/index.es.js",
|
"module": "dist/index.es.js",
|
||||||
|
|
|
@ -760,6 +760,7 @@ export const visionModels = [
|
||||||
'llava-13b',
|
'llava-13b',
|
||||||
'gemini-pro-vision',
|
'gemini-pro-vision',
|
||||||
'claude-3',
|
'claude-3',
|
||||||
|
'gemini-2.0',
|
||||||
'gemini-1.5',
|
'gemini-1.5',
|
||||||
'gemini-exp',
|
'gemini-exp',
|
||||||
'moondream',
|
'moondream',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue