programa
Google vuelve a la carrera de la IA con el lanzamiento de Gemini 2.0 Pro, su modelo más avanzado hasta la fecha. Actualmente está en fase experimental, lo que significa que solo está disponible vía API para desarrolladores.
Gemini 2.0 Pro destaca en tareas de programación y es capaz de manejar prompts complejos con razonamiento avanzado y conocimiento del mundo. Este modelo cuenta con una ventana de contexto enorme de 2 millones de tokens, lo que le permite procesar y analizar gran cantidad de información. Además, puede usar herramientas como Google Search y ejecutar código, lo que aumenta su versatilidad.
En este tutorial, aprenderemos a acceder a varias funciones de Gemini 2.0 Pro mediante el nuevo paquete GenAI de Python de Google. Después, crearemos una aplicación con Gradio para que cualquiera pueda probar estas funciones con solo hacer clic en unos botones. Al final, desplegaremos la aplicación en Space para que sea pública.
Puedes consultar nuestra guía sobre Gemini 2.0 Flash Thinking Experimental para ver cómo compite el modelo con la serie o de OpenAI y la serie R de DeepSeek. Y para aprender más sobre cómo crear apps multimodales con Gemini 2.0, te recomiendo este tutorial de Adel Nehme:
Configuración de Gemini 2.0 Pro
Actualmente, solo puedes acceder a Gemini 2.0 Pro a través de Google AI Studio, para lo que necesitas iniciar sesión con tu cuenta de Google. Para empezar, sigue estos pasos:
1. Inicia sesión en Google AI Studio
Visita el sitio web de Google AI Studio e inicia sesión con tus credenciales de Google. Una vez dentro, se te redirigirá al panel de Google AI Studio.
2. Genera una clave de API
- En el panel, localiza y haz clic en el botón "Get API Key" en la esquina superior izquierda.
- Después, haz clic en "Create API Key" para generar tu primera clave de API.

