diff --git a/packages/api/src/jobs/ai-summarize.ts b/packages/api/src/jobs/ai-summarize.ts index 64cef703c..974a6b347 100644 --- a/packages/api/src/jobs/ai-summarize.ts +++ b/packages/api/src/jobs/ai-summarize.ts @@ -7,6 +7,7 @@ import { libraryItemRepository } from '../repository/library_item' import { htmlToMarkdown } from '../utils/parser' import { AISummary } from '../entity/AISummary' import { LibraryItemState } from '../entity/library_item' +import { getAISummary } from '../services/ai-summaries' export interface AISummarizeJobData { userId: string @@ -35,6 +36,19 @@ export const aiSummarize = async (jobData: AISummarizeJobData) => { return } + const existingSummary = await getAISummary({ + userId: jobData.userId, + idx: 'latest', + libraryItemId: jobData.libraryItemId, + }) + + if (existingSummary) { + logger.info( + `Library item already has a summary: ${jobData.libraryItemId}` + ) + return + } + const llm = new ChatOpenAI({ configuration: { apiKey: process.env.OPENAI_API_KEY,