من برای پروژه های هوش مصنوعی CLI ساختم – این تجربه من است

توسعه هوش مصنوعی با سرعت شکافته در حال حرکت است. مدل های جدید ، API ها و چارچوب ها هر ماه ظاهر می شوند و ادامه کار می تواند احساس غرق شدن کند. من به عنوان کسی که اغلب از برنامه های AI نمونه می شود ، خودم را دائماً در حال بازسازی همان داربست پروژه بودم: تنظیم کلیدهای API ، نصب وابستگی ها ، ایجاد UI های پخش شده و ادغام پایگاه داده های بردار.
بنابراین من فکر کردم: چرا من هر بار این کار را به صورت دستی انجام می دهم؟
این زمانی است که رگ متولد شد – ابزاری CLI که به توسعه دهندگان می تواند در چند ثانیه و نه روز ، داربست AI را تهیه کند. این چیزی است که من هنگام ساخت آن آموخته ام.
چرا من برای پروژه های AI CLI ساختم
هر پروژه هوش مصنوعی به همان روش شروع می شود:
- در مورد LLM (کلود ، جمینی یا یک مدل محلی مانند اولما) تصمیم بگیرید
- متغیرهای محیط و کلیدهای API را تنظیم کنید
- وابستگی ها را نصب کنید
- ایجاد یک رابط کاربری اساسی (معمولاً جریان یا fastapi)
- ویژگی های اختیاری مانند حافظه پنهان ، حافظه مکالمه یا یک پایگاه داده بردار را اضافه کنید
من این تنظیمات را اغلب تکرار می کردم که کد دیگ بخار کپی را شروع کردم. اما حفظ چندین پروژه هوش مصنوعی مانند این یک کابوس بود. وابستگی ها تغییر می کنند ، الزامات API تغییر می کند ، و ناگهان تنظیمات قدیمی من منسوخ شد.
بنابراین من Runkit را ساختم: یک ابزار CLI که به شما امکان می دهد این کار را با یک دستور واحد انجام دهید:
pip install run-kit
run-kit my-ai-project
و رونق! یک پروژه AI آماده اجرا با بهترین شیوه ها ، ویژگی های قابل تنظیم و یک معماری تمیز تولید می شود.
چالش های ساخت CLI
ساختن CLI فقط مربوط به خودکار کردن وظایف نیست. این در مورد صاف کردن تجربه برای کاربران است. در اینجا برخی از چالش هایی که من با آن روبرو شدم آورده شده است:
1. ساخت CLI بصری
هیچ کس نمی خواهد یک کتابچه راهنمای 10 صفحه ای را برای استفاده از CLI بخواند. هدف این بود که آن را تا حد امکان بدون اصطکاک قرار دهیم. به همین دلیل Runkit سوالات تعاملی می پرسد:
🚀 Initializing AI project: my-ai-project
? Select the LLM provider you want to use:
> Anthropic (Claude)
Google (Gemini)
LLM Local (Ollama)
Multiple providers
? Select additional features:
[x] Caching system
[x] Conversation persistence
[ ] File uploads
[x] Vector database
به این ترتیب ، شما فقط اجزای مورد نیاز خود را تولید می کنید.
2. رسیدگی به ارائه دهندگان مختلف AI
هر ارائه دهنده LLM (Anthropic ، Google ، OpenAI و غیره) ساختار API خود را ، محدودیت نرخ و Quirks دارد. من مجبور شدم در حالی که CLI را مدولار نگه داشتم ، برای هر یک از آنها الگوهای جداگانه ای بسازم. معماری به این شکل به پایان رسید:
run-kit/
├── templates/
│ ├── anthropic/ # Claude-specific setup
│ ├── gemini/ # Google Gemini setup
│ ├── ollama/ # Local LLM setup
│ └── base/ # Common project structure
این به RunKit اجازه می دهد تا چندین ارائه دهنده هوش مصنوعی را بدون نفخ کردن فرآیند تنظیم پشتیبانی کنند.
3. تعادل سادگی و سفارشی سازی
برخی از کاربران فقط یک نمونه اولیه سریع را می خواهند ، در حالی که برخی دیگر به یک تنظیم آماده تولید نیاز دارند. پیدا کردن تعادل بین “آسان برای استفاده” و “کاملاً قابل تنظیم” مشکل بود.
راه حل؟ Runkit یک ساختار پروژه ایجاد می کند که اصلاح آن آسان است اما همراه است پیش فرض های معقولبشر یک پروژه تولید شده به این شکل است:
my-ai-project/
├── app.py # Entry point
├── .env # API keys
├── requirements.txt # Dependencies
├── app/
│ ├── llm/ # LLM connection logic
│ ├── utils/ # General utilities
│ ├── data/ # Local storage for chat history, uploads, etc.
│ ├── styles/ # Custom CSS (optional)
│ └── db/ # Vector database integration (optional)
شما می توانید با این کار به عنوان یک بنیاد شروع کنید و در صورت لزوم گسترش دهید.
آنچه من از ساخت Runkit آموختم
1. توسعه دهندگان عاشق سرعت هستند
بازخورد اصلی که از کاربران اولیه دریافت کردم؟ آنها دوست داشتند که چقدر سریع بتوانند یک پروژه هوش مصنوعی را بچرخانند. زمان صرف شده برای تنظیم BoilerPlate زمان هدر رفته است ، و یک CLI مانند Runkit ذخیره می کند ساعتبشر
2. انعطاف پذیری کمال را می زند
هیچ ابزاری متناسب نخواهد بود هر گردش کار توسعه دهنده کاملاً. به همین دلیل Runkit شما را قفل نمی کندبشر می توانید پروژه تولید شده را به همان اندازه که می خواهید اصلاح کنید. این کد شماست از روز اول.
3 منبع باز راهی برای رفتن است
با تهیه منبع باز Runkit ، من مشارکت ، گزارش اشکالات و ایده های ویژگی را دریافت کردم که هرگز به تنهایی فکر نمی کردم. جامعه همان چیزی است که ابزارهایی مانند این را شکوفا می کند.
چه چیزی برای Runkit چیست؟
CLI هنوز در حال تحول است! در اینجا آنچه در آینده خواهد آمد:
- پشتیبانی تنظیم دقیق: Runkit به شما در تنظیم مدل های سفارشی به شما کمک می کند
- قابلیت های چند حالته: پشتیبانی ورودی تصویر و صوتی
- مثالهای فراخوانی عملکرد: به راحتی تماس های عملکرد LLM را ادغام کنید
- چارچوبهای عامل: ادغام بهتر برای عوامل هوش مصنوعی
اگر علاقه مند هستید ، repo را بررسی کنید و به آن یک ستاره بدهید ⭐:
🔗 runkit on github
چه چیزی بعدی؟
ساخت این CLI یک بود تغییر بازی برای گردش کار هوش مصنوعی من. این اصطکاک را از راه اندازی پروژه حذف کرد و به من اجازه می دهد تا روی آن تمرکز کنم در واقع ساخت برنامه های هوش مصنوعی به جای آشفتگی با وابستگی.
اگر تا به حال پیدا کرده اید که بارها و بارها همان ساختار پروژه AI را تنظیم کرده اید ، شاید زمان آن رسیده است که آن را خودکار کنید. به من اعتماد کن ، خود آینده شما از شما تشکر خواهد کرد.