Precise custom model selection & simplify language model/provider log… (#147)
…ic (no merging)
This commit is contained in:
@@ -20,13 +20,7 @@ const DEFAULT_CONTEXT_WINDOW = 128_000;
|
||||
|
||||
export async function getContextWindow() {
|
||||
const settings = readSettings();
|
||||
const model = settings.selectedModel;
|
||||
|
||||
const models = await getLanguageModels({
|
||||
providerId: model.provider,
|
||||
});
|
||||
|
||||
const modelOption = models.find((m) => m.apiName === model.name);
|
||||
const modelOption = await findLanguageModel(settings.selectedModel);
|
||||
return modelOption?.contextWindow || DEFAULT_CONTEXT_WINDOW;
|
||||
}
|
||||
|
||||
@@ -34,10 +28,23 @@ export async function getContextWindow() {
|
||||
const DEFAULT_MAX_TOKENS = 8_000;
|
||||
|
||||
export async function getMaxTokens(model: LargeLanguageModel) {
|
||||
const modelOption = await findLanguageModel(model);
|
||||
return modelOption?.maxOutputTokens || DEFAULT_MAX_TOKENS;
|
||||
}
|
||||
|
||||
async function findLanguageModel(model: LargeLanguageModel) {
|
||||
const models = await getLanguageModels({
|
||||
providerId: model.provider,
|
||||
});
|
||||
|
||||
const modelOption = models.find((m) => m.apiName === model.name);
|
||||
return modelOption?.maxOutputTokens || DEFAULT_MAX_TOKENS;
|
||||
if (model.customModelId) {
|
||||
const customModel = models.find(
|
||||
(m) => m.type === "custom" && m.id === model.customModelId,
|
||||
);
|
||||
if (customModel) {
|
||||
return customModel;
|
||||
}
|
||||
}
|
||||
|
||||
return models.find((m) => m.apiName === model.name);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user