মূল কনটেন্টে যান
এআই টিউটোরিয়াল

স্থানীয় গবেষণাপত্র পর্যালোচনা ও সম্পাদনা সহায়ক টিউটোরিয়াল: Linux-এ গোপনীয়তাকে অগ্রাধিকার দেওয়া CLI Agent স্থাপন

এই নিবন্ধে paperchecker স্থানীয় গবেষণাপত্র পর্যালোচনা ও সম্পাদনা সহায়ক ইনস্টল ও ব্যবহারের পদ্ধতি, মডেল কনফিগারেশন, গবেষণাপত্র সূচিবদ্ধকরণ, ইন্টার‌্যাক্টিভ প্রশ্ন, এককালীন কমান্ড, সেশন স্থায়ীকরণ এবং ত্রুটি সমাধান সম্পর্কে আলোচনা করা হয়েছে।

Linux-এ স্থানীয় গবেষণাপত্র পর্যালোচনা ও সম্পাদনা সহায়ক স্থাপনের টিউটোরিয়াল

প্রকল্প পরিচিতি

স্থানীয় গবেষণাপত্র পর্যালোচনা ও সম্পাদনা সহায়ক হলো Linux-এর জন্য তৈরি একটি হালকা গবেষণাপত্র সহায়ক CLI Agent। ব্যবহারকারী প্রশ্ন লিখলে মডেল স্থানীয় টুল ও গবেষণাপত্র অনুসন্ধান ক্ষমতা ব্যবহার করে স্থানীয় গবেষণাপত্রের বিষয়বস্তু পড়া, সারসংক্ষেপ তৈরি এবং বিশ্লেষণে সহায়তা করতে পারে।

প্রকল্পটি ডিফল্টভাবে Qwen3-14B-AWQ ব্যবহার করে; মডেলের ওজনের আকার প্রায় 9.4 GB। এটি NVIDIA GPU থাকা এবং স্থানীয়ভাবে মডেল চালানোর পাশাপাশি গবেষণাপত্র ও প্রশ্নের গোপনীয়তা রক্ষা করতে চান এমন ব্যবহারকারীদের জন্য উপযোগী। ডিফল্টভাবে প্রকল্পে অনলাইন অনুসন্ধান সক্রিয় থাকে না; উত্তর মূলত মডেলের নিজস্ব ক্ষমতা এবং ব্যবহারকারীর তৈরি স্থানীয় জ্ঞানভান্ডার থেকে আসে।

প্রকল্পটি MCP প্রোটোকল সমর্থন করে এবং টুল নিবন্ধন ব্যবস্থার মাধ্যমে MCP পরিষেবা যুক্ত করা যায়। ইনপুট বাজেট, সিস্টেম প্রম্পট এবং টুলের আউটপুটের দৈর্ঘ্য কনফিগার করা যায় বলে এর ব্যবহার শুধু গবেষণাপত্র সহায়তায় সীমাবদ্ধ নয়।

প্রধান বৈশিষ্ট্য

  • Linux পরিবেশে স্থানীয় গবেষণাপত্র সহায়ক Agent চালানো।
  • ডিফল্টভাবে স্থানীয় Qwen3-14B-AWQ মডেল ব্যবহার।
  • টেক্সট-ভিত্তিক PDF, Markdown এবং TXT ফাইলকে স্থানীয় অনুসন্ধানযোগ্য জ্ঞানভান্ডারে সূচিবদ্ধ করা।
  • ইন্টার‌্যাক্টিভ প্রশ্ন এবং কমান্ড লাইনের মাধ্যমে এককালীন প্রশ্ন সমর্থন।
  • Markdown ফরম্যাটে প্রশ্ন ও উত্তরের রেকর্ড সংরক্ষণ।
  • MCP প্রোটোকল ও টুল নিবন্ধন ব্যবস্থা সমর্থন।
  • ঐচ্ছিক LangGraph সেশন চেকপয়েন্টের মাধ্যমে ভিন্ন উইন্ডোতে সেশন চালিয়ে যাওয়া।
  • পরিবেশ, GPU এবং মডেল কনফিগারেশন যাচাইয়ের স্ক্রিপ্ট।

ইনস্টলের আগে প্রস্তুতি

প্রকল্পটি Linux-এর জন্য তৈরি এবং NVIDIA GPU-সহ মেশিন ব্যবহারের পরামর্শ দেওয়া হয়। মডেলের ওজনের আকার প্রায় 9.4 GB; বাস্তবে চালানোর সময় মডেল ইনফারেন্সের জন্য পর্যাপ্ত GPU মেমরি সংরক্ষণ করতে হবে। মডেল, ইনপুট বাজেট বা আউটপুটের দৈর্ঘ্য পরিবর্তনের সময় GPU মেমরির পরিমাণও বিবেচনা করা উচিত।

