Šiame vadove sukūrėme galingą ir interaktyvią AI programą, kuri sukuria „Startup Pitch“ idėjas, naudodami „Google“ „Gemini Pro“ modelį per universalią „Litellm“ sistemą. Litellm yra šio diegimo pagrindas, suteikiantis vieningą sąsają, skirtą sąveikai su daugiau nei 100 LLM teikėjų, naudojant „Openai“ suderinamas API, pašalinant sudėtingumą, susijusį su atskirais SDK. Pasinaudodami „Litellm“, mes sklandžiai prisijungėme prie „Gemini“ kūrybinio idėjos galimybių ir suvyniojome išvestis į vartotojui patogią „Gradio“ sąsają. Be to, mes panaudojome FPDF, kad sugeneruotume poliruotus, vienkartinius suderinamus PDF, turinčius visą paleidimo žingsnio denį. Šis vadovėlis parodo, kaip modernūs AI įrankiai, įskaitant „Litellm“, „Gradio“, „Google Generative AI“ ir „FPDF“, gali sukurti verslininkų, novatorių ir kūrėjų sprendimą nuo galo iki galo.
!pip install litellm gradio fpdf --quiet
! PIP įdiegti „Litellm Gradio FPDF“ – „Nquiet“ diegia pagrindines bibliotekas, reikalingas šiam projektui. Tai suteikia „Litellm“ sąveikauti su „Gemini“ per vieningą API, „Gradio“, skirtą sukurti paprastą žiniatinklio sąsają, ir FPDF, skirtą eksportuoti AI sukurtą žingsnį į gerai suformuotą PDF failą-visa tai slopinant „Verbose“ diegimo žurnalus su –KIR.
import os
import gradio as gr
import uuid
import urllib.request
from fpdf import FPDF
from litellm import completion
api_key = "Your API Key"
Mes importuojame visas pagrindines „Python“ bibliotekas, naudojamas projekte, įskaitant OS failų operacijoms, UUID, kad būtų galima generuoti unikalius failų pavadinimus, ir „Urllib“, skirtą atsisiųsti šriftus. Mes taip pat inicijuojame „Gradio“ UI, FPDF, skirtą PDF kūrimui, ir „Litellm“ baigimo funkciją, kad būtų galima sąsają su „Gemini“. „API_KEY“ kintamasis išsaugo vartotojo „Gemini API“ raktą, kurio reikia norint patvirtinti užklausas.
import urllib.request
import zipfile
import os
import shutil
if not os.path.exists("DejaVuSans.ttf"):
print("⏬ Downloading DejaVuSans.ttf...")
font_zip_url = "https://downloads.sourceforge.net/project/dejavu/dejavu/2.37/dejavu-fonts-ttf-2.37.zip"
font_zip_path = "dejavu-fonts.zip"
urllib.request.urlretrieve(font_zip_url, font_zip_path)
with zipfile.ZipFile(font_zip_path, 'r') as zip_ref:
zip_ref.extractall("dejavu-extracted")
for root, dirs, files in os.walk("dejavu-extracted"):
for file in files:
if file == "DejaVuSans.ttf":
ttf_path = os.path.join(root, file)
shutil.copy(ttf_path, "DejaVuSans.ttf")
print("✅ Font extracted and ready.")
break
Čia mes užtikriname, kad šriftą „Dejavusans.ttf“ būtų galima sukurti suderinamus „Unicode“ PDFS. Jis atsisiunčia „Font Zip“ failą iš „SourceForge“, ištraukia jo turinį ir kopijuoja .TTF failą į darbo katalogą. Šis žingsnis yra labai svarbus norint tvarkyti specialiuosius simbolius iš „Gemini“ išvesties, generuojant galutinį žingsnį PDF naudojant FPDF.
def call_gemini(system_prompt, user_prompt):
messages = (
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt}
)
response = completion(
model="gemini/gemini-2.0-flash-lite",
messages=messages,
api_key=api_key
)
return response("choices")(0)("message")("content")
Ši funkcija „Call_gemini“ yra įvyniojimas, kuris naudoja „Litellm“ užbaigimo API, kad galėtų sąveikauti su „Gemini 2.0“ „Flash Lite“ modeliu. Jis priima sistemos raginimą ir vartotojo raginimą, struktūrizuoja juos su „Openai“ suderinamu formatu, siunčia užklausą naudodamas pateiktą API klavišą ir grąžina sugeneruotą atsakymą-nesunkiai pakartotinai naudoti įvairiose programos dalyse.
def generate_startup_pitch(theme):
try:
idea_prompt = f"Generate an innovative startup idea in the field of {theme}. Focus on solving real problems using modern technology."
tagline_prompt = "Based on the idea you just gave, generate a short, catchy tagline for the startup."
pitch_prompt = """
Based on the previous startup idea, write a concise pitch deck covering:
1. Problem
2. Solution
3. Market Opportunity
4. Team Description
5. Business Model
6. Traction or Future Plan
Format it in a way that looks like slide notes for a VC pitch.
"""
idea = call_gemini("You are an innovation strategist.", idea_prompt)
tagline = call_gemini("You are a branding expert.", tagline_prompt)
pitch = call_gemini("You are a startup mentor writing a pitch deck.", pitch_prompt)
filename = f"startup_pitch_{uuid.uuid4().hex(:8)}.pdf"
pdf = FPDF()
pdf.add_page()
pdf.add_font("DejaVu", "", font_path, uni=True)
pdf.set_font("DejaVu", size=12)
full_text = f"Startup Idea:\n{idea}\n\nTagline:\n{tagline}\n\nPitch Deck:\n{pitch}"
pdf.multi_cell(0, 10, full_text)
pdf.output(filename)
return idea, tagline, pitch, filename
except Exception as e:
return f"⚠️ Error: {e}", "", "", None
„Generate_Startup_pitch“ funkcija organizuoja visą paleidimo generavimo procesą. Jis siunčia pritaikytus raginimus „Dvyniai“ per „Litellm“, kad sukurtų paleidimo idėją, intriguojančią etiketę ir struktūrizuotą žingsnio denį. Tada atsakymai sujungiami į suformatuotą PDF, naudojant FPDF, naudojant tinkamą „Unicode“ palaikymą per „Dejavu“ šriftą. PDF yra išsaugotas unikaliu failo vardu, leidžiančia vartotojams atsisiųsti suasmenintą žingsnį. Klaidų tvarkymas užtikrina sklandų vykdymą ir vartotojo atsiliepimus, jei nesėkmių atveju.
with gr.Blocks() as demo:
gr.Markdown("# 🚀 AI Startup Pitch Generator (with PDF Export)")
theme_input = gr.Textbox(label="Enter a theme or industry", placeholder="e.g., mental health, fintech, climate tech")
generate_button = gr.Button("Generate Pitch")
idea_output = gr.Textbox(label="Startup Idea")
tagline_output = gr.Textbox(label="Tagline")
pitch_output = gr.Textbox(label="Pitch Deck Summary", lines=10)
pdf_output = gr.File(label="Download Pitch as PDF")
def wrapper(theme):
idea, tagline, pitch, pdf_path = generate_startup_pitch(theme)
return idea, tagline, pitch, pdf_path
generate_button.click(fn=wrapper, inputs=theme_input, outputs=(idea_output, tagline_output, pitch_output, pdf_output))
demo.launch(share=True)
Mes apibrėžėme „Gradio“ vartotojo sąsają AI paleidimo žingsnio generatoriui. Naudojant Gr.Blocks (), sukuriamas švarus išdėstymas su įvesties dėžute, kad vartotojas galėtų įvesti paleidimo temą ar pramonę ir mygtuką, kad suaktyvintų žingsnio generavimą. Kai spustelėjus, „Wrapper“ funkcijos skambučiai sugeneruoti_startup_pitch, grąžinant paleidimo idėją, etiketę, žingsnio suvestinę ir atsisiunčiamą PDF. „Share = True Flag“ suteikia galimybę viešai prieigai prie programos, todėl per unikalų URL yra lengva demonstruoti ar bendrinti įrankį su kitais.
Programos sąsaja, kad būtų galima generuoti idėjas
Apibendrinant, derinant „Litellm“ abstrakcijos galią su kūrybiniu „Google“ „Gemini Pro“ intelektu, šis vadovėlis pabrėžia, kaip kūrėjai gali greitai prototipą prototipą prototipiškai prototipiškai pritaikyti. „Litellm“ drastiškai supaprastina darbą su įvairiomis LLM API, išlaikant nuoseklią „Openai“ stiliaus skambučių sąsają tokiose teikėjams kaip „Gemini“, „Claude“, „Openai“ ir dar daugiau. Per „Gradio“ mes pridėjome intuityvų priekinę dalį, kad priimtume vartotojo įvesties ir rodymo rezultatus, o FPDF leido mums konvertuoti AI generuotą turinį į bendrinamus, gerai formuojamus PDF dokumentus. Šiame vadove parodyta, kaip sukurti daugiakomponentę AI programą „Colab“ draugiškoje aplinkoje ir pabrėžiamas Litellm vaidmuo kaip pagrindinis vartai į besiplečiančią kalbų modelių ekosistemą. Nesvarbu, ar kuriate MVP, ar gamybos įrankius, „Litellm“ siūlo lankstumą ir mastelį, kad jūsų LLM darbo eiga būtų greita ir ateityje.
Čia yra „Colab“ užrašų knygelė. Be to, nepamirškite sekti mūsų „Twitter“ ir prisijunkite prie mūsų „Telegram“ kanalas ir „LinkedIn GrOUP. Nepamirškite prisijungti prie mūsų 85K+ ml subreddit.
🔥 )

Asif Razzaq yra „MarkTechPost Media Inc“ generalinis direktorius. Kaip vizionierius verslininkas ir inžinierius, ASIF yra įsipareigojęs išnaudoti dirbtinio intelekto potencialą socialiniam gėrybei. Naujausias jo siekis yra dirbtinio intelekto žiniasklaidos platformos „MarkTechPost“, kuri išsiskiria išsamia mašininio mokymosi ir giluminio mokymosi naujienų, kuri yra techniškai pagrįsta, ir lengvai suprantama plačiai auditorijai. Platforma gali pasigirti daugiau nei 2 milijonai mėnesinių peržiūrų, parodydama jos populiarumą tarp auditorijos.
