From 6525c99631b908e438d3f271e678e61f807f4f64 Mon Sep 17 00:00:00 2001 From: doouding Date: Wed, 24 Apr 2024 07:10:11 +0000 Subject: [PATCH] feat(server): new prompt for expand mind map (#6678) feat(server): new prompt for expand mind map feat: add migration file --- .../migrations/1713864641056-update-prompt.ts | 13 +++++++++++++ .../server/src/data/migrations/utils/prompts.ts | 15 +++++++++++++++ .../blocksuite/block-suite-editor/ai/prompt.ts | 1 + .../blocksuite/block-suite-editor/ai/provider.ts | 8 ++++++++ 4 files changed, 37 insertions(+) create mode 100644 packages/backend/server/src/data/migrations/1713864641056-update-prompt.ts diff --git a/packages/backend/server/src/data/migrations/1713864641056-update-prompt.ts b/packages/backend/server/src/data/migrations/1713864641056-update-prompt.ts new file mode 100644 index 0000000000..7fc7af0e0a --- /dev/null +++ b/packages/backend/server/src/data/migrations/1713864641056-update-prompt.ts @@ -0,0 +1,13 @@ +import { PrismaClient } from '@prisma/client'; + +import { refreshPrompts } from './utils/prompts'; + +export class UpdatePrompt1713864641056 { + // do the migration + static async up(db: PrismaClient) { + await refreshPrompts(db); + } + + // revert the migration + static async down(_db: PrismaClient) {} +} diff --git a/packages/backend/server/src/data/migrations/utils/prompts.ts b/packages/backend/server/src/data/migrations/utils/prompts.ts index fe9d97e18f..bb1ceb7df9 100644 --- a/packages/backend/server/src/data/migrations/utils/prompts.ts +++ b/packages/backend/server/src/data/migrations/utils/prompts.ts @@ -250,6 +250,21 @@ export const prompts: Prompt[] = [ }, ], }, + { + name: 'Expand mind map', + action: 'Expand mind map', + model: 'gpt-4-turbo-preview', + messages: [ + { + role: 'assistant', + content: `An existing mind map is displayed as a markdown list: + + {{mindmap}}. + + Please expand the node “{{content}}", adding more essential details and subtopics to the existing mind map in the same markdown list format. Only output the expand part without the original mind map. No need to include any additional text or explanation`, + }, + ], + }, { name: 'Improve writing for it', action: 'Improve writing for it', diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/prompt.ts b/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/prompt.ts index 343d7d9a75..f97d138e24 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/prompt.ts +++ b/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/prompt.ts @@ -21,6 +21,7 @@ export const promptKeys = [ 'Change tone to', 'Brainstorm ideas about this', 'Brainstorm mindmap', + 'Expand mind map', 'Improve writing for it', 'Improve grammar for it', 'Fix spelling for it', diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/provider.ts b/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/provider.ts index de924ca3dd..272577e7e1 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/provider.ts +++ b/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/provider.ts @@ -252,6 +252,14 @@ export function setupAIProvider() { }); }); + provideAction('expandMindmap', options => { + return textToText({ + ...options, + content: options.input, + promptName: 'Expand mind map', + }); + }); + provideAction('explain', options => { return textToText({ ...options,