diff options
| author | gixita <kris.laermans@gmail.com> | 2024-02-08 17:12:12 +0100 |
|---|---|---|
| committer | gixita <kris.laermans@gmail.com> | 2024-02-08 17:12:12 +0100 |
| commit | fc1d6985c9eb0c31b8ea05244e4a270d9ec8ffaa (patch) | |
| tree | c3947541c4888bdd9c3c9bfa9efdbcdbb10370e0 /src/ollama.tsx | |
| parent | 842fcd159675c4091952277526844b1eebf6df18 (diff) | |
| download | ollama-logseq-fc1d6985c9eb0c31b8ea05244e4a270d9ec8ffaa.tar.xz ollama-logseq-fc1d6985c9eb0c31b8ea05244e4a270d9ec8ffaa.zip | |
feat: Add custom prompt functionality to block
This commit introduces the capability for users to apply custom prompts defined in the configuration to a block. Key changes include:
- A new configuration string to store the custom prompt.
- A menu item 'Custom prompt on block'.
- Implementation of a function to apply the custom prompt to a block, mirroring the existing 'summarize block' functionality.
Diffstat (limited to 'src/ollama.tsx')
| -rw-r--r-- | src/ollama.tsx | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/ollama.tsx b/src/ollama.tsx index 9d925db..4fe697f 100644 --- a/src/ollama.tsx +++ b/src/ollama.tsx @@ -178,6 +178,7 @@ export async function summarizeBlock() { const currentBlock = await logseq.Editor.getCurrentBlock() let summaryBlock = await logseq.Editor.insertBlock(currentBlock!.uuid, `⌛Summarizing Block...`, { before: false }) const summary = await promptLLM(`Summarize the following ${currentBlock!.content}`); + await logseq.Editor.updateBlock(summaryBlock!.uuid, `Summary: ${summary}`) } catch (e: any) { logseq.App.showMsg(e.toString(), 'warning') @@ -185,6 +186,25 @@ export async function summarizeBlock() { } } +export async function customPromptBlock() { + try { + if (!logseq.settings) { + throw new Error("Couldn't find ollama-logseq settings") + } + + // TODO: Get contnet of current block and subblocks + const currentBlock = await logseq.Editor.getCurrentBlock() + let customPromptBlock = await logseq.Editor.insertBlock(currentBlock!.uuid, `⌛Apply custom prompt...`, { before: false }) + const customPrompt = await promptLLM(`${logseq.settings.custom_prompt_block} ${currentBlock!.content}`); + + await logseq.Editor.updateBlock(customPromptBlock!.uuid, `${customPrompt}`) + } catch (e: any) { + logseq.App.showMsg(e.toString(), 'warning') + console.error(e) + } +} + + async function getOllamaParametersFromBlockProperties(b: BlockEntity) { const properties = await logseq.Editor.getBlockProperties(b.uuid); const ollamaParameters: OllamaGenerateParameters = {} |
