Add DEFAULT_COMPRESS_MODEL configuration

This commit is contained in:
Noctiro
2025-02-04 11:20:54 +08:00
parent bb4832e6e7
commit afdf3a5cd4
9 changed files with 52 additions and 10 deletions

View File

@@ -131,6 +131,7 @@ const DEFAULT_ACCESS_STATE = {
disableFastLink: false,
customModels: "",
defaultModel: "",
defaultCompressModel: "",
visionModels: "",
// tts config
@@ -241,12 +242,21 @@ export const useAccessStore = createPersistStore(
.then((res) => res.json())
.then((res) => {
const defaultModel = res.defaultModel ?? "";
if (defaultModel !== "") {
if (defaultModel) {
const [model, providerName] = getModelProvider(defaultModel);
DEFAULT_CONFIG.modelConfig.model = model;
DEFAULT_CONFIG.modelConfig.providerName = providerName as any;
}
const defaultCompressModel = res.defaultCompressModel ?? "";
if (defaultCompressModel) {
const [model, providerName] =
getModelProvider(defaultCompressModel);
DEFAULT_CONFIG.modelConfig.compressModel = model;
DEFAULT_CONFIG.modelConfig.compressProviderName =
providerName as any;
}
return res;
})
.then((res: DangerConfig) => {

View File

@@ -123,9 +123,16 @@ function getSummarizeModel(
currentModel: string,
providerName: string,
): string[] {
const configStore = useAppConfig.getState();
if (configStore.modelConfig.compressModel) {
return [
configStore.modelConfig.compressModel,
configStore.modelConfig.compressProviderName,
];
}
// if it is using gpt-* models, force to use 4o-mini to summarize
if (currentModel.startsWith("gpt") || currentModel.startsWith("chatgpt")) {
const configStore = useAppConfig.getState();
const accessStore = useAccessStore.getState();
const allModel = collectModelsWithDefaultModel(
configStore.models,