বর্তমানে স্ক্যান করা PDF-এ OCR সমর্থিত নয়। স্ক্যান করা গবেষণাপত্র অনুসন্ধান করতে হলে আগে বিষয়বস্তু টেক্সটে রূপান্তর করুন, অথবা প্রকল্প-সমর্থিত টেক্সট-ভিত্তিক PDF, Markdown কিংবা TXT ফাইল ব্যবহার করুন।

প্রকল্প ডাউনলোড ও ইনস্টল

প্রথমে GitHub রিপোজিটরি ক্লোন করে প্রকল্পের ডিরেক্টরির নাম local-agent দিন:

git clone https://github.com/Ayi914/paperchecker.git local-agent
cd local-agent

Git ব্যবহার না করলে GitHub পেজে Code → Download ZIP নির্বাচন করে ZIP আনজিপ করুন এবং প্রকল্প ডিরেক্টরিতে টার্মিনাল খুলুন।

প্রকল্প ডিরেক্টরিতে প্রবেশ করে ইনস্টলেশন স্ক্রিপ্ট চালান:

bash scripts/install.sh

ইনস্টল শেষ হলে স্টার্টআপ স্ক্রিপ্ট চালান:

bash scripts/start.sh

প্রথমবার চালুর সময় মডেল লোড হওয়া পর্যন্ত অপেক্ষা করতে হবে। টার্মিনালে >>> প্রম্পট দেখা গেলে প্রশ্ন লিখতে পারবেন। উদাহরণ:

>>> অবশিষ্ট সংযোগ কোন সমস্যার সমাধান করেছে তা ব্যাখ্যা করুন

পরবর্তী সময়ে প্রকল্প ডিরেক্টরিতে প্রবেশ করে সাধারণত শুধু bash scripts/start.sh চালালেই হবে।

প্রথমবার চালানো ও মডেল কনফিগারেশন

মডেল ডিরেক্টরি অসম্পূর্ণ হলে বা নতুন করে মডেল নির্বাচন করতে হলে চালান:

bash scripts/setup.sh

মডেল ডাউনলোড ব্যর্থ হলে প্রথমে নেটওয়ার্ক পরীক্ষা করুন। নেটওয়ার্ক-যুক্ত মেশিনে সম্পূর্ণ মডেল ডিরেক্টরি ডাউনলোড করে লক্ষ্য মেশিনে কপি করেও কনফিগারেশনের সময় বিদ্যমান মডেল নির্বাচন করা যায়।

মডেল চালু না হলে টার্মিনালে দেখানো লগ ফাইল পরীক্ষা করুন। লগ সাধারণত এখানে থাকে:

logs/cli-vllm-*.log

এছাড়াও নিশ্চিত করুন যে GPU মেমরি অন্য কোনো প্রোগ্রাম ব্যবহার করছে না।

নিজের গবেষণাপত্র আমদানি ও সূচি তৈরি

Agent-কে নিজের গবেষণাপত্রের ভিত্তিতে উত্তর দিতে হলে টেক্সট-ভিত্তিক PDF, Markdown বা TXT ফাইল data/knowledge/ ডিরেক্টরিতে রাখুন। এই ডিরেক্টরিতে একাধিক গবেষণাপত্র ও সংশ্লিষ্ট নোট থাকতে পারে।

ফাইল প্রস্তুত হলে জ্ঞানভান্ডার সূচিবদ্ধ করার কমান্ড চালান:

bash scripts/start.sh rag-index

প্রথমবার সূচি তৈরির সময় একটি পৃথক অনুসন্ধান মডেল ডাউনলোড হবে, তাই নেটওয়ার্ক সংযোগ প্রয়োজন। সূচি তৈরি শেষ হলে ইন্টার‌্যাক্টিভ Agent পুনরায় চালু করুন:

bash scripts/start.sh

এখন স্থানীয় গবেষণাপত্র-নির্ভর প্রশ্ন করা যাবে, যেমন:

স্থানীয় গবেষণাপত্রের ভিত্তিতে YOLOv1-এর মূল উদ্ভাবনগুলো সারসংক্ষেপ করুন এবং উৎস উল্লেখ করুন।

কোনো গবেষণাপত্র যোগ করা বা সূচি তৈরি করা না হলে উত্তর মূলত মডেলের নিজস্ব জ্ঞান থেকে আসবে, স্থানীয় গবেষণাপত্রের বিষয়বস্তু থেকে নয়। প্রকল্পে ডিফল্টভাবে অনলাইন অনুসন্ধান সক্রিয় থাকে না।

ইন্টার‌্যাক্টিভ ব্যবহার

