refactor: extract repeated summarization logic into retryableSummarize function

This commit is contained in:
Bo26fhmC5M
2025-01-16 23:36:32 +09:00
parent fac11bfe67
commit 6a13b33103
2 changed files with 84 additions and 96 deletions

View File

@@ -11,6 +11,7 @@
import { alertConfirm, showHypaV3Alert } from "../../ts/alert";
import { DBState, alertStore, selectedCharID } from "src/ts/stores.svelte";
import { summarize } from "src/ts/process/memory/hypav3";
import { type OpenAIChat } from "src/ts/process/index.svelte";
import { translateHTML } from "src/ts/translator/translator";
interface SummaryUI {
@@ -131,19 +132,18 @@
try {
const summary = hypaV3DataState.summaries[summaryIndex];
const toSummarize = summary.chatMemos.map((chatMemo) => {
const toSummarize: OpenAIChat[] = summary.chatMemos.map((chatMemo) => {
const message = getMessageFromChatMemo(chatMemo);
return {
...message,
role: message.role === "char" ? "assistant" : message.role,
role: (message.role === "char"
? "assistant"
: message.role) as OpenAIChat["role"],
content: message.data,
};
});
const stringifiedChats = toSummarize
.map((m) => `${m.role}: ${m.data}`)
.join("\n");
const summarizeResult = await summarize(stringifiedChats);
const summarizeResult = await summarize(toSummarize);
if (summarizeResult.success) {
summaryUIState.rerolledText = summarizeResult.data;