feat: Enhance Kol Generation Service with web search and knowledge group support

- Added `EnableWebSearch` and `KnowledgeGroupIDs` fields to `KolGenerationSubmitRequest`.
- Updated `Submit` method in `KolGenerationService` to handle new request fields.
- Integrated web search and knowledge group validation based on card configuration.
- Introduced caching mechanisms in `KolPackageService`, `KolPromptService`, and `KolSubscriptionAdminService` to improve performance.
- Implemented knowledge context resolution in `KolGenerationWorker` to enrich prompts with relevant knowledge snippets.
- Added utility functions for handling card configuration in both backend and frontend.
- Created tests for knowledge extraction and rendering to ensure accuracy and reliability.
This commit is contained in:
2026-04-18 13:47:32 +08:00
parent 3ef0807456
commit b2605abd6a
27 changed files with 2051 additions and 171 deletions
+16 -7
View File
@@ -79,8 +79,8 @@ const enUS = {
contentManagement: "Content Management",
knowledge: "Knowledge Base",
images: "Image Management",
kolMarket: "KOL Marketplace",
kolMarketplace: "Template Marketplace",
kolMarket: "Refined Templates",
kolMarketplace: "Refined Templates",
kolWorkspace: "KOL Workspace",
kolManage: "Prompt Management",
kolDashboard: "Dashboard",
@@ -115,7 +115,7 @@ const enUS = {
},
templates: {
title: "Template Creation",
description: "Choose a suitable template or use the batch feature to quickly generate GEO content.",
description: "Manage both general-purpose and refined templates, with all related generation records gathered here.",
},
wizard: {
title: "Template Wizard",
@@ -160,7 +160,7 @@ const enUS = {
},
kol: {
marketplace: {
title: "KOL Template Marketplace",
title: "Refined Templates",
filter: {
industry: "Industry",
keyword: "Keyword",
@@ -179,7 +179,7 @@ const enUS = {
notSubscribed: "Not subscribed",
},
generate: {
title: "Generate Article",
title: "Refined Template Generation",
submit: "Generate",
fillVariables: "Please fill in the following variables and click generate",
},
@@ -242,7 +242,7 @@ const enUS = {
platforms: "Platforms",
},
sections: {
templates: "Article Templates",
generalTemplates: "General-Purpose Templates",
recent: "Recent Generations",
overview: "Overview",
quota: "Plan & Quota",
@@ -441,7 +441,7 @@ const enUS = {
instant_task: "Instant task",
schedule_task: "Scheduled task",
free_create: "Free create",
kol: "KOL generation",
kol: "Refined template generation",
},
},
freeCreate: {
@@ -469,6 +469,11 @@ const enUS = {
},
templates: {
eyebrow: "Article Creation",
sections: {
generalTemplates: "General-Purpose Templates",
refinedTemplates: "Refined Templates",
records: "Template Creation Records",
},
actions: {
batchGenerate: "Batch generate",
chooseTemplate: "Choose template",
@@ -484,6 +489,7 @@ const enUS = {
keywordPlaceholder: "Search by article title",
},
list: {
eyebrow: "Template Creation Records",
count: "{count} articles",
empty: "No articles have been created yet.",
preview: "Preview",
@@ -497,6 +503,9 @@ const enUS = {
},
picker: {
title: "Choose the template you want to use",
empty: "Choose either general-purpose templates or refined template generation first",
generalDescription: "Choose a general-purpose template to start creating",
refinedDescription: "Choose a refined template and start refined generation directly",
viewExample: "View example",
},
wizard: {