চালু হওয়ার পর >>> প্রম্পটের পরে প্রশ্ন লিখে Enter চাপুন। এটি ধারাবাহিক প্রশ্ন, গবেষণাপত্রের মতামত তুলনা বা একই বিষয় ধাপে ধাপে বিশ্লেষণের জন্য উপযোগী।

ইন্টার‌্যাক্টিভ প্রক্রিয়া পরিচালনার জন্য নিচের বিল্ট-ইন কমান্ডগুলো ব্যবহার করা যায়:

  • /help: কথোপকথনের কমান্ডগুলো দেখুন।
  • /new: নতুন সেশন শুরু করুন।
  • /exit, /quit অথবা Ctrl+D: প্রোগ্রাম থেকে বের হন।

প্রতিটি প্রশ্ন ও উত্তর ডিফল্টভাবে Markdown ফাইলে সংরক্ষিত হয়। পথের ফরম্যাট:

output/মাস/দিন/সময়_মাইক্রোসেকেন্ড.md

কমান্ড লাইনে এককালীন কাজ চালানো

ইন্টার‌্যাক্টিভ ইন্টারফেসে প্রবেশ করতে না চাইলে প্রশ্নটি সরাসরি স্টার্টআপ স্ক্রিপ্টের আর্গুমেন্ট হিসেবে দিন:

bash scripts/start.sh "অ্যাটেনশন মেকানিজমের সারসংক্ষেপ দিন"

--quiet ব্যবহার করলে শুধু উত্তর দেখাবে:

bash scripts/start.sh "অ্যাটেনশন মেকানিজমের সারসংক্ষেপ দিন" --quiet

উত্তর ফাইল সংরক্ষণ না করতে চাইলে --no-save যোগ করুন:

bash scripts/start.sh "প্রশ্ন" --no-save

ইনপুট বাজেট, আউটপুটের দৈর্ঘ্য ও প্রম্পট কনফিগার

Agent-এর ইনপুট বাজেট ও সিস্টেম প্রম্পট config/agent.yaml-এ পরিবর্তন করা যায়। তাই প্রকল্পটি অন্যান্য স্থানীয় Agent ব্যবহারের ক্ষেত্রেও কাজে লাগতে পারে।

দুটি প্যারামিটারের পার্থক্য বিশেষভাবে মনে রাখা দরকার: কনফিগারেশন ফাইলের tool_output_max_chars: 4000 হলো টুলের ফলাফলের অক্ষর ছাঁটাইয়ের সীমা, মডেলের উত্তরের token সীমা নয়। মডেলের সর্বোচ্চ আউটপুট দৈর্ঘ্য পরিবেশ ফাইলের LOCAL_AGENT_MAX_TOKENS দ্বারা নিয়ন্ত্রিত হয়; .env.example-এ ডিফল্ট মান 2048 token।

Agent-এর ডিফল্ট ইনপুট বাজেট 4096 token। ইনপুট বাজেট, সিস্টেম প্রম্পট, টুলের আউটপুট দৈর্ঘ্য বা সর্বোচ্চ আউটপুট token পরিবর্তনের সময় প্রসঙ্গের দৈর্ঘ্য ও উপলভ্য GPU মেমরি একসঙ্গে বিবেচনা করুন, যাতে অতিরিক্ত কনফিগারেশনের কারণে মডেল স্বাভাবিকভাবে চালু হতে না পারে।

ভিন্ন উইন্ডোতে সেশন সংরক্ষণ ও পুনরুদ্ধার

ডিফল্টভাবে সেশনের প্রসঙ্গ শুধু বর্তমান প্রসেসে সংরক্ষিত থাকে। CLI বন্ধ করলে প্রোগ্রাম স্বয়ংক্রিয়ভাবে প্রসঙ্গ পুনরুদ্ধার করে না; তৈরি হওয়া Markdown উত্তর ফাইলও স্বয়ংক্রিয়ভাবে পড়ে না।

ভিন্ন উইন্ডোতে একই সেশন চালিয়ে যেতে config/agent.yaml-এ run.checkpoint_enabled-এর মান true করুন এবং সবসময় একই সেশন ID ব্যবহার করুন:

bash scripts/start.sh -i --thread-id my-paper

সেশনের অবস্থা এখানে সংরক্ষিত হবে:

data/checkpoints/langgraph.sqlite

/new লিখলে অথবা নতুন ইন্টার‌্যাক্টিভ উইন্ডো চালুর সময় সেশন ID না দিলে নতুন সেশন তৈরি হবে। প্রতিটি মডেল কল ডিফল্টভাবে সাম্প্রতিক 4টি কথোপকথন ব্যবহার করে এবং 4096 token ইনপুট বাজেটের সীমার মধ্যেই থাকে।

