mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-09-22 06:00:56 +02:00

* chore: include all assets for service worker, remove unused tsconfig.node.json, eslint ignore vite config * chore: exclude image files from service worker caching * refactor: simplify googleSchema transformation and error handling * fix: max output tokens cap for 3.7 models * fix: skip index fixing in CI, development, and test environments * ci: add maxOutputTokens handling tests for Claude models * refactor: drop top_k and top_p parameters for claude-3.7 in AnthropicClient and add tests for new behavior * refactor: conditionally include top_k and top_p parameters for non-claude-3.7 models * ci: add unit tests for getLLMConfig function with various model options * chore: remove all OPENROUTER_API_KEY legacy logic * refactor: optimize stream chunk handling * feat: reset model parameters button * refactor: remove unused examples field from convoSchema and presetSchema * chore: update librechat-data-provider version to 0.7.6993 * refactor: move excludedKeys set to data-provider for better reusability * feat: enhance saveMessageToDatabase to handle unset fields and fetched conversation state * feat: add 'iconURL' and 'greeting' to excludedKeys in data provider config * fix: add optional chaining to user ID retrieval in getConvo call
137 lines
2.2 KiB
JavaScript
137 lines
2.2 KiB
JavaScript
const mongoose = require('mongoose');
|
|
|
|
const conversationPreset = {
|
|
// endpoint: [azureOpenAI, openAI, anthropic, chatGPTBrowser]
|
|
endpoint: {
|
|
type: String,
|
|
default: null,
|
|
required: true,
|
|
},
|
|
endpointType: {
|
|
type: String,
|
|
},
|
|
// for azureOpenAI, openAI, chatGPTBrowser only
|
|
model: {
|
|
type: String,
|
|
required: false,
|
|
},
|
|
// for bedrock only
|
|
region: {
|
|
type: String,
|
|
required: false,
|
|
},
|
|
// for azureOpenAI, openAI only
|
|
chatGptLabel: {
|
|
type: String,
|
|
required: false,
|
|
},
|
|
// for google only
|
|
examples: { type: [{ type: mongoose.Schema.Types.Mixed }], default: undefined },
|
|
modelLabel: {
|
|
type: String,
|
|
required: false,
|
|
},
|
|
promptPrefix: {
|
|
type: String,
|
|
required: false,
|
|
},
|
|
temperature: {
|
|
type: Number,
|
|
required: false,
|
|
},
|
|
top_p: {
|
|
type: Number,
|
|
required: false,
|
|
},
|
|
// for google only
|
|
topP: {
|
|
type: Number,
|
|
required: false,
|
|
},
|
|
topK: {
|
|
type: Number,
|
|
required: false,
|
|
},
|
|
maxOutputTokens: {
|
|
type: Number,
|
|
required: false,
|
|
},
|
|
presence_penalty: {
|
|
type: Number,
|
|
required: false,
|
|
},
|
|
frequency_penalty: {
|
|
type: Number,
|
|
required: false,
|
|
},
|
|
file_ids: { type: [{ type: String }], default: undefined },
|
|
// deprecated
|
|
resendImages: {
|
|
type: Boolean,
|
|
},
|
|
/* Anthropic only */
|
|
promptCache: {
|
|
type: Boolean,
|
|
},
|
|
thinking: {
|
|
type: Boolean,
|
|
},
|
|
thinkingBudget: {
|
|
type: Number,
|
|
},
|
|
system: {
|
|
type: String,
|
|
},
|
|
// files
|
|
resendFiles: {
|
|
type: Boolean,
|
|
},
|
|
imageDetail: {
|
|
type: String,
|
|
},
|
|
/* agents */
|
|
agent_id: {
|
|
type: String,
|
|
},
|
|
/* assistants */
|
|
assistant_id: {
|
|
type: String,
|
|
},
|
|
instructions: {
|
|
type: String,
|
|
},
|
|
stop: { type: [{ type: String }], default: undefined },
|
|
isArchived: {
|
|
type: Boolean,
|
|
default: false,
|
|
},
|
|
/* UI Components */
|
|
iconURL: {
|
|
type: String,
|
|
},
|
|
greeting: {
|
|
type: String,
|
|
},
|
|
spec: {
|
|
type: String,
|
|
},
|
|
tags: {
|
|
type: [String],
|
|
default: [],
|
|
},
|
|
tools: { type: [{ type: String }], default: undefined },
|
|
maxContextTokens: {
|
|
type: Number,
|
|
},
|
|
max_tokens: {
|
|
type: Number,
|
|
},
|
|
/** omni models only */
|
|
reasoning_effort: {
|
|
type: String,
|
|
},
|
|
};
|
|
|
|
module.exports = {
|
|
conversationPreset,
|
|
};
|