Skip to main content

Кастомні запити

💡TL;DR

Notemd дозволяє перевизначити стандартний LLM запит для кожного типу завдання. Кастомні запити надають вам контроль над тим, що модель буде пріоритезувати: ви можете обмежити видобуток концепцій певною галуззю, змінити стиль посилань або скерувати тон перекладу. Змінні запитів, такі як {{content}} та {{concept}}, підставляються під час виконання. Функція спрямованої навчальної галузі додає до початку вашу сферу досліджень для автоматичного обмеження результатів видобутку.

Це частина Obsidian Посібника з управління знаннями в ШІ.

Огляд

Вбудовані запити Notemd написані для роботи з загальними знаннями. Вони добре працюють у різних галузях, але водночас залишають простір для покращень, специфічних для конкретної галузі. Кастомні запити дозволяють вам чітко сказати LLM, як саме поводитися у вашому випадку — чи то видобувати лише медичну термінологію, посилатися лише на іменовані елементи або перекладати у формальному стилі.

Кастомні запити не замінюють весь системний запит. Вони перевизначають або доповнюють частину інструкцій, специфічну для завдання, зберігаючи при цьому структурний формат вихідних даних (наприклад, рядки CONCEPT:, синтаксис wiki-посилань), від якого Notemd залежить для парсингу.

Як це працює

Архітектура запитів

Кожне Notemd завдання дотримується однакової структури запиту:

[System role: You are a helpful assistant...]
[Domain constraint: Relevant Fields: [{domain}]] <-- focused learning (optional)
[Custom task prompt] <-- your override (optional)
[Output format instructions] <-- always preserved
[Content: {{content}}] <-- runtime substitution
  1. Базовий системний запит -- Встановлює персонаж асистента. Не підлягає перевизначенню.
  2. Спрямована навчальна галузь -- Додає до початку Relevant Fields: [medicine / law / computer science / ...] для обмеження діапазону. Це перемикач налаштувань, а не сирий запит.
  3. Кастомний запит завдання -- Замінює стандартні інструкції до завдання (наприклад, які концепції видобувати, наскільки активно створювати посилання).
  4. Формат вихідних даних -- Структурні правила (рядки CONCEPT:, формат wiki-посилань). Завжди додається Notemd для забезпечення можливості парсингу.
  5. Зміст -- Фактичний текст запису, який підставляється під час виконання за допомогою {{content}}.

Змінні запитів

Змінні підставляються під час виконання. Доступні змінні відрізняються залежно від завдання:

VariableЗавданняЗамінено на
{{content}}УсеТекст примітки або вибраного фрагмента
{{concept}}Шаблон концептуальної приміткиІм'я вилученого концепту
{{description}}Шаблон концептуальної приміткиОпис концепту, створений LLM
{{backlinks}}Шаблон концептуальної приміткиСписок вихідних приміток з посиланнями
{{date}}Шаблон концептуальної приміткиТекуща дата (YYYY-MM-DD)
{{language}}ПерекладМова цільового виводу
{{source}}Шаблон концептуальної приміткиБазова назва вихідної примітки

Сфера зосередженого навчання

Функція зосередженого навчання є скороченим способом визначення сфери. Замість того, щоб писати власний запит, у якому зазначається ваша галузь, ви встановлюєте focusedLearningDomain у налаштуваннях:

Settings → Advanced → Focused Learning Domain
Example: "medicine" or "computer science" or "Chinese philosophy"

Це додає Relevant Fields: [medicine] до запиту на екстракцію, що змушує LLM надавати пріоритет поняттям, пов’язаним із сферою, та пригнічувати загальні. Це легше, ніж повний власний запит, і працює у всіх завданнях екстракції.

Конфігурація

НалаштуванняЗа замовчуваннямЕфект
customAddLinksPrompt''Перевизначити стандартний запит завдання додавання посилань
customExtractConceptsPrompt''Перевизначити стандартний запит екстракції понять
customResearchPrompt''Перевизначити стандартний запит дослідження + узагальнення
customTranslatePrompt''Перевизначити стандартний запит перекладу
customDiagramPrompt''Перевизначити стандартний запит створення діаграми
focusedLearningDomain''Додати контекст галузі до запитів на екстракцію та посилання
extractConceptsMinimalTemplatetrueВикористовувати шаблон концептуальної записки з лише назвою (впливає на обсяг шаблону {{concept}})
customConceptNoteTemplate''Перевизначити шаблон файлу концептуальної записки з повною підтримкою змінних

Якщо поле власного запиту порожнє, використовується вбудований стандартний запит.

Приклад

Ви є медичним дослідником, який екстрагує поняття з записів клінічних випробувань. Стандартний запит екстрагує загальні іменники разом із медичними термінами, що заплутує вашу папку з поняттями.

Рішення: Встановіть сферу зосередженого навчання та власний запит екстракції.

  1. Встановіть focusedLearningDomain на medicine
  2. Встановіть customExtractConceptsPrompt як:
Extract only clinically relevant concepts: diseases, drug names,
anatomical terms, measurement endpoints, and statistical methods.
Ignore generic English nouns, brand names, and institutional names.
Prioritize MeSH terminology where applicable.

Тепер, коли ви запускаєте «Extract concepts» на клінічній записці, LLM генерує:

CONCEPT: Randomized Controlled Trial
CONCEPT: Double-Blind Method
CONCEPT: Myocardial Infarction
CONCEPT: Creatine Kinase-MB
CONCEPT: Kaplan-Meier Estimate

Замість стандартної поведінки, яка також може видобувати небажані загальні терміни, такі як «hospital» або «month».

Поради

  • Почніть з визначеної сфери навчання перед створенням повного користувацького запиту. Це охоплює 80% випадків використання за допомогою одного налаштування.
  • Зберігайте формат вихідних даних — ніколи не видаляйте інструкції щодо формату, такі як «один на рядок» або «CONCEPT: prefix», з користувацьких запитів. Парсер Notemd залежить від них.
  • Спочатку протестуйте з однією запискою — користувацькі запити можуть мати несподівані наслідки для ширини видобутку. Перевірте їх на одній записці перед пакетною обробкою.
  • Зберігайте запити лаконічними — надто довгі користувацькі запити споживають токени та можуть розсіювати увагу моделі.

Наступні кроки

  • Wiki-Links — що буде посиланням, коли ви налаштовуєте запит add-links
  • Concept Notes — шаблони концептуальних записок та змінна {{concept}}
  • Batch Processing — застосування користувацьких запитів до всіх папок
  • Troubleshooting — усунення проблем, коли користувацькі запити генерують несподіваний вихід