در این آموزش، ما یک برنامه هوش مصنوعی قدرتمند و تعاملی ساختیم که ایده های استارتاپی را با استفاده از مدل Gemini Pro گوگل از طریق چارچوب متنوع LiteLLM تولید می کند. LiteLLM پایه و اساس این پیاده سازی است و یک رابط یکپارچه برای تعامل با بیش از 100 ارائه دهنده LLM با استفاده از API های سازگار با OpenAI فراهم می کند و پیچیدگی کار با SDK های جداگانه را از بین می برد. با استفاده از LiteLLM، ما به طور یکپارچه به قابلیت های Gemini برای ایده پردازی خلاقانه متصل شدیم و خروجی ها را در یک رابط کاربری Gradio قرار دادیم. همچنین، از FPDF برای تولید فایل های PDF صیقلی و سازگار با Unicode حاوی کل مجموعه ارائه استارتاپی استفاده کردیم. این آموزش نشان می دهد که چگونه ابزارهای مدرن هوش مصنوعی، از جمله LiteLLM، Gradio، Google Generative AI و FPDF، می توانند یک راه حل end-to-end برای کارآفرینان، نوآوران و توسعه دهندگان ایجاد کنند.
!pip install litellm gradio fpdf --quiet
کتابخانه های اصلی مورد نیاز برای این پروژه را نصب می کند.
این دستور LiteLLM را برای تعامل با Gemini از طریق یک API یکپارچه، Gradio را برای ایجاد یک رابط وب ساده و FPDF را برای خروجی گرفتن ایده های تولید شده توسط هوش مصنوعی به یک فایل PDF با فرمت مناسب به ارمغان می آورد.
همچنین با استفاده از
--quiet
لاگ های verbose نصب را حذف می کند.
ما تمام کتابخانه های ضروری پایتون مورد استفاده در پروژه را وارد می کنیم، از جمله
os
برای عملیات فایل،
uuid
برای تولید نام فایل های منحصر به فرد و
urllib
برای دانلود فونت ها.
ما همچنین Gradio را برای UI، FPDF را برای ایجاد PDF و تابع completion LiteLLM را برای رابط با Gemini مقداردهی اولیه می کنیم.
متغیر
api_key
کلید API Gemini کاربر را ذخیره می کند که برای احراز هویت درخواست ها مورد نیاز است.
در اینجا، اطمینان حاصل می کنیم که فونت
DejaVuSans.ttf
برای ایجاد فایل های PDF سازگار با Unicode در دسترس است.
این کد فایل zip فونت را از SourceForge دانلود می کند، محتویات آن را استخراج می کند و فایل ttf. را در فهرست کاری کپی می کند.
این مرحله برای مدیریت کاراکترهای خاص از خروجی Gemini هنگام تولید PDF نهایی با استفاده از FPDF بسیار مهم است.
این تابع،
call_gemini
، یک wrapper است که از API completion LiteLLM برای تعامل با مدل Gemini 2.0 Flash Lite استفاده می کند.
این تابع یک سیستم prompt و یک user prompt را می پذیرد، آنها را در قالب سازگار با OpenAI ساختار می دهد، درخواست را با استفاده از کلید API ارائه شده ارسال می کند و پاسخ تولید شده را برمی گرداند و استفاده مجدد از آن را در بخش های مختلف برنامه آسان می کند.
تابع
generate_startup_pitch
کل فرآیند تولید ایده استارتاپی را مدیریت می کند.
این تابع prompt های متناسب را از طریق LiteLLM به Gemini ارسال می کند تا یک ایده استارتاپی، یک tagline جذاب و یک pitch deck ساختاریافته تولید کند.
سپس پاسخ ها با استفاده از FPDF در یک فایل PDF قالب بندی شده با پشتیبانی مناسب Unicode از طریق فونت DejaVu ترکیب می شوند.
PDF با یک نام فایل منحصر به فرد ذخیره می شود و به کاربران امکان می دهد ایده استارتاپی شخصی شده خود را دانلود کنند.
مدیریت خطا، اجرای روان و بازخورد کاربر را در صورت بروز خطا تضمین می کند.
ما رابط کاربری Gradio را برای AI Startup Pitch Generator تعریف کردیم.
با استفاده از
gr.Blocks()
یک طرح بندی تمیز با یک کادر ورودی برای کاربر ایجاد می شود تا یک تم یا صنعت استارتاپی را وارد کند و یک دکمه برای راه اندازی تولید ایده.
پس از کلیک، تابع wrapper تابع
generate_startup_pitch
را فراخوانی می کند و یک ایده استارتاپی، tagline، خلاصه pitch و یک PDF قابل دانلود را برمی گرداند.
فلاگ
share=True
دسترسی عمومی به برنامه را فعال می کند و به اشتراک گذاری ابزار با دیگران را از طریق یک URL منحصر به فرد آسان می کند.
در نتیجه، با ترکیب قدرت انتزاعی LiteLLM با هوش خلاقانه Gemini Pro گوگل، این آموزش نشان میدهد که چگونه توسعهدهندگان میتوانند به سرعت برنامههای کاربردی هوشمند و آماده تولید را نمونهسازی کنند. LiteLLM با حفظ یک رابط فراخوانی ثابت به سبک OpenAI در بین ارائه دهندگان مانند Gemini، Claude، OpenAI و غیره، کار با API های LLM متنوع را به شدت ساده می کند. از طریق Gradio، ما یک front end بصری برای پذیرش ورودی کاربر و نمایش نتایج اضافه کردیم، در حالی که FPDF به ما اجازه داد محتوای تولید شده توسط هوش مصنوعی را به اسناد PDF قابل اشتراک گذاری و با فرمت مناسب تبدیل کنیم. این آموزش نشان می دهد که چگونه یک برنامه هوش مصنوعی چند مؤلفه ای را در یک محیط سازگار با Colab بسازیم و نقش LiteLLM را به عنوان یک دروازه محوری به اکوسیستم گسترش یابنده مدل های زبانی نشان می دهد. چه در حال ساخت MVP باشید و چه ابزارهای تولیدی، LiteLLM انعطافپذیری و مقیاسپذیری را ارائه میدهد تا گردش کار LLM شما را سریع و ضد آینده نگه دارد.