ui: Linting & Formatting scripts (#26819)
This commit is contained in:
@@ -1,64 +1,63 @@
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { ParameterSyncService } from './parameter-sync.service';
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
describe('ParameterSyncService', () => {
|
||||
describe('roundFloatingPoint', () => {
|
||||
it('should fix JavaScript floating-point precision issues', () => {
|
||||
// Test the specific values from the screenshot
|
||||
const mockServerParams = {
|
||||
top_p: 0.949999988079071,
|
||||
min_p: 0.009999999776482582,
|
||||
samplers: ['top_k', 'typ_p', 'top_p', 'min_p', 'temperature'],
|
||||
temperature: 0.800000011920929,
|
||||
top_k: 40,
|
||||
samplers: ['top_k', 'typ_p', 'top_p', 'min_p', 'temperature']
|
||||
top_p: 0.949999988079071
|
||||
};
|
||||
|
||||
const result = ParameterSyncService.extractServerDefaults({
|
||||
...mockServerParams,
|
||||
// Add other required fields to match the API type
|
||||
n_predict: 512,
|
||||
seed: -1,
|
||||
dynatemp_range: 0.0,
|
||||
dynatemp_exponent: 1.0,
|
||||
xtc_probability: 0.0,
|
||||
xtc_threshold: 0.1,
|
||||
typ_p: 1.0,
|
||||
repeat_last_n: 64,
|
||||
repeat_penalty: 1.0,
|
||||
presence_penalty: 0.0,
|
||||
frequency_penalty: 0.0,
|
||||
dry_multiplier: 0.0,
|
||||
dry_base: 1.75,
|
||||
chat_format: '',
|
||||
dry_allowed_length: 2,
|
||||
dry_base: 1.75,
|
||||
dry_multiplier: 0.0,
|
||||
dry_penalty_last_n: 64,
|
||||
mirostat: 0,
|
||||
mirostat_tau: 5.0,
|
||||
mirostat_eta: 0.1,
|
||||
stop: [],
|
||||
max_tokens: -1,
|
||||
n_keep: 0,
|
||||
n_discard: 0,
|
||||
ignore_eos: false,
|
||||
stream: true,
|
||||
logit_bias: [],
|
||||
n_probs: 0,
|
||||
min_keep: 0,
|
||||
dry_sequence_breakers: [],
|
||||
dynatemp_exponent: 1.0,
|
||||
dynatemp_range: 0.0,
|
||||
frequency_penalty: 0.0,
|
||||
generation_prompt: '',
|
||||
grammar: '',
|
||||
grammar_lazy: false,
|
||||
grammar_triggers: [],
|
||||
ignore_eos: false,
|
||||
logit_bias: [],
|
||||
lora: [],
|
||||
max_tokens: -1,
|
||||
min_keep: 0,
|
||||
mirostat: 0,
|
||||
mirostat_eta: 0.1,
|
||||
mirostat_tau: 5.0,
|
||||
n_discard: 0,
|
||||
n_keep: 0,
|
||||
// Add other required fields to match the API type
|
||||
n_predict: 512,
|
||||
n_probs: 0,
|
||||
post_sampling_probs: false,
|
||||
presence_penalty: 0.0,
|
||||
preserved_tokens: [],
|
||||
chat_format: '',
|
||||
reasoning_format: '',
|
||||
reasoning_in_content: false,
|
||||
generation_prompt: '',
|
||||
repeat_last_n: 64,
|
||||
repeat_penalty: 1.0,
|
||||
seed: -1,
|
||||
'speculative.n_max': 0,
|
||||
'speculative.n_min': 0,
|
||||
'speculative.p_min': 0.0,
|
||||
stop: [],
|
||||
stream: true,
|
||||
timings_per_token: false,
|
||||
post_sampling_probs: false,
|
||||
lora: [],
|
||||
top_n_sigma: 0.0,
|
||||
dry_sequence_breakers: []
|
||||
typ_p: 1.0,
|
||||
xtc_probability: 0.0,
|
||||
xtc_threshold: 0.1
|
||||
} as ApiLlamaCppServerProps['default_generation_settings']['params']);
|
||||
|
||||
// Check that the problematic floating-point values are rounded correctly
|
||||
@@ -71,59 +70,58 @@ describe('ParameterSyncService', () => {
|
||||
|
||||
it('should preserve non-numeric values', () => {
|
||||
const mockServerParams = {
|
||||
samplers: ['top_k', 'temperature'],
|
||||
max_tokens: -1,
|
||||
samplers: ['top_k', 'temperature'],
|
||||
temperature: 0.7
|
||||
};
|
||||
|
||||
const result = ParameterSyncService.extractServerDefaults({
|
||||
...mockServerParams,
|
||||
// Minimal required fields
|
||||
n_predict: 512,
|
||||
seed: -1,
|
||||
dynatemp_range: 0.0,
|
||||
dynatemp_exponent: 1.0,
|
||||
top_k: 40,
|
||||
top_p: 0.95,
|
||||
min_p: 0.05,
|
||||
xtc_probability: 0.0,
|
||||
xtc_threshold: 0.1,
|
||||
typ_p: 1.0,
|
||||
repeat_last_n: 64,
|
||||
repeat_penalty: 1.0,
|
||||
presence_penalty: 0.0,
|
||||
frequency_penalty: 0.0,
|
||||
dry_multiplier: 0.0,
|
||||
dry_base: 1.75,
|
||||
chat_format: '',
|
||||
dry_allowed_length: 2,
|
||||
dry_base: 1.75,
|
||||
dry_multiplier: 0.0,
|
||||
dry_penalty_last_n: 64,
|
||||
mirostat: 0,
|
||||
mirostat_tau: 5.0,
|
||||
mirostat_eta: 0.1,
|
||||
stop: [],
|
||||
n_keep: 0,
|
||||
n_discard: 0,
|
||||
ignore_eos: false,
|
||||
stream: true,
|
||||
logit_bias: [],
|
||||
n_probs: 0,
|
||||
min_keep: 0,
|
||||
dry_sequence_breakers: [],
|
||||
dynatemp_exponent: 1.0,
|
||||
dynatemp_range: 0.0,
|
||||
frequency_penalty: 0.0,
|
||||
generation_prompt: '',
|
||||
grammar: '',
|
||||
grammar_lazy: false,
|
||||
grammar_triggers: [],
|
||||
ignore_eos: false,
|
||||
logit_bias: [],
|
||||
lora: [],
|
||||
min_keep: 0,
|
||||
min_p: 0.05,
|
||||
mirostat: 0,
|
||||
mirostat_eta: 0.1,
|
||||
mirostat_tau: 5.0,
|
||||
n_discard: 0,
|
||||
n_keep: 0,
|
||||
// Minimal required fields
|
||||
n_predict: 512,
|
||||
n_probs: 0,
|
||||
post_sampling_probs: false,
|
||||
presence_penalty: 0.0,
|
||||
preserved_tokens: [],
|
||||
chat_format: '',
|
||||
reasoning_format: '',
|
||||
reasoning_in_content: false,
|
||||
generation_prompt: '',
|
||||
repeat_last_n: 64,
|
||||
repeat_penalty: 1.0,
|
||||
seed: -1,
|
||||
'speculative.n_max': 0,
|
||||
'speculative.n_min': 0,
|
||||
'speculative.p_min': 0.0,
|
||||
stop: [],
|
||||
stream: true,
|
||||
timings_per_token: false,
|
||||
post_sampling_probs: false,
|
||||
lora: [],
|
||||
top_k: 40,
|
||||
top_n_sigma: 0.0,
|
||||
dry_sequence_breakers: []
|
||||
top_p: 0.95,
|
||||
typ_p: 1.0,
|
||||
xtc_probability: 0.0,
|
||||
xtc_threshold: 0.1
|
||||
} as ApiLlamaCppServerProps['default_generation_settings']['params']);
|
||||
|
||||
expect(result.samplers).toBe('top_k;temperature');
|
||||
|
||||
Reference in New Issue
Block a user