Skip to main content

پیشنهادهای سفارشی

💡TL;DR

Notemd به شما امکان می‌دهد تا پیشنهاد پیش‌فرض LLM را برای هر نوع وظیفه جایگزین کنید. پیشنهادهای سفارشی کنترل لازم را بر آنچه مدل باید در اولویت قرار دهد به شما می‌دهند: می‌توانید استخراج مفاهیم را به یک رشته خاص محدود کنید، سبک پیوندزدن را تغییر دهید یا لحن ترجمه را هدایت کنید. متغیرهای پیشنهاد مانند {{content}} و {{concept}} در زمان اجرا جایگزین می‌شوند. ویژگی حوزه یادگیری متمرکز، حوزه مطالعه شما را در ابتدا قرار می‌دهد تا نتایج استخراج به طور خودکار محدود شود.

این بخشی از Obsidian راهنمای مدیریت دانش هوش مصنوعی است.

مرور کلی

پیشنهادهای داخلی Notemd برای کارهای دانشی کاربردی نوشته شده‌اند. آن‌ها در تمام حوزه‌ها خوب کار می‌کنند، اما فضایی برای بهبودهای ویژه حوزه نیز وجود دارد. پیشنهادهای سفارشی به شما امکان می‌دهد دقیقاً به LLM بگویید که چگونه برای مورد استفاده شما عمل کند – چه اینکه فقط اصطلاحات پزشکی را استخراج کند، فقط اشیاء نام‌دار را پیوند دهد یا به صورت رسمی ترجمه کند.

پیشنهادهای سفارشی کل پیشنهاد سیستم را جایگزین نمی‌کنند. آن‌ها بخش دستورالعمل‌های مربوط به وظیفه را جایگزین یا تکمیل می‌کنند در حالی که فرمت خروجی ساختاری (مانند خطوط CONCEPT:، سینتکس پیوند ویکی) را که 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:، فرمت پیوند ویکی). همیشه توسط 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" را نیز استخراج کند.

نکات

  • ابتدا با حوزه یادگیری مشخص شروع کنید قبل از نوشتن یک پرامپت سفارشی کامل. این روش با یک تنظیم، ۸۰٪ از موارد استفاده را پوشش می‌دهد.
  • فرمت خروجی را حفظ کنید -- هرگز دستورالعمل‌های فرمت مانند "یکی در هر خط" یا "CONCEPT: prefix" را از پرامپت‌های سفارشی حذف نکنید. پارسر Notemd به آن‌ها وابسته است.
  • ابتدا با یک یادداشت تست کنید -- پرامپت‌های سفارشی ممکن است تأثیرات غیرمنتظره‌ای بر گستره استخراج داشته باشند. قبل از پردازش دسته‌جمعی، روی یک یادداشت آن را بررسی کنید.
  • پرامپت‌ها را مختصر نگه دارید -- پرامپت‌های سفارشی بیش از حد طولانی، توکن‌ها را مصرف کرده و می‌توانند تمرکز مدل را کاهش دهند.

گام‌های بعدی

  • Wiki-Links -- هنگام سفارشی‌سازی پرامپت add-links، چه چیزهایی لینک می‌شوند
  • Concept Notes -- الگوهای یادداشت مفهوم و متغیر {{concept}}
  • Batch Processing -- اعمال پرامپت‌های سفارشی بر روی تمام پوشه‌ها
  • Troubleshooting -- رفع مشکلاتی که در آن‌ها پرامپت‌های سفارشی خروجی‌های غیرمنتظره‌ای تولید می‌کنند