En este tutorial, creamos una aplicación de IA poderosa e interactiva que genera ideas de lanzamiento de inicio utilizando el modelo Gemini Pro de Google a través del marco Versátil Litellm. Litellm es la columna vertebral de esta implementación, que proporciona una interfaz unificada para interactuar con más de 100 proveedores de LLM que utilizan API compatibles con OpenAI, eliminando la complejidad de tratar con SDK individuales. Al aprovechar Litellm, nos conectamos sin problemas con las capacidades de Gemini para la ideación creativa y envolvemos las salidas en una interfaz de Gradio fácil de usar. Además, utilizamos FPDF para generar PDF pulidos y compatibles con unicode que contienen el mazo de tono de inicio completo. Este tutorial demuestra cómo las herramientas modernas de IA, incluidas Litellm, Gradio, Google Generative AI y FPDF, pueden construir una solución de extremo a extremo para empresarios, innovadores y desarrolladores.
!pip install litellm gradio fpdf --quiet
! Pip Instale Litellm Gradio FPDF –Quiet Instala las bibliotecas principales necesarias para este proyecto. Trae en litellm para interactuar con Gemini a través de una API unificada, Gradio para crear una interfaz web simple y FPDF para exportar el tono generado por IA en un archivo PDF bien formateado, todo mientras suprime los registros de instalación detallada con –Ent.
import os
import gradio as gr
import uuid
import urllib.request
from fpdf import FPDF
from litellm import completion
api_key = "Your API Key"
Importamos todas las bibliotecas esenciales de Python utilizadas en el proyecto, incluido el sistema operativo para operaciones de archivos, UUID para generar nombres de archivo únicos y urllib para descargar fuentes. También inicializamos a Gradio para la UI, FPDF para la creación de PDF y la función de finalización de Litellm para interactuar con Gemini. La variable API_KEY almacena la tecla API Gemini del usuario, que se requiere para autenticar las solicitudes.
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
Aquí, nos aseguramos de que la fuente dejavusans.ttf esté disponible para crear PDF compatibles con unicode. Descarga el archivo ZIP de fuente de SourceForge, extrae su contenido y copia el archivo .ttf al directorio de trabajo. Este paso es crucial para manejar caracteres especiales desde la salida de Gemini al generar el PDF de tono final usando 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"]
Esta función, Call_gemini, es un envoltorio que utiliza la API de finalización de Litellm para interactuar con el modelo Gemini 2.0 Flash Lite. Acepta un mensaje de sistema y una solicitud de usuario, los estructura en formato compatible con OpenAI, envía la solicitud utilizando la clave API proporcionada y devuelve la respuesta generada, lo que es fácil reutilizar en varias partes de la aplicación.
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
La función Generate_Startup_Pitch orquesta todo el proceso de generación de inicio. Envía indicaciones personalizadas a Gemini a través de Litellm para producir una idea de inicio, un eslogan pegadizo y un mazo de tono estructurado. Las respuestas se combinan en un PDF formateado usando FPDF, con un soporte de unicode adecuado a través de la fuente DeJavu. El PDF se guarda con un nombre de archivo único, lo que permite a los usuarios descargar su tono personalizado. El manejo de errores garantiza una ejecución suave y la retroalimentación del usuario en caso de fallas.
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)
Definimos la interfaz de usuario de Gradio para el generador de tono de inicio de IA. El uso de gr.blocks () crea un diseño limpio con un cuadro de entrada para que el usuario ingrese un tema o industria de inicio y un botón para activar la generación de tono. Una vez hecho clic, la función de envoltura llama a generar_startup_pitch, devolviendo una idea de inicio, lema, resumen de tono y un PDF descargable. El indicador Share = True permite el acceso público a la aplicación, lo que facilita la demostración o compartir la herramienta con otros a través de una URL única.
Interfaz de aplicación para generar ideas
En conclusión, al combinar el poder de abstracción de Litellm con la inteligencia creativa de Gemini Pro de Google, este tutorial destaca cómo los desarrolladores pueden prototipos rápidamente de aplicaciones inteligentes listas para la producción. Litellm simplifica drásticamente el trabajo con Diverse LLM API manteniendo una interfaz de llamadas de estilo Operai consistente entre proveedores como Gemini, Claude, OpenAi y más. A través de Gradio, agregamos un frontal intuitivo para aceptar la entrada del usuario y los resultados de visualización, mientras que FPDF nos permitió convertir contenido generado por IA en documentos PDF compartibles y bien formados. Este tutorial muestra cómo construir una aplicación de IA de múltiples componentes en un entorno amigable con Colab y subraya el papel de Litellm como una puerta de entrada fundamental para el ecosistema en expansión de los modelos de idiomas. Ya sea que esté construyendo MVP o herramientas de producción, Litellm ofrece la flexibilidad y la escalabilidad para mantener su flujo de trabajo LLM rápido y a prueba de futuro.
Aquí está el Cuaderno de colab. Además, no olvides seguirnos Gorjeo y únete a nuestro Canal de telegrama y LinkedIn GRsalpicar. No olvides unirte a nuestro 85k+ ml de subreddit.
Asif Razzaq es el CEO de MarktechPost Media Inc .. Como empresario e ingeniero visionario, ASIF se compromete a aprovechar el potencial de la inteligencia artificial para el bien social. Su esfuerzo más reciente es el lanzamiento de una plataforma de medios de inteligencia artificial, MarktechPost, que se destaca por su cobertura profunda de noticias de aprendizaje automático y de aprendizaje profundo que es técnicamente sólido y fácilmente comprensible por una audiencia amplia. La plataforma cuenta con más de 2 millones de vistas mensuales, ilustrando su popularidad entre el público.