feat: Implement HypaV3 ratio-based memory

This commit is contained in:
Bo26fhmC5M
2025-01-12 01:45:49 +09:00
parent 3b533e911f
commit 50361d7aa2
9 changed files with 1004 additions and 7 deletions

View File

@@ -470,6 +470,15 @@ export function setDatabase(data:Database){
data.banCharacterset ??= []
data.showPromptComparison ??= false
data.checkCorruption ??= true
data.hypaV3Settings = {
memoryTokensRatio: data.hypaV3Settings?.memoryTokensRatio ?? 0.2,
extraSummarizationRatio: data.hypaV3Settings?.extraSummarizationRatio ?? 0.2,
maxChatsPerSummary: data.hypaV3Settings?.maxChatsPerSummary ?? 4,
similarMemoryRatio: data.hypaV3Settings?.similarMemoryRatio ?? 0.4,
randomMemoryRatio: data.hypaV3Settings?.randomMemoryRatio ?? 0.2,
enableSimilarityCorrection: data.hypaV3Settings?.enableSimilarityCorrection ?? false,
preserveOrphanedMemory: data.hypaV3Settings?.preserveOrphanedMemory ?? false
}
changeLanguage(data.language)
setDatabaseLite(data)
}
@@ -872,6 +881,16 @@ export interface Database{
banCharacterset:string[]
showPromptComparison:boolean
checkCorruption:boolean
hypaV3:boolean
hypaV3Settings: {
memoryTokensRatio: number
extraSummarizationRatio: number
maxChatsPerSummary: number
similarMemoryRatio: number
randomMemoryRatio: number
enableSimilarityCorrection: boolean
preserveOrphanedMemory: boolean
}
}
interface SeparateParameters{
@@ -1268,6 +1287,7 @@ export interface Chat{
id?:string
bindedPersona?:string
fmIndex?:number
hypaV3Data?:SerializableHypaV3Data
}
export interface Message{
@@ -1621,6 +1641,7 @@ import { DBState, selectedCharID } from '../stores.svelte';
import { LLMFlags, LLMFormat } from '../model/modellist';
import type { Parameter } from '../process/request';
import type { HypaModel } from '../process/memory/hypamemory';
import type { SerializableHypaV3Data } from '../process/memory/hypav3';
export async function downloadPreset(id:number, type:'json'|'risupreset'|'return' = 'json'){
saveCurrentPreset()