Vamos a programar algún script Python para nuestra hoja de cálculo de Google, y claro, vamos utilizar la API de OpenAI para que la inteligencia artificial nos ayude a realizar algunas operaciones. Necesitaremos acceso a Google Sheets y al complemento Neptyne, (aquí está el truco) pero una vez que lo tengamos instalado, no llevará más de 5 minutos tener nuestro primer código Python funcionando en Google Sheets. Instalar la extensión Neptyne.
Primeros pasos Python en tu Google Sheet : Hola Mundo
Paso 1: Instalación de la Extensión
Antes de comenzar, debemos asegurarnos de tener una hoja de Google abierta y lista para usar.
- Abre tu hoja de Google Sheets.
- En la barra de herramientas de la hoja, haz clic en «Extensiones.»
- Selecciona «Neptyne: Python para hojas» en el menú desplegable.
- Aparecerá una opción para «Show Code Editor / Mostrar editor de código.» Haz clic en esta opción.
Nota: La extensión puede tardar uno o dos minutos en aparecer en la lista de extensiones. Si no la ves, intenta actualizar la página y verifica nuevamente.
Paso 2: Nuestra primera Función de Python
- Una vez que hayas hecho clic en «Mostrar editor de código,» se abrirá un panel de código en la barra lateral.
- Copia y pega la siguiente función de Python en la parte superior del panel:
def decir_hola(a_quien):
return "Hola " + (a_quien or "mundo")
Podemos probar la función en el propio editor, en este ejemplo, en la parte inferior de la barra lateral, encontrarás un entorno de ejecución de Python REPL. Prueba tu función escribiendo el siguiente comando en el REPL:
decir_hola() # Esto debería imprimir "Hola mundo" en la salida.
decir_hola("Manolete") # Esto debería imprimir "Hola Manolete" en la salida.
Paso 3: Configuramos un un Valor en A1
- En tu hoja de Google Sheets, ve a la celda A1.
- Escribe el valor «Manolete» en la celda A1.
- Tenemos una nueva formula llamada PY que nos permite llamar a la función de Python «decir_hola», en la celda B1, escribe la siguiente fórmula:
=PY("decir_hola"; A1)
Esta fórmula utilizará la extensión Neptyne para llamar a la función Python decir_hola
con el valor de la celda A1 como argumento. Si lo copias de este código y has seguido los pasos te funcionará. Cambia los valores de A1 y veras como la celda actúa como variable de nuestra función python.
Inteligencia Artificial en Google Sheet con Python
Creando una Receta con OpenAI en Google Sheets usando Python
Para utilizar la API de OpenAI desde Google Sheets a través de Neptyne para generar una receta, seguiremos estos pasos:
- Paso 1: Registro en OpenAI y Obtención de Clave API. Si aún no lo ha hecho, regístrate en OpenAI y obtenga una clave de API. Puede hacerlo a través del panel de control de OpenAI.
- Paso 2: Crea una Nueva Hoja de Google. Abre una nueva hoja de Google en su cuenta.
- Paso 3: Abrir el Editor de Código Neptyne. Dentro de la hoja de Google, abra el editor de código Neptyne, recuerda que esto está en extensiones.
- Paso 4: Ingresar el Código. Ingresa el siguiente código en el editor de código de Neptyne:
def call_open_ai(prompt):
openai.api_key = nt.get_secret("open-ai-key")
completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user",
"content": prompt}]
)
choices = completion.get("choices")
if not choices:
return None
return choices[0]["message"]["content"]
- Paso 5: Administrar la Clave API para que no esté visible. Para mantener segura tuclave de API, no la ingreses directamente en el código. En su lugar, obtenga esta clave de la «Manage Secrets » de Neptyne. Sigue estos pasos:
- Vete al menú Neptyne y elije «Manage Secrets».
- Crea un variable y llámalo «open-ai-key».
- Ingresa el valor de su clave de API que obtuvo de OpenAI como el contenido del secreto.
- Paso 6: Creamos la Aplicación para Generar una Receta. Agregamos la información sobre lo que deseamos cocinar, cuánto tiempo tiene y una lista de ingredientes a la hoja de cálculo. Sigue estos pasos:
- Agrega en una celda, por ejemplo, en C1, lo que desea cocinar (ejemplo: «Pastel»).
- En otra celda, por ejemplo, en C2, ingrese el tiempo disponible para cocinar (ejemplo: «30 minutos»).
- En el rango de celdas C3:C17, ingrese la lista de ingredientes necesarios para la receta.
- Paso 7: Agrega el Código para Generar la Receta. En el editor de código Neptyne, agregue el siguiente código para generar una receta:
def crear_receta(what, pre_time, ingredients):
prompt = (
"Dados estos ingredientes:\n\n"
+ ", ".join(ingredients)
+ " Crea una receta para "
+ what
+ " que lleve "
+ pre_time
+ " preparar."
)
return call_open_ai(prompt)
- Paso 8: Agregar la Fórmula a E1. En la celda E1, agregamos la siguiente fórmula para generar la receta, esto tardará unos segundos, pero debería ver una receta generada en la celda E1. Puede ajustar el tamaño de la celda fusionándola con las vecinas para obtener un área de trabajo de tamaño razonable y ¡ahora podrá cocinar!
=PY("crear_receta"; C1; C2; C3:C17)
Utilizar Python dentro de Google Sheets: Neptyne
Estos y otros ejemplos los tienes en la web del desarrollador, con tutoriales y bastantes guias para instalar paquetes. La versión gratuíta permite muchas opciones, pero ofrecen alguna solución no muy cara si consideras hacer un uso intensivo.
Estas son las principales carácteristicas de la extensión:
- Rapidez y Simplicidad: Neptyne es una forma rápida y sencilla de agregar funcionalidad adicional a sus hojas de cálculo de Google Sheets. Le brinda acceso completo a Python, lo que significa que puede importar cualquier biblioteca o módulo que necesite para sus tareas.
- Administrador de Paquetes Integrado: Si necesita bibliotecas adicionales que no estén instaladas, Neptyne ofrece un administrador de paquetes integrado en Google Sheets, lo que facilita la obtención de las herramientas que requiere.
- Spilling: Una característica destacada de Neptyne es el Spilling. Cuando una función Python devuelve múltiples valores, estos valores se distribuyen automáticamente en celdas adyacentes en su hoja de cálculo. Esto facilita la reutilización del código en tareas de ciencia de datos y mejora la eficiencia.