Como Integrar Gemini AI, MySQL y Python

Las aplicaciones con IA y una base de datos son más dinámicas.

Nos permite ir más allá de lo habitual y no solo crear aplicaciones con IA que den respuestas a las consultas.

En este tutorial te enseñaré a Como Integrar Gemini AI, MySQL y Python, vamos con ello.

Gemini AI interactuando con MySQL
MySQL es una potente base de datos relacional para trabajar con Gemini AI

Primero debemos instalar MySQL Connector.

Instalación de MySQL Connector

Para instalarlo ejecutamos el siguiente comando:

# Comando para instalar MySQL Connector 
pip install mysql-connector-python

Creación de Proyecto con Gemini AI y Python

Ve a este enlace de Google AI Studio y obtén una API KEY.

Instala el paquete google-generativeai con el siguiente comando:

# Comando para instalar el paquete 'google-generativeai' 
pip install google-generativeai

También necesitaremos de IPython, lo instalamos con el siguiente comando:

# Comando para instalar 'IPython' 
pip install ipython

Paso seguido creamos un archivo de Python.

Yo le colocaré el nombre app.py a mi archivo, tu le puedes poner el nombre que desees.

En el archivo app.py empezamos configurando Gemini AI (He colocado comentarios para explicar que hace cada línea de código):

# Importamos Gemini Pro 
import google.generativeai as genai

# importamos textwrap
import textwrap

# Importamos Markdown de IPython 
from IPython.display import Markdown

# Soporte Para Caracteres Especiales en la Terminal de Python 
import sys
sys.stdout.reconfigure(encoding='utf-8')

# Usamos el modelo generativo de la IA 
modelo = genai.GenerativeModel('gemini-pro')

# Configuramos la API KEY 
GOOGLE_API_KEY = 'ACA-PON-TU-API-KEY'
genai.configure(api_key=GOOGLE_API_KEY)

# Rebajamos el tamaño de la respuesta de la IA 
def rebajar(text):
  text = text.replace('•', '  *')
  return Markdown(textwrap.indent(text, '> ', predicate=lambda _: True))

# Obtenemos la respuesta 
respuesta = modelo.generate_content("Dame la receta de una sopa de pollo")
respuesta = respuesta.text 

# Imprimimos la respuesta 
print(respuesta + "\n")

Creación de Base de Datos

Para guardar los datos, necesitamos crear una base de datos.

Yo estoy usando XAMPP, un servidor local que viene con MySQL y una herramienta llamada phpMyAdmin.

La herramienta phpMyAdmin me permite crear manualmente una base de datos con sus tablas en MySQL.

Si no sabes como crear una base de datos manualmente en MySQL con phpMyAdmin, en este video te enseño a como hacerlo.

Para este proyecto he creado una base de datos llamada ai_data.

Y dentro de ella he creado una tabla llamada respuestas con los campos: id, nombre, detalles y created_at.

A continuación te comparto la estructura de la tabla creada:

Base de datos para nuestro proyecto
Puedes agregarle los campos que desees a tu tabla

Integración de Gemini AI, MySQL y Python

Ahora vamos a realizar la conexión de Python y Gemini AI con la base de datos MySQL (He colocado comentarios para explicar que hace cada línea de código):

# Importamos el conector MySQL
import mysql.connector

# Hacemos la conexión a la base de datos 
mibd = mysql.connector.connect(
  host = "localhost",
  user = "root",
  password = "",
  database = "ai_data"
)

# Guardamos la conexión en la variable 'cursor' 
cursor = mibd.cursor()

# Insertamos la respuesta de Gemini AI en la base de datos 
sql = "INSERT INTO respuestas (nombre, detalles) VALUES (%s, %s)"
valores = ("Respuesta de Gemini AI", respuesta)
cursor.execute(sql, valores)

# Confirmamos la operación
mibd.commit()

# Imprimimos un mensaje para confirmar que se realizo correctamente
print(cursor.rowcount, "Consulta guardada en la base de datos.")

Con ello tenemos todo listo para usar Gemini AI, MySQL y Python.

Probando la Aplicación

Lo que hará este proyecto es guardar cada consulta que le hagamos a la Inteligencia Artificial, es decir a Gemini AI.

Las consultas se almacenan en la tabla respuestas de la base de datos ai_data.

En el siguiente video te muestro el resultado de la aplicación y como se guardan las respuestas de Gemini AI en MySQL:

Código Completo del Proyecto

Te dejo a continuación el código completo del archivo app.py:

# Importamos Gemini Pro 
import google.generativeai as genai

# importamos textwrap
import textwrap

# Importamos Markdown de IPython 
from IPython.display import Markdown

# Soporte Para Caracteres Especiales en la Terminal de Python 
import sys
sys.stdout.reconfigure(encoding='utf-8')

# Usamos el modelo generativo de la IA 
modelo = genai.GenerativeModel('gemini-pro')

# Configuramos la API KEY 
GOOGLE_API_KEY = 'ACA-PON-TU-API-KEY'
genai.configure(api_key=GOOGLE_API_KEY)

# Rebajamos el tamaño de la respuesta de la IA 
def rebajar(text):
  text = text.replace('•', '  *')
  return Markdown(textwrap.indent(text, '> ', predicate=lambda _: True))

# Obtenemos la respuesta 
respuesta = modelo.generate_content("Dame la receta de una sopa de pollo")
respuesta = respuesta.text 

# Imprimimos la respuesta 
print(respuesta + "\n")

# Importamos el conector MySQL
import mysql.connector

# Hacemos la conexión a la base de datos 
mibd = mysql.connector.connect(
  host = "localhost",
  user = "root",
  password = "",
  database = "ai_data"
)

# Guardamos la conexión en la variable 'cursor' 
cursor = mibd.cursor()

# Insertamos la respuesta de Gemini AI en la base de datos 
sql = "INSERT INTO respuestas (nombre, detalles) VALUES (%s, %s)"
valores = ("Respuesta de Gemini AI", respuesta)
cursor.execute(sql, valores)

# Confirmamos la operación
mibd.commit()

# Imprimimos un mensaje para confirmar que se realizo correctamente
print(cursor.rowcount, "Consulta guardada en la base de datos.")

Así es como puedes integrar Gemini AI, MySQL y Python.

Conclusión

En este tutorial has aprendido a Como Integrar Gemini AI, MySQL y Python.

Te servirá de guía para tus proyectos con Gemini AI, MySQL y Python.

Recuerda siempre que solo con la práctica serás un mejor programador.

Nota(s)

  • No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.

Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.