Athrun Data Intelligence


En este tutorial, creamos una aplicación de IA poderosa e interactiva que genera ideas de tiro de inicio utilizando el maniquí Gemini Pro de Google a través del entorno 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 utilizar Litellm, nos conectamos sin problemas con las capacidades de Gemini para la ideación creativa y envolvemos las futuro en una interfaz de Gradio sencillo de usar. Encima, utilizamos FPDF para ocasionar 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 posibilidad 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 plan. 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 acertadamente 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 plan, incluido el sistema operante para operaciones de archivos, UUID para ocasionar nombres de archivo únicos y urllib para descargar fuentes. Todavía 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 legatario, 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é habitable 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 ocasionar 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 maniquí Gemini 2.0 Flash Lite. Acepta un mensaje de sistema y una solicitud de legatario, los estructura en formato compatible con OpenAI, envía la solicitud utilizando la secreto API proporcionada y devuelve la respuesta generada, lo que es sencillo 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 efectivo 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}nnTagline:n{tagline}nnPitch 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 banda todo el proceso de gestació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 escolta 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 feedback del legatario 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 legatario de Gradio para el padre de tono de inicio de IA. El uso de gr.blocks () crea un diseño despejado con un cuadro de entrada para que el legatario ingrese un tema o industria de inicio y un clavija para activar la gestación de tono. Una vez hecho clic, la función de cubierta ardor a generar_startup_pitch, devolviendo una idea de inicio, eslogan, epítome de tono y un PDF descargable. El indicador Share = True permite el ataque divulgado a la aplicación, lo que facilita la demostración o compartir la aparejo con otros a través de una URL única.

Interfaz de aplicación para ocasionar ideas

Descargue el mensaje PDF

En conclusión, al combinar el poder de noció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 anterior intuitivo para aceptar la entrada del legatario y los resultados de visualización, mientras que FPDF nos permitió convertir contenido generado por IA en documentos PDF compartibles y acertadamente formados. Este tutorial muestra cómo construir una aplicación de IA de múltiples componentes en un entorno cordial 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 ayudar su flujo de trabajo LLM rápido y a prueba de futuro.


Aquí está el Cuaderno de colab. Encima, no olvides seguirnos Gorjeo y únete a nuestro Canal de telegrama y LinkedIn GRespolvorear. No olvides unirte a nuestro 85k+ ml de subreddit.

🔥 (Regístrese ahora) Conferencia potencial de Minicon sobre código despejado AI: Registro sin cargo + Certificado de Audiencia + Evento corto de 3 horas (12 de abril, 9 am- 12 pm PST) + Hands on Workshop (patrocinado)


Asif Razzaq es el CEO de MarktechPost Media Inc .. Como patrón e ingeniero soñador, ASIF se compromete a utilizar el potencial de la inteligencia fabricado para el acertadamente social. Su esfuerzo más fresco es el tiro de una plataforma de medios de inteligencia fabricado, MarktechPost, que se destaca por su cobertura profunda de telediario de formación involuntario y de formación 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 divulgado.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *