Esto representa un importante paso adelante en el desarrollo de la IA de Google, diseñada para manejar una amplia gama de tareas con un rendimiento de vanguardia en muchos de los principales puntos de referencia.
Gemini Pro, junto con Gemini Ultra y Gemini Nano, se presentó para marcar el comienzo de lo que Google DeepMind llama la era Gemini, con el objetivo de desbloquear nuevas oportunidades para las personas de todo el mundo aprovechando las capacidades de la IA.
Gemini Pro se lanzó mundialmente en enero de 2024, tras una colaboración con Samsung para integrar Gemini Nano y Gemini Pro en la gama de smartphones Galaxy S24.
También vimos la introducción de "Gemini Advanced con Ultra 1.0" a través del nivel AI Premium del servicio de suscripción Google One.
Una de las principales características de Gemini Pro es su API, diseñada para permitir a los desarrolladores desarrollar e integrar rápidamente funcionalidades basadas en IA en sus aplicaciones.
La API es compatible con diversos lenguajes de programación, incluido Python, que es el que utilizaremos aquí para mostrarte cómo empezar a utilizar el modelo de lenguaje grande de Gemini Pro.
Aspectos básicos de Gemini
Gemini de Google es un conjunto de modelos de IA diseñados para manejar una amplia gama de tareas, incluida la generación de contenidos y la resolución de problemas con entradas de texto e imágenes.
Aquí tienes una breve descripción de los diferentes modelos de Gemini a los que puedes acceder fácilmente a través de las API:
Precios de la API Gemini
En el momento de escribir este artículo, la API Gemini Pro es de uso gratuito, sin embargo, mi instinto me dice que pronto introducirán un precio basado en tokens, como se puede ver en la siguiente captura de pantalla tomada de su sitio web.
Empezando con Gemini Pro y Python
Empecemos ahora con la construcción de funcionalidades LLM básicas utilizando Gemini Pro API y Python. Le mostraremos cómo obtener una clave API y luego utilizar los LLMs Gemini relevantes en Python.
Obtención de la clave API de Google AI Studio
Google AI Studio es una herramienta gratuita basada en web que te permite desarrollar rápidamente instrucciones y obtener una clave de API para el desarrollo de aplicaciones. Puedes acceder a Google AI Studio con tu cuenta de Google y obtener tu clave API desde aquí.
Recuerda guardar la clave en algún lugar seguro y NO exponerla en una plataforma pública como GitHub.
Google Gemini Pro aún no es accesible en todos los países, pero se espera que esté disponible pronto en caso de que aún no puedas acceder a él, o podrías utilizar una VPN.
Uso de la API Gemini Pro con Python para entradas de texto
Para empezar a usar la API Gemini Pro, necesitamos instalar el paquete google-generativeai
desde PyPI o GitHub
pip install -q -U google-generativeai
Ahora he guardado mi clave API en un archivo YAML para poder cargarla y no tener que exponer la clave en mi código públicamente en ningún sitio. Cargo este archivo y cargo mi clave API en una variable de la siguiente manera.
import yaml
with open('gemini_key.yml', 'r') as file:
api_creds = yaml.safe_load(file)
GOOGLE_API_KEY = api_creds['gemini_key']
El siguiente paso es crear una conexión con el modelo Gemini Pro a través de la API de la siguiente manera, donde primero hay que utilizar su API para establecer una configuración y luego cargar el modelo (o más bien crear una conexión con el modelo en los servidores de Google).
import google.generativeai as genai
genai.configure(api_key=GOOGLE_API_KEY)
model = genai.GenerativeModel('gemini-pro')
¡Ya estamos listos para empezar a utilizar Gemini Pro! Vamos a realizar una tarea básica de obtención de información.
response = model.generate_content("Explain Generative AI with 3 bullet points")
to_markdown(response.text)
La función to_markdown(...)
hace que la salida de texto tenga un aspecto más bonito y puedes obtener la función de los documentos oficiales o utilizar mi cuaderno Colab.
Intentemos ahora un ejemplo más práctico, imagina que estás automatizando el soporte IT a través de múltiples regiones con diferentes idiomas.
Haremos que el LLM intente detectar el idioma de origen del problema del cliente, lo traduzca al inglés y responda en el idioma original del cliente.
it_support_queue = [
"I can't access my email. It keeps showing an error message. Please help.",
"Tengo problemas con la VPN. No puedo conectarme a la red de la empresa. ¿Pueden ayudarme, por favor?",
"Mon imprimante ne répond pas et n'imprime plus. J'ai besoin d'aide pour la réparer.",
"Eine wichtige Software stürzt ständig ab und beeinträchtigt meine Arbeit. Können Sie das Problem beheben?",
"我无法访问公司的网站。每次都显示错误信息。请帮忙解决。"
]
it_support_queue_msgs = f"""
"""
for i, msg in enumerate(it_support_queue):
it_support_queue_msgs += "\nMessage " + str(i+1) + ": " + msg
prompt = f"""
Act as a customer support agent. Remember to ask for relevant information based on the customer issue to solve the problem.
Don't deny them help without asking for relevant information. For each support message mentioned below
in triple backticks, create a response as a table with the following columns:
orig_msg: The original customer message
orig_lang: Detected language of the customer message e.g. Spanish
trans_msg: Translated customer message in English
response: Response to the customer in orig_lang
trans_response: Response to the customer in English
Messages:
'''{it_support_queue_msgs}'''
"""
Ahora que tenemos un prompt listo para entrar en el LLM ¡ejecutémoslo!
response = model.generate_content(prompt)
to_markdown(response.text)
Muy bonito. Estoy seguro de que con información más detallada o un sistema RAG, las respuestas pueden ser aún más relevantes y útiles.
Uso de la API Gemini Pro Vision con Python para entradas de texto e imágenes
Google ha lanzado un LLM multimodal Gemini Pro Vision que puede tomar texto e imágenes como entrada y devolver texto como salida.
Recuerde que se trata de un LLM que sólo genera texto. Utilicémoslo en un caso de uso sencillo: comprender una imagen y crear una pequeña historia a partir de ella.
Primero cargamos la imagen.
import PIL.Image
img = PIL.Image.open('cat_pc.jpg')
img
Después cargamos el modelo Gemini Pro Vision
y le enviamos la siguiente pregunta para obtener una respuesta.
model = genai.GenerativeModel('gemini-pro-vision')
prompt = """
Describe the given picture first based on what you see.
Then create a short story based on your understanding of the picture.
Output should have both the description and the short story as two separate items
with relevant headings
"""
response = model.generate_content(contents=[prompt, img])
to_markdown(response.text)
En general, no está nada mal. Aunque probablemente he visto que GPT-4 con DALL-E puede reconocer el juego como Animal Crossing, que es aún más precisa. Pero bastante bien, diría yo.
También puedes usar Gemini Pro para construir experiencias de chat interactivas. Esto implica enviar mensajes a la API y recibir respuestas, soportando conversaciones de varios turnos. No dudes en consultar la documentación detallada de la API para ver algunos ejemplos.
Conclusión
En conclusión, tanto si eres un desarrollador de IA experimentado como si acabas de empezar, Gemini Pro de Google y Python proporcionan una forma bastante sencilla y potente de incorporar IA de vanguardia a tus aplicaciones y proyectos. Además, la disponibilidad actual de la API Gemini Pro de forma gratuita es una invitación a explorar las capacidades de los LLM de IA sin inversión inicial.
Aunque se prevén futuros cambios en los precios, la oportunidad de empezar a construir con una herramienta tan potente sin coste alguno es toda una ganga.
Esperamos que te hayas hecho una idea de cómo obtener tu clave API a través de Google AI Studio para ejecutar tu primer script Python con la API Gemini Pro en muy poco tiempo. Ahora sigue adelante e intenta aprovecharla en tus propios problemas y proyectos.