পরিবেশ পরীক্ষা ও ত্রুটি সমাধান

সমস্যা হলে প্রথমে পরিবেশ পরীক্ষা করার স্ক্রিপ্ট চালানোর পরামর্শ দেওয়া হয়:

bash scripts/doctor.sh

এই স্ক্রিপ্ট পরিবেশ, GPU এবং মডেল কনফিগারেশন পরীক্ষা করে, কিন্তু বড় মডেল লোড বা ইনফারেন্স শুরু করে না। তাই আনুষ্ঠানিকভাবে চালুর আগে বা ত্রুটি সমাধানের সময় এটি উপযোগী।

  • GPU নেই: NVIDIA GPU-সহ Linux মেশিন ব্যবহারের পরামর্শ দেওয়া হয়।
  • মডেল ডিরেক্টরি অসম্পূর্ণ: bash scripts/setup.sh চালিয়ে মডেল পুনরায় নির্বাচন করুন বা ডাউনলোড চালিয়ে যান।
  • মডেল ডাউনলোড ব্যর্থ: নেটওয়ার্ক পরীক্ষা করুন, অথবা নেটওয়ার্ক-যুক্ত মেশিনে সম্পূর্ণ মডেল ডিরেক্টরি ডাউনলোড করে লক্ষ্য পরিবেশে কপি করুন।
  • মডেল চালু ব্যর্থ: logs/cli-vllm-*.log পরীক্ষা করুন এবং নিশ্চিত করুন যে GPU মেমরি অন্য কোনো প্রোগ্রাম ব্যবহার করছে না।
  • স্থানীয় গবেষণাপত্র ব্যবহার হচ্ছে না: নিশ্চিত করুন যে ফাইলগুলো data/knowledge/-এ আছে এবং bash scripts/start.sh rag-index চালানো হয়েছে।

ব্যবহারিক পরামর্শ

  • প্রথম ব্যবহারের আগে bash scripts/doctor.sh চালিয়ে GPU, মডেল ডিরেক্টরি বা কনফিগারেশনের সমস্যা দ্রুত শনাক্ত করুন।
  • উদ্ধৃতি ও বিশ্লেষণের জন্য প্রয়োজনীয় গবেষণাপত্রগুলো data/knowledge/-এ একত্রে রাখুন এবং সূচি তৈরির পর প্রশ্ন করুন।
  • প্রশ্নের সময় সারসংক্ষেপের পরিধি, আউটপুট ফরম্যাট বা উৎস উল্লেখের নির্দেশ স্পষ্টভাবে দিন, যাতে স্থানীয় গবেষণাপত্রের বিষয়বস্তু সহজে যাচাই করা যায়।
  • GPU মেমরি কম থাকলে ইনপুট বাজেট, টুলের আউটপুট সীমা বা সর্বোচ্চ আউটপুট token নির্বিচারে বাড়াবেন না।
  • একই গবেষণা বিষয় ধারাবাহিকভাবে প্রক্রিয়া করতে চেকপয়েন্ট সক্রিয় করুন এবং --thread-id স্থির রাখুন।
  • স্ক্যান করা PDF সরাসরি OCR-এর জন্য বর্তমান প্রকল্পের ওপর নির্ভর করা যায় না; আগে অনুসন্ধানযোগ্য টেক্সট প্রস্তুত করুন।

সারসংক্ষেপ

paperchecker স্থানীয় মডেল চালু করা, গবেষণাপত্র সূচিবদ্ধ করা এবং CLI প্রশ্নোত্তর পর্যন্ত একটি পূর্ণাঙ্গ কার্যপ্রবাহ সরবরাহ করে। প্রকল্প ইনস্টল করার পর ডিফল্ট মডেল দিয়ে সাধারণ প্রশ্ন বিশ্লেষণ করা যায়। নিজের টেক্সট-ভিত্তিক গবেষণাপত্র জ্ঞানভান্ডারে রেখে সূচি তৈরি করলে Agent স্থানীয় উপকরণের ভিত্তিতে উত্তর দিতে পারে। agent.yaml, পরিবেশ ভেরিয়েবল এবং সেশন চেকপয়েন্টের মাধ্যমে প্রসঙ্গ, আউটপুট ও সেশন ব্যবস্থাপনাও আরও সামঞ্জস্য করা যায়।

প্রকল্পের কোড MIT লাইসেন্স-এর অধীনে প্রকাশিত। ব্যবহারের সময় চালু করা বা মডেল-সংক্রান্ত সমস্যা হলে প্রথমে ডায়াগনস্টিক স্ক্রিপ্ট চালান এবং লগ পরীক্ষা করুন।