ساخت فلش کارت با هوش مصنوعی؛ آموزش تبدیل PDF و جزوه به فلشکارت
در این آموزش یاد میگیرید چگونه PDF، جزوه، کتاب و متن آموزشی را با هوش مصنوعی به فلشکارتهای استاندارد تبدیل کنید، خروجی CSV بگیرید و کارتها را وارد Anki کنید.
خواندن چندباره یک کتاب یا جزوه همیشه به معنای یادگیری بهتر نیست. ممکن است یک فصل را چند بار بخوانید و هنگام مطالعه احساس کنید مطالب را میدانید، اما زمانی که باید بدون نگاهکردن به متن به یک سؤال پاسخ دهید، متوجه شوید بخش زیادی از اطلاعات را به خاطر نمیآورید.
فلشکارت (Flashcard) این مطالعه منفعل را به یک تمرین فعال تبدیل میکند. در یک طرف کارت سؤال، اصطلاح یا مسئله قرار میگیرد و در طرف دیگر پاسخ، تعریف یا توضیح نوشته میشود. مشکل اصلی این است که ساخت دستی تعداد زیادی فلشکارت از روی کتاب، PDF یا جزوه زمان زیادی میبرد.
هوش مصنوعی میتواند این فرایند را سریعتر کند. شما میتوانید متن آموزشی را در اختیار یک مدل زبانی قرار دهید و از آن بخواهید:
- مفاهیم مهم را استخراج کند؛
- برای هر مفهوم یک سؤال مناسب بسازد؛
- پاسخ کوتاه و دقیق تولید کند؛
- کارتهای تکراری را حذف کند؛
- سطح دشواری کارتها را مشخص کند؛
- خروجی مناسب Anki یا نرمافزارهای مشابه بسازد؛
- از روی کارتها آزمون و تمرین تولید کند.
با این حال، تولید خودکار فلشکارت فقط زمانی مفید است که کارتها با اصول درست طراحی شوند. فلشکارتهای طولانی، مبهم یا خارج از منبع میتوانند به جای کمک، فرایند یادگیری را دشوارتر کنند.
در این راهنما تمام مراحل ساخت فلش کارت با هوش مصنوعی را از انتخاب منبع تا تولید خروجی CSV و خودکارسازی با API درواره بررسی میکنیم.
فلش کارت هوش مصنوعی چیست؟
فلش کارت هوش مصنوعی کارتی آموزشی است که سؤال و پاسخ آن با کمک یک مدل زبانی تولید، بازنویسی یا دستهبندی شده است.
ورودی میتواند یکی از موارد زیر باشد:
- متن یک درس یا فصل کتاب؛
- جزوه دانشگاه یا مدرسه؛
- محتوای استخراجشده از PDF؛
- یادداشتهای شخصی؛
- متن پیادهسازیشده کلاس یا سخنرانی؛
- واژگان یک زبان خارجی؛
- مستندات فنی و برنامهنویسی؛
- فهرست اصطلاحات تخصصی؛
- پرسشهای سالهای گذشته؛
- خلاصه یک مقاله یا گزارش.
خروجی نیز میتواند به صورت سؤال و جواب ساده، جای خالی، اصطلاح و تعریف، مثال و توضیح یا فایل قابل ورود به Anki باشد.
برای مثال، متن اولیه زیر را در نظر بگیرید:
DNS نام دامنه را به آدرس IP متناظر تبدیل میکند تا مرورگر بتواند سرور مقصد را پیدا کند.
هوش مصنوعی میتواند آن را به چنین کارتی تبدیل کند:
روی کارت: وظیفه اصلی DNS چیست؟
پشت کارت: تبدیل نام دامنه به آدرس IP متناظر برای یافتن سرور مقصد.
چرا نباید متن را مستقیماً به دهها فلشکارت تبدیل کنیم؟
یکی از اشتباهات متداول این است که کل یک PDF بزرگ را به هوش مصنوعی بدهیم و فقط بنویسیم: «از این فایل فلشکارت بساز.»
چنین دستور مبهمی معمولاً مشکلات زیر را ایجاد میکند:
- مفاهیم اصلی و فرعی با یکدیگر مخلوط میشوند؛
- کارتها بیش از حد طولانی میشوند؛
- چند نکته مستقل در یک کارت قرار میگیرد؛
- تعدادی از سؤالها تکراری هستند؛
- پاسخها اطلاعاتی خارج از منبع دارند؛
- سطح دشواری کارتها یکسان نیست؛
- نکات کماهمیت بیش از اندازه برجسته میشوند؛
- تعداد کارتها با حجم و اهمیت محتوا تناسب ندارد.
روش بهتر این است که ابتدا هدف یادگیری، مخاطب، محدوده منبع، نوع کارت و قالب خروجی را مشخص کنیم.
فلشکارت خوب چه ویژگیهایی دارد؟
پیش از ساخت فلش کارت با هوش مصنوعی باید بدانیم یک کارت استاندارد چگونه طراحی میشود.
هر کارت فقط یک نکته را بسنجد
اگر پاسخ کارت شامل چند مفهوم مستقل است، بهتر است آن کارت را به چند کارت کوچکتر تبدیل کنید.
نمونه نامناسب:
سؤال: HTTP چیست، چه نسخههایی دارد و چه تفاوتی با HTTPS دارد؟
این سؤال حداقل سه موضوع مختلف را همزمان میسنجد.
نمونه بهتر:
- HTTP چیست؟
- تفاوت اصلی HTTP و HTTPS چیست؟
- HTTP/2 چه مزیتی نسبت به HTTP/1.1 دارد؟
سؤال باید بدون ابهام باشد
سؤال «این روش چه مزیتی دارد؟» بدون زمینه قابل پاسخدادن نیست. مشخص کنید منظور از «این روش» چیست.
نمونه بهتر:
سؤال: مهمترین مزیت استفاده از کش (Cache) در یک برنامه وب چیست؟
پاسخ کوتاه اما کامل باشد
فلشکارت جای مقاله یا درسنامه کامل نیست. اگر پاسخ چند پاراگراف شود، مرور کارت دشوار خواهد شد.
برای بیشتر کارتهای مفهومی، یک تا سه جمله کافی است. جزئیات بیشتر را میتوان در بخش توضیح یا یادداشت تکمیلی قرار داد.
پاسخ فقط از منبع استخراج شود
اگر هدف شما مرور یک کتاب یا جزوه مشخص است، از مدل بخواهید فقط بر اساس همان منبع پاسخ دهد. در غیر این صورت ممکن است مدل اطلاعات عمومی خود را با متن ترکیب کند.
کارت به حفظکردن جمله وابسته نباشد
هدف اصلی باید یادگیری مفهوم باشد، نه حفظ عین عبارت کتاب. میتوانید از هوش مصنوعی بخواهید پاسخ را با زبان ساده بازنویسی کند، اما معنای منبع را تغییر ندهد.
کارتها تنوع داشته باشند
استفاده از یک قالب ثابت برای همه مطالب مناسب نیست. بسته به موضوع میتوان از کارتهای تعریف، مقایسه، علت و معلول، مثال، جای خالی و سناریو استفاده کرد.
انواع فلش کارت قابل ساخت با هوش مصنوعی
کارت سؤال و جواب
سادهترین نوع فلشکارت است.
سؤال: API مخفف چیست؟
پاسخ: Application Programming Interface یا رابط برنامهنویسی کاربردی.
کارت اصطلاح و تعریف
برای واژگان زبان، اصطلاحات تخصصی و مفاهیم درسی مناسب است.
روی کارت: Context Window
پشت کارت: حداکثر مقدار متنی که مدل میتواند در یک درخواست پردازش کند.
کارت جای خالی
در این نوع کارت، بخشی از یک جمله حذف میشود.
سؤال: پروتکل _____ برای انتقال امن صفحات وب استفاده میشود.
پاسخ: HTTPS
این قالب برای فرمولها، نامها، تاریخها و روابط مشخص مناسب است.
کارت مقایسهای
برای یادگیری تفاوت دو مفهوم استفاده میشود.
سؤال: تفاوت اصلی RAM و حافظه ذخیرهسازی چیست؟
پاسخ: RAM حافظهای موقت برای اجرای برنامههاست، اما حافظه ذخیرهسازی اطلاعات را به شکل پایدار نگه میدارد.
کارت مبتنی بر مثال
سؤال: یک نمونه از داده ساختاریافته نام ببرید.
پاسخ: رکوردهای ذخیرهشده در یک جدول پایگاه داده رابطهای.
کارت سناریومحور
این کارتها برای سنجش کاربرد مفهوم مناسبترند.
سؤال: اگر یک برنامه پاسخ یک درخواست تکراری را بدون اجرای مجدد عملیات سنگین برگرداند، احتمالاً از چه روشی استفاده کرده است؟
پاسخ: کشکردن یا Caching.
کارت دوطرفه
در یادگیری واژگان میتوان دو کارت ساخت:
- واژه انگلیسی ← معنی فارسی
- معنی فارسی ← واژه انگلیسی
کارت دوطرفه برای همه مفاهیم لازم نیست. برای مثال، تبدیل یک توضیح طولانی به اصطلاح ممکن است چند پاسخ درست داشته باشد و کارت را مبهم کند.
آموزش ساخت فلش کارت از روی PDF و جزوه
مرحله اول: هدف یادگیری را مشخص کنید
قبل از بارگذاری متن، به این پرسشها پاسخ دهید:
- فلشکارتها برای چه درس یا مهارتی هستند؟
- مخاطب در چه سطحی قرار دارد؟
- هدف، حفظ اصطلاحات است یا درک مفاهیم؟
- چه بخشهایی در آزمون یا پروژه مهمترند؟
- چه تعداد کارت لازم دارید؟
- پاسخها باید کوتاه باشند یا توضیح تکمیلی نیز داشته باشند؟
نمونه تعریف هدف:
میخواهم از فصل سوم این جزوه، ۳۰ فلشکارت برای مرور امتحان دانشگاه بسازم. کارتها باید مفاهیم اصلی، روابط علت و معلولی و تفاوت اصطلاحات را پوشش دهند.
مرحله دوم: محتوای منبع را آماده کنید
اگر فایل PDF شما متنی است، معمولاً میتوانید محتوای آن را مستقیماً کپی یا استخراج کنید. اگر PDF از صفحات اسکنشده تشکیل شده باشد، ابتدا باید با OCR آن را به متن تبدیل کنید.
پس از استخراج متن:
- سربرگ و پابرگ تکراری صفحات را حذف کنید؛
- شماره صفحات غیرضروری را کنار بگذارید؛
- شکستگیهای اشتباه خطوط را اصلاح کنید؛
- جدولهای مهم را به قالب متنی خوانا تبدیل کنید؛
- عنوان فصلها و زیرعنوانها را حفظ کنید؛
- متنهای نامرتبط مانند فهرست منابع را جدا کنید.
کیفیت خروجی تا حد زیادی به پاکیزگی ورودی بستگی دارد.
مرحله سوم: منبع بزرگ را تقسیم کنید
یک کتاب یا PDF طولانی را یکجا پردازش نکنید. آن را بر اساس ساختار طبیعی محتوا تقسیم کنید:
- فصل؛
- درس؛
- زیرعنوان؛
- موضوع؛
- چند صفحه مرتبط؛
- یک جلسه کلاس.
بهتر است هر بخش از نظر مفهومی مستقل باشد. بریدن متن دقیقاً در وسط یک توضیح ممکن است باعث تولید کارت ناقص شود.
مرحله چهارم: ابتدا مفاهیم را استخراج کنید
به جای درخواست مستقیم برای تولید کارت، ابتدا از مدل بخواهید مفاهیم مهم را فهرست کند.
پرامپت پیشنهادی:
متن زیر بخشی از یک منبع آموزشی است.
ابتدا مفاهیم اصلی، اصطلاحات مهم، روابط علت و معلولی، مقایسهها و نکاتی را که برای مرور و آزمون مناسباند استخراج کن.
قوانین:
1. فقط از اطلاعات موجود در متن استفاده کن.
2. مفاهیم تکراری را ادغام کن.
3. نکات حاشیهای و کماهمیت را حذف کن.
4. برای هر مفهوم، میزان اهمیت را با یکی از مقادیر زیاد، متوسط یا کم مشخص کن.
5. هنوز فلشکارت نساز.
سطح مخاطب: دانشجوی مقدماتی
هدف: آمادگی برای امتحان
متن:
[متن منبع]
این مرحله به شما اجازه میدهد پیش از ساخت کارتها، پوشش محتوایی را کنترل کنید.
مرحله پنجم: فلشکارتها را تولید کنید
پس از بررسی مفاهیم، پرامپت زیر را اجرا کنید:
بر اساس مفاهیم استخراجشده، فلشکارت آموزشی بساز.
قوانین:
1. هر کارت فقط یک مفهوم مستقل را بسنجد.
2. سؤال باید روشن و بدون ابهام باشد.
3. پاسخ حداکثر سه جمله کوتاه باشد.
4. هیچ اطلاعاتی خارج از متن منبع اضافه نکن.
5. از ساخت سؤالهای تکراری خودداری کن.
6. سؤالهایی نساز که پاسخ آنها صرفاً «بله» یا «خیر» باشد.
7. برای مفاهیم مهم، کارتهای مفهومی یا سناریومحور بساز.
8. اصطلاحات انگلیسی را در کنار معادل فارسی آنها بنویس.
9. برای هر کارت یک برچسب موضوعی و سطح دشواری تعیین کن.
10. خروجی را در قالب جدول با ستونهای سؤال، پاسخ، موضوع و دشواری ارائه کن.
تعداد کارت: 25
مرحله ششم: کارتها را ارزیابی کنید
پیش از ورود کارتها به نرمافزار مرور، هر کارت را از چهار نظر بررسی کنید:
- آیا پاسخ آن در منبع وجود دارد؟
- آیا فقط یک مفهوم را میسنجد؟
- آیا سؤال بدون مشاهده جزوه قابل فهم است؟
- آیا پاسخ بهاندازه کافی کوتاه و دقیق است؟
میتوانید خود هوش مصنوعی را نیز برای ارزیابی اولیه به کار بگیرید:
فلشکارتهای زیر را ارزیابی کن.
برای هر کارت بررسی کن:
- سؤال مبهم نباشد؛
- فقط یک نکته را بسنجد؛
- پاسخ بیش از حد طولانی نباشد؛
- سؤال و پاسخ تکراری نباشند؛
- پاسخ فقط بر اساس منبع ارائه شده باشد.
کارتهای مشکلدار را بازنویسی کن و دلیل اصلاح را کوتاه توضیح بده.
ارزیابی مدل جای بررسی انسانی را نمیگیرد، بهخصوص وقتی مطالب شامل عدد، فرمول، تاریخ یا اصطلاحات تخصصی هستند.
پرامپت جامع تبدیل PDF به فلش کارت
اگر به یک پرامپت آماده و کامل نیاز دارید، از الگوی زیر استفاده کنید:
نقش تو:
یک طراح محتوای آموزشی و متخصص ساخت فلشکارت هستی.
هدف:
تبدیل متن ارائهشده به فلشکارتهایی برای یادگیری فعال و مرور دورهای.
مشخصات مخاطب:
- سطح: [مقدماتی/متوسط/پیشرفته]
- هدف: [امتحان/یادگیری زبان/مصاحبه/یادگیری مهارت]
- زبان خروجی: فارسی
- تعداد تقریبی کارت: [تعداد]
قوانین:
1. فقط از متن منبع استفاده کن.
2. هر کارت دقیقاً یک نکته مستقل داشته باشد.
3. سؤال روشن، مشخص و قابل پاسخ باشد.
4. پاسخ کوتاه، دقیق و بدون مقدمه اضافی باشد.
5. نکات تکراری را حذف کن.
6. اولویت را به مفاهیم اصلی، تعریفها، تفاوتها، فرایندها و علتها بده.
7. از سؤالهای بیش از حد ساده یا وابسته به جملهبندی منبع خودداری کن.
8. اصطلاح انگلیسی را کنار معادل فارسی آن قرار بده.
9. اگر پاسخ در منبع مشخص نیست، کارت نساز.
10. کارتها را با برچسب موضوعی دستهبندی کن.
قالب خروجی:
شماره | سؤال | پاسخ | برچسب | دشواری | منبع
متن منبع:
[متن استخراجشده از PDF یا جزوه]
ستون «منبع» میتواند شامل شماره صفحه یا عنوان بخش باشد. اگر متن را بخشبندی کردهاید، شناسه بخش را در ورودی قرار دهید تا بررسی پاسخها آسانتر شود.
پرامپت ساخت فلش کارت زبان انگلیسی
از فهرست واژگان زیر فلشکارت زبان انگلیسی بساز.
برای هر واژه ارائه کن:
1. واژه انگلیسی
2. معنی رایج فارسی در این متن
3. یک تعریف ساده انگلیسی
4. یک جمله نمونه طبیعی
5. ترجمه جمله
6. نقش دستوری
7. یک مترادف یا متضاد، فقط در صورت مرتبطبودن
جمله نمونه باید کوتاه و متناسب با سطح B1 باشد.
اگر واژه چند معنی دارد، فقط معنایی را انتخاب کن که با متن منبع سازگار است.
واژگان و متن:
[محتوا]
برای یادگیری فعالتر، میتوانید از مدل بخواهید برای هر واژه دو کارت بسازد؛ اما کارت فارسی به انگلیسی را فقط زمانی اضافه کنید که پاسخ مشخص و کمابهام باشد.
پرامپت ساخت فلش کارت برنامهنویسی
از متن فنی زیر فلشکارت برنامهنویسی بساز.
ترکیب کارتها:
- 30 درصد تعریف مفاهیم
- 25 درصد تفاوت دو مفهوم
- 25 درصد پیشبینی خروجی کدهای کوتاه
- 20 درصد سناریو و انتخاب راهحل
قوانین:
1. کد هر کارت حداکثر 10 خط باشد.
2. پاسخ علاوه بر نتیجه، دلیل کوتاهی داشته باشد.
3. نسخه زبان یا کتابخانه را در صورت تأثیرگذاری ذکر کن.
4. کد جدیدی که در منبع پوشش داده نشده نساز.
5. هر کارت فقط یک مهارت را ارزیابی کند.
قالب:
سؤال | پاسخ | کد | موضوع | دشواری
پرامپت ساخت فلش کارت امتحانی
از این فصل، فلشکارتهایی برای مرور امتحان بساز.
توزیع کارتها:
- 20 درصد تعریفها
- 25 درصد نکات مفهومی
- 20 درصد مقایسهها
- 20 درصد علت و معلول
- 15 درصد کاربرد در مثال
از پرسشهای حفظی کمارزش خودداری کن.
نکاتی را انتخاب کن که فهم آنها برای پاسخ به چند سؤال مختلف مفید باشد.
کنار هر کارت مشخص کن مربوط به کدام عنوان یا صفحه منبع است.
ساخت فلش کارت با Gemini Notebook
Gemini Notebook که پیشتر با نام NotebookLM شناخته میشد، میتواند از اسناد بارگذاریشده فلشکارت و آزمون تولید کند. در بخش Studio میتوان گزینه Flashcards را انتخاب و پیش از تولید، دستورهای سفارشی مانند سطح دشواری یا موضوع موردنظر را تعیین کرد. گوگل اعلام کرده است که این کارتها بر اساس منابع افزودهشده به دفتر تولید میشوند. راهنمای رسمی Gemini Notebook
روند کلی استفاده:
- یک Notebook جدید بسازید.
- PDF، متن یا منبع آموزشی را اضافه کنید.
- وارد بخش Studio شوید.
- گزینه Flashcards را انتخاب کنید.
- با گزینه سفارشیسازی، موضوع، سطح و تعداد کارتها را مشخص کنید.
- کارتها را تولید و پاسخها را با منبع مقایسه کنید.
این روش برای استفاده شخصی سریع مناسب است. اگر میخواهید فلشکارتسازی را در سایت، سامانه آموزشی یا فرایند داخلی خودکار کنید، استفاده از API انعطاف بیشتری در قالب خروجی، ذخیرهسازی و کنترل کیفیت ایجاد میکند.
تبدیل خروجی هوش مصنوعی به فایل Anki
Anki امکان ورود فایلهای متنی با فیلدهای جداشده توسط ویرگول، نقطهویرگول یا Tab را فراهم میکند. فایل باید به شکل متن ساده ذخیره شود و هر ردیف میتواند نماینده یک یادداشت یا کارت باشد. مستندات رسمی ورود فایل متنی به Anki
سادهترین ساختار برای فایل CSV به این صورت است:
Front,Back,Tags
"وظیفه DNS چیست؟","تبدیل نام دامنه به آدرس IP متناظر.","network dns"
"API چیست؟","رابطی برای ارتباط برنامهها و سرویسهای نرمافزاری.","programming api"
"کش چه کاربردی دارد؟","کاهش زمان پاسخ با استفاده مجدد از داده یا نتیجه ذخیرهشده.","performance cache"
برای جلوگیری از بههمریختن حروف فارسی، فایل را با کدگذاری UTF-8 ذخیره کنید.
هنگام ورود فایل به Anki:
- از منوی File گزینه Import را انتخاب کنید.
- فایل CSV یا TSV را باز کنید.
- جداکننده ستونها را مشخص کنید.
- ستون اول را به Front متصل کنید.
- ستون دوم را به Back متصل کنید.
- ستون سوم را به Tags اختصاص دهید.
- دسته یا Deck مقصد را انتخاب کنید.
- چند کارت نمونه را پیشنمایش کنید.
- عملیات Import را انجام دهید.
اگر متن سؤال یا پاسخ شامل ویرگولهای متعدد است، استفاده از TSV معمولاً دردسر کمتری دارد؛ زیرا ستونها با Tab جدا میشوند.
نمونه TSV:
وظیفه DNS چیست؟ تبدیل نام دامنه به آدرس IP متناظر. network dns
API چیست؟ رابطی برای ارتباط برنامهها و سرویسهای نرمافزاری. programming api
پرامپت آماده برای خروجی Anki
فلشکارتهای زیر را به قالب TSV مناسب ورود به Anki تبدیل کن.
ساختار هر ردیف:
Front[TAB]Back[TAB]Tags
قوانین:
1. ردیف عنوان ایجاد نکن.
2. هر کارت فقط در یک خط باشد.
3. در متن سؤال و پاسخ از Tab استفاده نکن.
4. برچسبها انگلیسی، کوتاه و با فاصله جدا شوند.
5. هیچ توضیحی قبل یا بعد از خروجی ننویس.
6. محتوای علمی کارتها را تغییر نده.
فلشکارتها:
[کارتها]
پس از دریافت خروجی، آن را در یک فایل متنی با پسوند .tsv و کدگذاری UTF-8 ذخیره کنید.
ساخت خودکار فلش کارت با API درواره
اگر مدرس، توسعهدهنده سامانه آموزشی یا تولیدکننده محتوا هستید، میتوانید فرایند تبدیل متن به فلشکارت را با API درواره خودکار کنید.
معماری ساده این فرایند عبارت است از:
- دریافت متن از کاربر؛
- پاکسازی و تقسیم متن؛
- ارسال هر بخش به مدل هوش مصنوعی؛
- دریافت خروجی ساختاریافته؛
- حذف کارتهای تکراری؛
- ارزیابی کیفیت؛
- ذخیره در پایگاه داده یا فایل CSV؛
- ارائه فایل به کاربر.
برای شروع، در درواره حساب ایجاد کنید، کلید API بگیرید و شناسه مدل مناسب را از پنل یا صفحه مدلها انتخاب کنید. فهرست مدلها و اطلاعات قیمت در صفحه مدلهای درواره در دسترس است.
نصب کتابخانههای لازم
pip install openai
نمونه برنامه پایتون
در کنار برنامه یک فایل به نام input.txt بسازید و متن جزوه را داخل آن قرار دهید.
import csv
import json
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DARVAREH_API_KEY"],
base_url="https://api.darvareh.ir/v1",
)
with open("input.txt", "r", encoding="utf-8") as file:
source_text = file.read()
prompt = f"""
متن آموزشی زیر را به فلشکارت تبدیل کن.
قوانین:
- فقط از اطلاعات همین متن استفاده کن.
- هر کارت فقط یک مفهوم داشته باشد.
- سؤال روشن و پاسخ کوتاه باشد.
- کارت تکراری تولید نکن.
- حداکثر 20 کارت بساز.
- خروجی فقط JSON معتبر باشد و Markdown ننویس.
ساختار خروجی:
{{
"cards": [
{{
"front": "سؤال",
"back": "پاسخ",
"tags": ["موضوع", "سطح"]
}}
]
}}
متن:
{source_text}
"""
response = client.chat.completions.create(
model="YOUR_MODEL_ID",
messages=[
{
"role": "system",
"content": "تو یک طراح حرفهای فلشکارت آموزشی هستی."
},
{
"role": "user",
"content": prompt
}
],
temperature=0.2,
)
content = response.choices[0].message.content
data = json.loads(content)
with open(
"flashcards.csv",
"w",
newline="",
encoding="utf-8-sig"
) as file:
writer = csv.writer(file)
writer.writerow(["Front", "Back", "Tags"])
for card in data["cards"]:
writer.writerow([
card["front"],
card["back"],
" ".join(card.get("tags", []))
])
print(f'{len(data["cards"])} flashcards created.')
کلید API را بهتر است در متغیر محیطی قرار دهید:
در macOS و Linux:
export DARVAREH_API_KEY="YOUR_API_KEY"
python flashcards.py
در PowerShell ویندوز:
$env:DARVAREH_API_KEY="YOUR_API_KEY"
python flashcards.py
به جای YOUR_MODEL_ID، شناسه مدل درواره را قرار دهید.
نکته درباره خروجی JSON
همه مدلها الزاماً خروجی ساختاریافته را با دقت یکسان تولید نمیکنند. برای استفاده عملیاتی بهتر است:
- مدلی با عملکرد مناسب در Structured Output انتخاب کنید؛
- پاسخ را پیش از ذخیره اعتبارسنجی کنید؛
- برای خطای JSON سازوکار تلاش مجدد داشته باشید؛
- تعداد و طول کارتها را محدود کنید؛
- متنهای بزرگ را در چند درخواست پردازش کنید؛
- خروجی نهایی را پیش از انتشار بازبینی کنید.
پردازش جزوههای طولانی
برای یک جزوه طولانی، ارسال کل متن در یک درخواست راهکار مناسبی نیست. بهتر است فرایند را به چند مرحله تقسیم کنید.
تقسیم بر اساس عنوان
اگر متن ساختار مشخصی دارد، هر فصل یا زیرعنوان را جداگانه پردازش کنید. این روش از شکستن ارتباط معنایی مطالب جلوگیری میکند.
تولید کارت برای هر بخش
برای هر قسمت تعداد محدودی کارت بسازید. عنوان بخش را نیز به عنوان Tag ذخیره کنید.
ادغام کارتها
پس از تولید تمام بخشها، کارتها را در یک مجموعه واحد ادغام کنید.
حذف موارد تکراری
دو کارت ممکن است جملهبندی متفاوت اما مفهوم یکسان داشته باشند. میتوانید از هوش مصنوعی بخواهید کارتهای هممعنا را شناسایی کند:
کارتهای زیر را از نظر معنایی مقایسه کن.
اگر دو یا چند کارت یک مفهوم را میسنجند، بهترین نسخه را نگه دار.
کارتهایی را که فقط جملهبندی متفاوت دارند تکراری در نظر بگیر.
خروجی نهایی باید تمام مفاهیم مهم را بدون تکرار حفظ کند.
کنترل پوشش مطالب
در پایان، فهرست مفاهیم اصلی فصل را با کارتهای تولیدشده مقایسه کنید:
فهرست مفاهیم اصلی و مجموعه فلشکارتها را مقایسه کن.
مشخص کن:
1. کدام مفاهیم حداقل یک کارت دارند؟
2. کدام مفاهیم بدون کارت باقی ماندهاند؟
3. کدام مفاهیم بیش از حد تکرار شدهاند؟
4. برای مفاهیم پوششدادهنشده کارت جدید پیشنهاد کن.
روش ساخت فلش کارت برای کلاس و دوره آموزشی
مدرسها میتوانند یک خط تولید محتوای آموزشی ایجاد کنند:
- متن هر جلسه یا فایل پیادهسازی کلاس آماده شود.
- هوش مصنوعی مفاهیم اصلی را استخراج کند.
- مجموعه اولیه فلشکارت ساخته شود.
- مدرس پاسخها را بررسی کند.
- کارتها بر اساس فصل و سطح برچسبگذاری شوند.
- خروجی در Anki، سامانه مدیریت یادگیری یا اپلیکیشن اختصاصی منتشر شود.
- از مفاهیمی که دانشجویان بیشتر اشتباه پاسخ میدهند، کارتهای تکمیلی ساخته شود.
در یک سیستم پیشرفتهتر میتوان برای هر کارت اطلاعات زیر را ذخیره کرد:
- شناسه کارت؛
- سؤال؛
- پاسخ؛
- درس و فصل؛
- سطح دشواری؛
- منبع؛
- شماره صفحه؛
- تاریخ ایجاد؛
- وضعیت تأیید مدرس؛
- تعداد پاسخ درست و نادرست؛
- تاریخ مرور بعدی.
استفاده از هوش مصنوعی برای بهبود کارتهای موجود
لازم نیست همیشه از صفر شروع کنید. اگر قبلاً مجموعهای از فلشکارتها دارید، هوش مصنوعی میتواند آنها را اصلاح کند.
کاربردهای مفید عبارتاند از:
- کوتاهکردن پاسخهای طولانی؛
- روشنکردن سؤالهای مبهم؛
- تبدیل کارت چندموضوعی به چند کارت مستقل؛
- یافتن کارتهای تکراری؛
- افزودن برچسب موضوعی؛
- تنظیم سطح دشواری؛
- ساخت نسخه جای خالی؛
- افزودن مثال کوتاه؛
- ترجمه کارتها؛
- یکسانسازی لحن و قالب.
پرامپت پیشنهادی:
مجموعه فلشکارت زیر را بازطراحی کن.
برای هر کارت:
- اگر بیش از یک مفهوم دارد، آن را تقسیم کن.
- اگر سؤال مبهم است، آن را دقیقتر بنویس.
- پاسخ را بدون حذف نکته ضروری کوتاه کن.
- کارتهای تکراری را حذف کن.
- یک برچسب موضوعی مناسب اضافه کن.
هیچ اطلاعات جدیدی خارج از کارتهای موجود اضافه نکن.
اشتباهات رایج در ساخت فلش کارت با هوش مصنوعی
اعتماد کامل به پاسخ مدل
مدل زبانی ممکن است پاسخ نادرست، ناقص یا خارج از منبع تولید کند. اعداد، تاریخها، فرمولها و تعریفهای تخصصی را حتماً بررسی کنید.
تولید تعداد بسیار زیاد کارت
بیشتر بودن تعداد کارتها همیشه بهتر نیست. اگر از هر جمله یک کارت بسازید، مرور مجموعه دشوار و خستهکننده میشود.
کارتها باید مفاهیم مهم و قابل بازیابی را پوشش دهند، نه تمام واژههای متن را.
سؤالهای بیش از حد آسان
کارتهایی مانند «آیا DNS در شبکه استفاده میشود؟» ارزش آموزشی کمی دارند. سؤال باید فرد را وادار کند اطلاعات مشخصی را بازیابی کند.
پاسخهای مقالهمانند
پاسخ طولانی، مرور سریع را مختل میکند. اگر یک موضوع نیازمند توضیح مفصل است، پاسخ اصلی را کوتاه نگه دارید و جزئیات را در فیلد جداگانه قرار دهید.
حذف زمینه ضروری
کارت باید مستقل باشد. اگر سؤال فقط در کنار کارت قبلی معنا دارد، هنگام مرور تصادفی مشکل ایجاد میکند.
مخلوطکردن منابع مختلف
اگر چند کتاب یا جزوه با تعریفهای متفاوت دارید، منبع هر کارت را ثبت کنید. ترکیب بدون کنترل منابع ممکن است پاسخهای ناسازگار ایجاد کند.
واردکردن خروجی بدون بازبینی
حداقل چند کارت از هر بخش و تمام کارتهای دشوار را دستی بررسی کنید. برای محتوای آموزشی رسمی، بهتر است همه کارتها پیش از انتشار تأیید شوند.
چکلیست نهایی کیفیت فلشکارت
پیش از استفاده از مجموعه، این موارد را کنترل کنید:
- آیا هر کارت فقط یک مفهوم دارد؟
- آیا سؤال بدون متن قبلی قابل درک است؟
- آیا پاسخ کوتاه و مشخص است؟
- آیا پاسخ در منبع اصلی وجود دارد؟
- آیا کارتهای هممعنا حذف شدهاند؟
- آیا اصطلاحات فارسی و انگلیسی درست نوشته شدهاند؟
- آیا سطح دشواری کارتها متعادل است؟
- آیا موضوع و منبع هر کارت مشخص است؟
- آیا فایل خروجی با UTF-8 ذخیره شده است؟
- آیا چند کارت را پس از ورود به Anki آزمایش کردهاید؟
پرسشهای متداول
آیا میتوان یک PDF را مستقیماً به فلش کارت تبدیل کرد؟
بله. اگر ابزار موردنظر از بارگذاری PDF پشتیبانی کند، میتوانید فایل را مستقیماً اضافه کنید. در فرایندهای مبتنی بر API نیز میتوان ابتدا متن PDF را استخراج و سپس بخشهای آن را به مدل ارسال کرد.
بهترین هوش مصنوعی برای ساخت فلش کارت چیست؟
انتخاب ابزار به نیاز شما بستگی دارد. برای استفاده سریع و شخصی، ابزارهایی مانند Gemini Notebook مناسباند. برای ساخت سامانه اختصاصی، پردازش انبوه یا کنترل دقیق خروجی، استفاده از مدلهای زبانی از طریق API درواره انعطاف بیشتری فراهم میکند.
آیا هوش مصنوعی میتواند برای Anki فایل بسازد؟
بله. میتوانید از مدل بخواهید خروجی CSV یا TSV با ستونهای Front، Back و Tags تولید کند و سپس فایل را وارد Anki کنید. Anki بهصورت رسمی ورود فایلهای متنی جداشده با ویرگول، نقطهویرگول یا Tab را پشتیبانی میکند.
چرا متن فارسی در فایل CSV بههم میریزد؟
معمولاً مشکل از کدگذاری فایل است. فایل را با UTF-8 یا UTF-8 with BOM ذخیره کنید. در پایتون میتوانید از encoding="utf-8-sig" استفاده کنید.
برای هر فصل چند فلشکارت بسازیم؟
عدد ثابتی برای تمام منابع وجود ندارد. تعداد کارت باید بر اساس تعداد مفاهیم مستقل و مهم تعیین شود. بهجای درخواست یک عدد بزرگ، ابتدا مفاهیم را استخراج و سپس برای هر مفهوم ضروری یک یا چند کارت هدفمند بسازید.
آیا فلشکارتهای تولیدشده قابل اعتماد هستند؟
نه بهصورت خودکار و بدون بررسی. هوش مصنوعی سرعت تولید را افزایش میدهد، اما پاسخها باید با منبع اصلی مقایسه شوند.
آیا میتوان از روی فلشکارتها آزمون ساخت؟
بله. میتوانید کارتها را به سؤال چهارگزینهای، جای خالی، درست و نادرست یا آزمون کوتاه تبدیل کنید. بهتر است پاسخهای نادرست سؤالهای چهارگزینهای نیز منطقی و مرتبط باشند.
آیا ساخت فلشکارت فارسی با هوش مصنوعی امکانپذیر است؟
بله. مدلهای زبانی جدید میتوانند سؤال، پاسخ، برچسب و توضیح فارسی تولید کنند. در پرامپت، زبان خروجی، شیوه نوشتن اصطلاحات انگلیسی و سطح مخاطب را دقیقاً مشخص کنید.
جمعبندی
ساخت فلش کارت با هوش مصنوعی میتواند زمان تبدیل PDF، جزوه، کتاب و متن آموزشی به محتوای قابل مرور را به میزان قابل توجهی کاهش دهد. با این حال، کیفیت نتیجه فقط به قدرت مدل بستگی ندارد. آمادهسازی درست منبع، تقسیم متن، طراحی پرامپت دقیق، محدودکردن هر کارت به یک مفهوم و بازبینی پاسخها نقش تعیینکننده دارند.
برای یک فرایند استاندارد:
- هدف یادگیری را مشخص کنید.
- متن منبع را پاکسازی و بخشبندی کنید.
- مفاهیم اصلی را استخراج کنید.
- کارتهای کوتاه و مستقل بسازید.
- پاسخها را با منبع تطبیق دهید.
- کارتهای تکراری را حذف کنید.
- خروجی CSV یا TSV بگیرید.
- فایل را وارد Anki یا سامانه آموزشی خود کنید.
- کارتها را بر اساس نتیجه مرور بهبود دهید.
اگر قصد دارید فلشکارتسازی را در وبسایت، اپلیکیشن آموزشی یا فرایند تولید محتوای خودکار پیادهسازی کنید، با ساخت حساب در درواره میتوانید به مدلهای مختلف هوش مصنوعی از طریق یک API سازگار دسترسی داشته باشید. برای مشاهده مدلهای موجود و اطلاعات قیمت، به صفحه مدلهای درواره مراجعه کنید.
مقالات مرتبط
- بهترین ابزارهای هوش مصنوعی برای دانشآموزان و دانشجویان
- خلاصه کردن متن و PDF با هوش مصنوعی
- آموزش کامل Gemini Notebook و NotebookLM
- حل سؤال از روی عکس با هوش مصنوعی
- یادگیری زبان با هوش مصنوعی
- تحقیق و یافتن منابع علمی با هوش مصنوعی
- آموزش جامع پرامپتنویسی
برای مطالعه شرایط استفاده و محدودیتهای مسئولیت، صفحه «سلب مسئولیت» را مشاهده کنید.