Fuente: Google AI Studio
3. Configura la variable de entorno
Crea una variable de entorno llamada GEMINI_API_KEY y asígnale el valor de la clave de API que acabas de generar.
4. Instala los paquetes de Python necesarios
Instala los paquetes necesarios de Python ejecutando el siguiente comando en tu terminal:
pip install google-genai
pip install gradio
Prueba de las funciones de Gemini 2.0 Pro
Ahora usaremos el cliente de Python de Gemini para acceder a varias funciones del modelo Gemini 2.0 Pro. Estas funciones incluyen comprensión de texto, procesamiento de imágenes, análisis de audio y lectura de documentos.
Además, probaremos la ejecución de código, que permite generar código y ejecutarlo directamente en un kernel de Python en la nube.
1. Generación de texto
Cargaremos la clave de API desde la variable de entorno e inicializaremos el cliente con ella. Este cliente será la interfaz para acceder a los modelos y funciones.
A continuación, daremos al modelo una pregunta y generaremos una respuesta en streaming. Es decir, en cuanto se vayan generando los tokens, se mostrarán de forma incremental en la terminal, ofreciendo feedback en tiempo real.
import os
from google import genai
API_KEY = os.environ.get("GEMINI_API_KEY")
client = genai.Client(api_key=API_KEY)
response = client.models.generate_content_stream(
model="gemini-2.0-pro-exp-02-05",
contents=["Explain how Stock Market works"])
for chunk in response:
print(chunk.text, end="")
El modelo generó una respuesta detallada y precisa.
The stock market is a complex system, but here's a breakdown of how it works in a simplified way, covering the key concepts:
**1. What are Stocks (Shares)?**
* **Ownership:** Stocks, also called shares or equities, represent ownership in a company. When you buy a stock, you're buying a tiny piece of that company.
* **Claim on Assets and Earnings:** As a shareholder, you have a claim on the company's assets and earnings. You're entitled to a portion of the company's profits (often distributed as dividends, though not always) and, in theory, a share of the company's value if it were to be liquidated.
* **Voting Rights (Sometimes):** Many stocks (but not all) come with voting rights, allowing you to have a say in certain company decisions (like electing the board of directors).
**2. Why Companies Issue Stock (Go Public)?**
2. Comprensión de imágenes
Para la comprensión de imágenes, cargaremos la imagen con la librería Pillow de Python y la añadiremos al argumento contents. En contents incluiremos preguntas sobre la imagen junto con el objeto de imagen.
from google import genai
from google.genai import types
import PIL.Image
image = PIL.Image.open('image.png')
response = client.models.generate_content_stream(
model="gemini-2.0-pro-exp-02-05",
contents=["Explain the image", image])
for chunk in response:
print(chunk.text, end="")
El modelo entendió la imagen con precisión y nos proporcionó incluso detalles menores.
The image is a stylized, abstract graphic. It looks like a simplified diagram or node network, with a black background.
Here's a breakdown:
* **Nodes:** There are four circular nodes. Each node is a different color:
* Light Blue (Top Left)
* Light Green (Bottom Left)
* White (Top Right)
* Red (Bottom Right)
* **Node outline:** There is a thick outline around each of the circles.
* **Shadow:** Each circle appears to be casting a white shadow.
3. Comprensión de audio
Gemini 2.0 Pro puede entender audio directamente sin convertirlo a texto. Simplemente carga el audio y proporciónalo en el argumento content junto con la pregunta correspondiente.
with open('audio.wav', 'rb') as f:
audio_bytes = f.read()
response = client.models.generate_content_stream(
model='gemini-2.0-pro-exp-02-05',
contents=[
'Describe this audio',
types.Part.from_bytes(
data=audio_bytes,
mime_type='audio/wav',
)
]
)
for chunk in response:
print(chunk.text, end="")
De nuevo, proporciona una descripción del audio muy precisa.
The audio appears to be a collection of short, spoken phrases or sentences. There is only one speaker, a male, and he seems to be reading or reciting these phrases, possibly as part of a list or exercise. The content focuses on food and related concepts like smell and temperature.
4. Comprensión de documentos
En lugar de usar Langchain o cualquier framework RAG, podemos proporcionar documentos a Gemini 2.0 Pro para que los analice e indexe y así poder hacerle preguntas sobre ellos.
Hemos cargado un archivo PDF y hecho preguntas basadas en su contenido. Así de simple.
from google import genai
from google.genai import types
import pathlib
prompt = "What the document is about"
response = client.models.generate_content_stream(
model="gemini-2.0-pro-exp-02-05",
contents=[
types.Part.from_bytes(
data=pathlib.Path('cv.pdf').read_bytes(),
mime_type='application/pdf',
),
prompt])
for chunk in response:
print(chunk.text, end="")
Como resultado, ha descrito a la perfección de qué trata el documento.
Based on the OCR output, the document is **Abid Ali Awan's Curriculum Vitae (CV) or resume**. It details his:
* **Contact Information:** Name, address, email, and phone number.
* **Work Experience:** A chronological list of his professional roles, including job titles, companies, locations, dates of employment, and brief descriptions of his responsibilities. This includes experience in data science, freelancing, research, media, and network engineering.
* **Education:** His academic background, listing degrees earned, institutions attended, graduation dates, GPAs, and areas of specialization.
* **Gap Year:** Explaining the time that have taken for medical/personal issues.
* **Professional Skills:** A list of his technical and soft skills, categorized and rated
5. Generación y ejecución de código
Lo más destacado de la API de Gemini es que puedes generar código y ejecutarlo con la misma API. Esto significa que tu código se generará y se probará; si hay un error, el modelo lo corregirá y volverá a ejecutar el código hasta obtener la respuesta correcta.
Le hicimos a Gemini 2.0 Pro una pregunta de programación y le pedimos que ejecutara el código al final. Si te fijas en el argumento config, verás que hemos incluido la herramienta de ejecución de código para correrlo en la nube.
from google import genai
from google.genai import types
from IPython.display import Markdown, HTML, Image, display
response = client.models.generate_content(
model='gemini-2.0-pro-exp-02-05',
contents="""
Write a Python program to calculate the sum of the first 50 prime numbers. The program should:
- Use a function to check if a number is prime.
- Use another function to find and sum the first n prime numbers, where n is 50 in this case.
- Ensure the code is efficient and readable.
- Print the result clearly.
After writing the code, execute it to verify that the sum of the first 50 prime numbers is correct.
""",
config=types.GenerateContentConfig(
tools=[types.Tool(
code_execution=types.ToolCodeExecution
)]
)
)
def display_code_execution_result(response):
for part in response.candidates[0].content.parts:
if part.text is not None:
display(Markdown(part.text))
if part.executable_code is not None:
code_html = f'<pre style="background-color: green;">{part.executable_code.code}</pre>' # Change code color
display(HTML(code_html))
if part.code_execution_result is not None:
display(Markdown(part.code_execution_result.output))
if part.inline_data is not None:
display(Image(data=part.inline_data.data, format="png"))
display(Markdown("---"))
display_code_execution_result(response)
El modelo generó el código pero falló al ejecutarlo. Luego corrigió los problemas, volvió a ejecutarlo y mostró los resultados correctamente.

Creación de una aplicación con Gemini 2.0 Pro
Ahora construiremos una app web con Gradio que integre todas las funciones que hemos probado. Así, cualquier persona podrá testearla subiendo archivos y haciendo preguntas sobre imágenes, audio, documentos e incluso ejecutando código.
El código de app.py está disponible en el repositorio de GitHub Gemini-2-Pro-Chat. Puedes revisarlo para entender cómo se ha implementado cada función.
En resumen, la app incluye:
- Gestión de entradas multimodales: el chatbot puede procesar texto, imágenes, audio y documentos.
- Generación dinámica de respuestas: hace streaming de respuestas con el método
generate_content_streamde Google GenAI. - Ejecución de código: los usuarios pueden generar código, pedir al chatbot que lo ejecute y devolver los resultados.
- Procesamiento de imágenes y audio: las imágenes se redimensionan y convierten a base64 para incrustarlas en HTML, mientras que los archivos de audio se codifican y se muestran con un reproductor.
- Carga de documentos: los archivos PDF se procesan y se añaden al historial de la conversación.

