Fix hanurai to skip query chats when push to processor
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user