Fix hanurai to skip query chats when push to processor

This commit is contained in:
sub-hub
2024-05-02 09:47:35 +09:00
parent 2e88a52810
commit e76a2459bb

View File

@@ -6,6 +6,7 @@ import type { ChatTokenizer } from "src/ts/tokenizer";
import { get } from "svelte/store"; import { get } from "svelte/store";
import { DataBase } from "src/ts/storage/database"; import { DataBase } from "src/ts/storage/database";
const maxRecentChatQuery = 4;
export async function hanuraiMemory(chats:OpenAIChat[],arg:{ export async function hanuraiMemory(chats:OpenAIChat[],arg:{
currentTokens:number, currentTokens:number,
maxContextTokens:number, maxContextTokens:number,
@@ -15,8 +16,12 @@ export async function hanuraiMemory(chats:OpenAIChat[],arg:{
const tokenizer = arg.tokenizer const tokenizer = arg.tokenizer
const processer = new HypaProcesser('MiniLM') const processer = new HypaProcesser('MiniLM')
let addTexts:string[] = [] let addTexts:string[] = []
chats.map((chat) => { const queryStartIndex=chats.length-maxRecentChatQuery
console.log(chats.length,maxRecentChatQuery,queryStartIndex)
chats.map((chat, index) => {
if(queryStartIndex < index){
return
}
if(!chat?.content?.trim()){ if(!chat?.content?.trim()){
return return
} }
@@ -36,7 +41,7 @@ export async function hanuraiMemory(chats:OpenAIChat[],arg:{
await processer.addText(addTexts) await processer.addText(addTexts)
let scoredResults:{[key:string]:number} = {} let scoredResults:{[key:string]:number} = {}
for(let i=1;i<4;i++){ for(let i=1;i<maxRecentChatQuery;i++){
const chat = chats[chats.length-i] const chat = chats[chats.length-i]
if(!chat?.content){ if(!chat?.content){
continue continue