Una vez que hayas copiado el código del repositorio remoto en tu proyecto local, puedes ejecutarlo en tu máquina.
python app.py

Prueba de la aplicación Gemini 2.0 Pro
Ahora probaremos la aplicación web para asegurarnos de que todo funciona correctamente. Recorreremos todas las funciones una a una desde la interfaz de la app.
1. Escribe tu pregunta y pulsa la tecla [Enter]. La respuesta empezará a generarse y tendrás tu resultado en cuestión de segundos.

2. Para subir una imagen, haz clic en el botón "Upload Images" y selecciona el archivo del directorio. Después, formula una pregunta sobre la imagen y Gemini 2.0 Pro empezará a generar una respuesta precisa y muy detallada.

3. Sube audio haciendo clic en el botón "Upload Audio" y seleccionando el archivo de audio. Después, pregunta sobre el audio. El modelo ofrecerá respuestas muy precisas.

4. También puedes subir documentos. Carga un archivo PDF haciendo clic en el botón "Upload Documents" y seleccionando el archivo. Luego, pregunta sobre el documento.

5. La ejecución de código es un poco diferente. No mantiene historial para evitar conflictos, así que tienes que pedirle que genere y ejecute el código en el mismo prompt.
Por ejemplo, le pedimos que generara y ejecutara un código de ejemplo en Python para crear una imagen aleatoria en formato PNG, y después pulsamos el botón "Run Code Execution".

En segundos, generó el código, lo ejecutó y mostró las imágenes en el chat.

La función de ejecución de código también proporciona una conclusión al final.

Despliegue de la app Gemini 2.0 Pro
Vamos a desplegar la app en la nube con Hugging Face Spaces. Ve a Hugging Face Spaces y haz clic en el botón "+ New Space". Introduce el nombre, la descripción y la licencia del espacio, y selecciona Gradio como SDK.

Fuente: Hugging Face
Tras crear el Space, recibirás instrucciones para clonar el repositorio:
git clone https://huggingface.co/spaces/kingabzpro/Gemini-2-Pro-Chat
cd Gemini-2-Pro-Chat
Dentro del repositorio local, crea un archivo requirements.txt y añade la siguiente dependencia de Python:
google-genai==1.0.0
Después, modifica el archivo README.md para incluir el siguiente contenido:
---
title: Gemini 2 Pro Chat
emoji: ♊💬
colorFrom: green
colorTo: pink
sdk: gradio
sdk_version: 5.15.0
app_file: app.py
pinned: false
license: mit
short_description: 'Image, Audio, and Document understanding + Code Execution. '
---
Luego, añade el archivo app.py al repositorio. Prepara los cambios, haz commit y súbelos al repositorio remoto:
git add .
git commit -m "deploying the app"
git push
Una vez que subas los commits, verás que tu Space está construyendo la imagen de Docker e instalando las dependencias.

Fuente: Gemini 2 Pro Chat
Cuando todo finalice, puede que veas un mensaje de error. No te preocupes; se debe a variables de entorno faltantes que vamos a añadir en Spaces.

Fuente: Gemini 2 Pro Chat
Ve a la configuración de tu Space y desplázate a la sección "Variables and Secrets". Crea un nuevo secreto haciendo clic en el botón "New Secret". Indícale el nombre y tu clave de la API de Gemini.

Fuente: Gemini 2 Pro Chat
Después de añadir el secreto, el Space se reiniciará automáticamente y tu app funcionará sin problemas, igual que en local.

Fuente: Gemini 2 Pro Chat
Conclusión
Crear una aplicación de IA de alto rendimiento es mucho más fácil con la nueva API de Gemini 2.0 Pro y sus funciones avanzadas. En lugar de instalar múltiples paquetes de Python para procesar imágenes, audio o documentos, puedes enviar estas entradas directamente al endpoint de la API. El modelo generará resultados en segundos, haciendo el proceso fluido y eficiente.
Actualmente, el acceso a Gemini 2.0 Pro es gratuito pero está limitado a 50 solicitudes al día. No obstante, es importante tener en cuenta que no debes usar la API con fines comerciales para evitar el riesgo de suspensión de cuenta.
En este tutorial, exploramos el modelo puntero Gemini 2.0 Pro y sus funciones. Probamos estas capacidades en Jupyter Notebooks y las integramos en una aplicación con Gradio. Por último, desplegamos la aplicación en la nube para que esté accesible al público.
Si quieres aprender más sobre cómo crear aplicaciones con IA, echa un vistazo a nuestro itinerario de aprendizaje sobre Developing AI Applications para conocer algunas de las últimas herramientas para desarrolladores de IA.
Soy un científico de datos certificado que disfruta creando aplicaciones de aprendizaje automático y escribiendo blogs sobre ciencia de datos. Actualmente me centro en la creación de contenidos, la edición y el trabajo con grandes modelos lingüísticos.



