প্রকল্প সম্পর্কে

Poindexter হলো একটি ওপেন-সোর্স (Apache 2.0, Glad Labs LLC) কন্টেন্ট পাইপলাইন যা একজন অপারেটরের নিজস্ব মেশিনে চালানোর জন্য তৈরি। README অনুযায়ী, এটি gladlabs.io-এর পেছনের প্রোডাকশন সিস্টেম, যেখানে ২০০-এর বেশি লাইভ পোস্ট এবং ২,০০০-এর বেশি পাইপলাইন রান রেকর্ড করা হয়েছে। এটি স্পষ্টভাবে একক অপারেটর এবং ইন্ডি পাবলিশারদের জন্য তৈরি, যারা ওয়ান-ক্লিক হোস্ট করা অ্যাপের পরিবর্তে নিজস্ব নিয়ন্ত্রণ চান। এই পাইপলাইনটি যা করে: এটি HackerNews, Dev.to এবং কনফিগারযোগ্য নিশ ফিড থেকে সম্ভাব্য টপিক খুঁজে বের করে; ওয়েব সার্চ এবং সোর্স ভেরিফিকেশনের মাধ্যমে প্রতিটি টপিক নিয়ে গবেষণা করে; লোকাল Ollama মডেল ব্যবহার করে দীর্ঘ ড্রাফট লেখে; মাল্টি-মডেল অ্যাডভারসারিয়াল QA-এর মাধ্যমে প্রতিটি ড্রাফট রিভিউ করে; ব্যক্তি, পরিসংখ্যান এবং উদ্ধৃতির উপর অ্যান্টি-হ্যালুসিনেশন ভ্যালিডেশন চালায়; এবং শেষ করা কাজগুলো স্ট্যাটিক JSON, RSS এবং JSON Feed 1.1 হিসেবে যেকোনো S3-কম্প্যাটিবল স্টোরেজে পাবলিশ করে। ঐচ্ছিক এবং অপ্ট-ইন স্টেজের মাধ্যমে এতে AI ইমেজ, পডকাস্ট অডিও এবং ছোট টেক্সট-টু-ভিডিও ক্লিপ যোগ করা যায়। সিস্টেমটি Grafana ড্যাশবোর্ড এবং একটি ওয়াচডগ ডেমনের মাধ্যমে নিজেকে মনিটর করে, যার অ্যালার্টগুলো Telegram বা Discord-এ পাঠানো হয়। ডিফল্ট মডেল সেটে চারটি Ollama মডেল রয়েছে: রাইটার এবং ফলব্যাক হিসেবে gemma3:27b, অ্যাডভারসারিয়াল QA ক্রিটিক হিসেবে phi4:14b, SEO এবং রাউটিংয়ের মতো দ্রুত কাজের জন্য qwen3:8b, এবং pgvector-এ এমবেডিংয়ের জন্য nomic-embed-text। README-তে উল্লেখ করা হয়েছে যে, ক্রিটিক মডেলটি ইচ্ছাকৃতভাবে রাইটার মডেলের চেয়ে ভিন্ন মডেল ফ্যামিলি থেকে নেওয়া হয়েছে। মডেল রাউটিং (রাইটার, ক্রিটিক, রিসার্চ, সামারাইজার, এমবেডার) ডাটাবেসে সংরক্ষিত থাকে এবং রানটাইমে পরিবর্তন করা যায়; অতিরিক্ত ভিশন এবং ভয়েস মডেলগুলো শুধুমাত্র প্রয়োজনীয় ফিচারের জন্য পুল করা হয়। ক্লাউড প্রোভাইডাররা (Anthropic, OpenAI, Groq, OpenRouter এবং অন্যান্য) একটি ঐচ্ছিক LiteLLM প্লাগইনের মাধ্যমে উপলব্ধ, যা একটি কস্ট গার্ড দ্বারা নিয়ন্ত্রিত। কোয়ালিটি কন্ট্রোল এই প্রজেক্টের প্রধান গুরুত্ব। README-তে ১৫টি QA রেলের বর্ণনা দেওয়া হয়েছে যা ক্রস-মডেল LLM ক্রিটিকস, DeepEval এবং Ragas ইভ্যালুয়েশন, ডিটারমিনিস্টিক অ্যান্টি-হ্যালুসিনেশন ভ্যালিডেটর, রিসার্চ কর্পাসের বিপরীতে সাইটেশন ভেরিফিকেশন এবং জেনারেটেড ইমেজের উপর ভিশন QA-এর সমন্বয়ে গঠিত। প্রতিটি রেল ডাটাবেসের মাধ্যমে অ্যাডভাইজরি বা ব্লকিং হিসেবে কনফিগার করা যায়, রানটাইমে থ্রেশহোল্ড টিউন করা যায় এবং রিজেকশনের আগে নিয়ার-মিস ড্রাফটগুলো একবার রিভিশন পাস পায়। আর্কিটেকচারগতভাবে এটি একটি কার্নেল, কিছু মডিউল এবং ক্যাপাবিলিটি প্লাগইনের সমষ্টি। কম্পোনেন্টগুলো একে অপরকে ইমপোর্ট করে না; PostgreSQL এবং pgvector একটি শেয়ারড বাস হিসেবে কাজ করে। কন্টেন্ট পাইপলাইনটি একটি ডিক্লারেটিভ LangGraph DAG যা ডাটাবেসে সংরক্ষিত (প্রায় ৪৭টি নোড), যার সাথে Prefect-এর মাধ্যমে ডিসপ্যাচ করা রেজুমেবল রানের জন্য Postgres চেকপয়েন্টিং রয়েছে। একটি স্ট্যান্ডঅ্যালোন ওয়াচডগ ডেমোন প্রতি ৫ মিনিটের সাইকেলে সার্ভিসগুলো চেক করে এবং ব্যর্থতাগুলো রিস্টার্ট করার চেষ্টা করে। কনফিগারেশন এনভায়রনমেন্ট ভেরিয়েবলের পরিবর্তে একটি app_settings টেবিলে (১,৭০০+ সেটিংস) থাকে, যা CLI, SQL বা REST-এর মাধ্যমে এডিট করা যায় এবং অথেন্টিকেশনের জন্য প্রতি-কনজিউমার স্কোপড JWT-সহ OAuth 2.1 ক্লায়েন্ট ক্রেডেনশিয়াল ব্যবহার করা হয়। এক্সটেনশন পয়েন্টগুলো ১৮টি প্লাগইন এন্ট্রি-পয়েন্ট গ্রুপে সংগঠিত — Taps, TopicSources, LLM/image/TTS/video/audio/caption প্রোভাইডার, PublishAdapters, Probes, Jobs, Stages, Reviewers এবং পূর্ণাঙ্গ Modules। প্লাগইনগুলো সাধারণ pip প্যাকেজ যা setuptools এন্ট্রি পয়েন্ট রেজিস্টার করে এবং README অনুযায়ী প্রথম প্রোডাকশন প্লাগইনটি হলো LiteLLM প্রোভাইডার। সেটআপের জন্য Docker, Ollama, Python 3.13+ এবং ৮ জিবি+ VRAM সহ একটি NVIDIA GPU প্রয়োজন (CPU সমর্থিত তবে ধীরগতির); নেটিভ Windows cmd/PowerShell সমর্থিত নয় এবং Git Bash বা WSL2 প্রয়োজন। Docker Compose প্রোফাইলগুলো একটি বেয়ার ইনস্টলেশনের জন্য ৪টি কন্টেইনার থেকে পূর্ণ অপারেটর স্ট্যাকের জন্য ৪৫টি কন্টেইনার পর্যন্ত হতে পারে। README-তে বর্তমান অবস্থা সম্পর্কে স্পষ্ট কথা বলা হয়েছে: প্রজেক্টটি আলফা পর্যায়ে আছে, কোনো ম্যানেজড হোস্টিং বা মাল্টি-টেন্যান্ট রেসিপি নেই, ডাটাবেস স্কিমা রিলিজগুলোর মধ্যে এখনও স্থিতিশীল নয়, থার্ড-পার্টি প্লাগইন ইকোসিস্টেমটি প্রাথমিক পর্যায়ে আছে এবং টেক্সট-টু-ভিডিও এখনও আলফা পর্যায়ে রয়েছে যার জন্য প্রায় ২৮ জিবি VRAM প্রয়োজন। এটি CI-তে ১৭,০০০-এর বেশি ইউনিট টেস্টের পাশাপাশি মাইগ্রেশন স্মোক টেস্ট এবং লিঙ্ক-রট চেকের কথা উল্লেখ করে এবং প্রতিটি পুশ-এ সিক্রেট স্ক্যানিং, CVE স্ক্যানিং এবং SBOM জেনারেশন চালানো হয়। প্রজেক্টটি Apache 2.0 লাইসেন্সের অধীনে, যা AGPL-3.0 থেকে রিলিনসেন্স করা হয়েছে।