WEB3DEV Español

Cover image for Cómo Usar la API de ChatGPT para Interacciones Directas desde Colab o Databricks
Hector
Hector

Posted on • Updated on

Cómo Usar la API de ChatGPT para Interacciones Directas desde Colab o Databricks

¿Te has preguntado cómo puedes usar la API de OpenAI para interactuar directamente con los algoritmos de GPT? Es fácil, gratis y también más poderoso que la interfaz de la web “clásica” en www.openai.com. En el siguiente tutorial, ¡te guiaré a través de algunos pasos simples que te permitirán usar GPT para generación de textos, creación de imágenes o debuggear tu código!

Image description

Como el uso y soluciones de ChatGPT y otros procesos de lenguaje natural (natural language processing, NLP) crece, también crecen los números de herramientas y plataformas que permiten a los usuarios interactuar con estas herramientas de vanguardia. Una de las opciones más populares es es la interfaz de web OpenAI, la cual ha recibido numerosos elogios por su habilidad para manejar casos NLP complejos.

Sin embargo, hoy exploraremos una alternativa: el API de ChatGPT. Este artículo está dividido en tres partes principales:

  1. Configura tu cuenta OpenAI y crea una clave API
  2. Establece la conexión general desde Google Colab
  3. Intenta diferentes pedidos: generación de textos, creación de imágenes y reparación de bugs.

Por favor toma en cuenta: aunque este tutorial fue hecho usando Google Colab (gratuito), es posible que quieras intentar otros entornos. Por ejemplo, todo el código también fue aplicado en Databricks,.

1: Configura tu cuenta OpenAI y crea una clave API

Para interactuar los algoritmos GPT, necesitas crearte una cuenta de OpenAI (es gratuito): https://platform.openai.com/signup/

Una vez que te hayas registrado y conectado, necesitarás crear una clave API que te permitirá enviar pedidos a OpenAI desde servicios tercerizados como Google Colab o Databricks. Navega a la sección “View API Key” a través del menú de usuario o usa el siguiente link: https://platform.openai.com/account/api-keys.

En esta sección, haz click en “Create a new secret key” y guarda la clave creada en algún lugar en tu computadora (¡la necesitarás muy pronto!).

Image description

Por favor toma en cuenta que la API de ChatGPT está ofreciendo pruebas de cuentas gratuitas (al menos por ahora) con pedidos limitados y tokens per minute (tokens por minuto). Mira los límites de tarifa abajo: [1]

  • Usuarios con cuentas de prueba gratuitas: 20 RPM 40000 TPM
  • Usuarios pay as you go (las primeras 48 horas): 60 RPM 60000 TPM
  • Usuarios pay as you go (después de 48 horas): 3500 RPM 90000 TPM

(RPM = pedidos por minutos, requests per minute; TPM = tokens por minuto, tokens per minute)

2: Establece la conexión general desde Colab

La forma más fácil y directa de probar la API es usando Google Colaboratory(“Colab”), lo cual es algo así como “un entorno notebook Jupyter gratuito que no requiere configuración y se ejecuta totalmente en la nube. Aunque hay muchos entornos más profesionales, deberías explorar (por ejemplo, Databricks), y pienso que Colab no es un mal servicio para tomar tus primeros pasos con el API de ChatGPT.

Para configurar un entorno básico para ChatGPT con Colab, puedes hacer los siguientes pasos:

  1. Abre https://colab.research.google.com/ y registra una cuenta gratuita
  2. Crea un nuevo notebook dentro de Colab
  3. Instala y usa el paquete openai:
pip install openai
Enter fullscreen mode Exit fullscreen mode

Para ejecutar un pedido de chat simple al API usando el modelo turbo GPT 3.5 (mira otros modelos similares en su documentación que estará linkeado al final de este artículo), similar a lo que sabes de la interfaz de la web de OpenAI, puedes simplemente ejecutar las siguientes líneas de código en tu notebook:

import os
import openai

openai.api_key = "please-paste-your-API-key-here"

openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "Hello ChatGPT, does this work?"}
]
)
Enter fullscreen mode Exit fullscreen mode

Tan pronto como ejecutes el comando en Colab, ¡recibirás un objeto JSON como respuesta que contiene la respuesta esperada! (Eso fue fácil, ¿cierto?)

¡Hola! Como un modelo IA de lenguaje, no tengo el contexto a lo que \”esto”\ se refiere. ¿Podrás por favor especificar a lo que te estás refiriendo para que te pueda ayudar?

<OpenAIObject chat.completion id=chatcmpl-70ErnAfGGwU7GhMXzCcLGyUvr4hA2 at 0x7f097f0a5f40> JSON: {
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "Hello! As an AI language model, I don't have the context of what \"this\" refers to. Could you please specify what you are referring to so I can assist you better?",
"role": "assistant"
}
}
],
"created": 1680291503,
"id": "chatcmpl-70ErnAfGGwU7GhMXzCcLGyUvr4hA2",
"model": "gpt-3.5-turbo-0301",
"object": "chat.completion",
"usage": {
"completion_tokens": 38,
"prompt_tokens": 17,
"total_tokens": 55
}
}
Enter fullscreen mode Exit fullscreen mode

Además, el objeto JSON provee información sobre el número de tokens usados y la razón para el final del pedido. Si sólo quieres imprimir la respuesta del texto, puedes acceder a este elemento, modificando ligeramente tu código:

import os
import openai

openai.api_key = "please-paste-your-API-key-here"

response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "Hello ChatGPT, does this work?"}
]
)

print(response.choices[0].message.content)
Enter fullscreen mode Exit fullscreen mode

3: Intenta diferentes pedidos: generación de textos, creación de imágenes y reparación de bugs

Si estás tan emocionado como yo cuando descubrí esto, puedes comenzar enviando muchos pedidos diferentes al API. Una forma similar para modularizar tu código es crear algunas funciones útiles que quieras llamar para diferentes propósitos. Déjame darte algunas ideas.

Función para chatear usando ChatGPT

El siguiente código simplemente resume el trabajo hecho en una función llamable que te permite hacer cualquier pedido a GPT y obtener únicamente la respuesta del texto como resultado.

import os
import openai

openai.api_key = "please-paste-your-API-key-here"

def chatWithGPT(prompt):
completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": prompt}
]
)
return print(completion.choices[0].message.content)
Enter fullscreen mode Exit fullscreen mode

¿Piensas que tiene sentido aprender python? ¡Preguntémosle a GPT!

chatWithGPT("is it a good idea to start learning python?")
Enter fullscreen mode Exit fullscreen mode

Como un modelo IA de lenguaje, no te puedo proveer opiniones personales, pero te puedo decir que Python es un lenguaje de programación popular y enormemente usado que es muy favorecido tanto por los principiantes y desarrolladores experimentados. Tiene una vasta comunidad de apoyo, un gran número de bibliotecas y una sintaxis simple que permite una forma fácil de entrar a la programación para los novatos. Es útil para diferentes aplicaciones como los análisis de datos, desarrollo de la web, machine learning y más. Por lo tanto, puede que sea una buena idea empezar a aprender Python si quieres iniciar una carrera en programación o quieres añadir otra habilidad a tu resumen.

Función para reparar bugs en tu código

Otro caso de uso para ChatGPT en obtener ideas para reparar tu código. Imagina que tu comando Python retorna con un error y quieres obtener consejos sobre qué hacer sin usar Google o StackOverflow:

import os
import openai

openai.api_key = "please-paste-your-API-key-here"

def fixMyCode(code):
completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "find error in my python script below and fix it: " + code}
]
)
return print(completion.choices[0].message.content)
Enter fullscreen mode Exit fullscreen mode

Mira mi código de python, me arrojó un error y no sé por qué…

fixMyCode("""

def some_function():
print("I'm going to sleep")
time.sleep(10)
print("I'm awake again")

some_function()

""")
Enter fullscreen mode Exit fullscreen mode

Image description

Sin sorprenderme, ChatGPT encontró inmediatamente que me había olvidado importar el módulo antes de usarlo. Esto puede ser muy útil en tu día a día, especialmente cuando puedes llamar para tener ayuda directamente desde el entorno de programación.

Función para crear imágenes

El último caso de uso que quiero presentar aquí es la creación de imágenes. El pedido en sí mismo retorna un hyperlink que contiene la imágen. Usando la biblioteca de IPhyton, puedes mostrar la imagen directamente en tu notebook.

import IPython
import os
import openai

openai.api_key = "please-paste-your-API-key-here"

def createImageWithGPT(prompt):
completion = openai.Image.create(
prompt=prompt,
n=1,
size="512x512"
)
return IPython.display.HTML("<img src =" + completion.data[0].url + ">")
Enter fullscreen mode Exit fullscreen mode

¡Seamos creativos y pidamos por un gato que usa un skateboard!

createImageWithGPT("Cat driving a skateboard")
Enter fullscreen mode Exit fullscreen mode

Image description

Resumen

Con el API de ChatGPT, los negocios e individuos pueden incorporar chatbots fácil y asequiblemente en sus flujos de trabajo sin tener el conocimiento técnico o grandes recursos que usualmente son necesarios. La API también puede ser usada para crear asistentes virtuales, tutores personales y más. Te recomiendo la documentación disponible en OpenAI para sus API: https://platform.openai.com/docs/api-reference.

En resumen, es fácil usar las API en tu entorno de programación. No solo esto puede ser muy útil para debuggear tu código directamente, pero también tiene que mostrar tiempos de respuestas más estables comparado con la interfaz de la web de OpenAI (algunas veces no está disponible). Con la habilidad de entender los idiomas naturales y volverse más inteligente con el tiempo, ChatGPT tiene el potencial de revolucionar la forma que los negocios interactúan con sus clientes y mejoran sus flujos de trabajo. ¡Inténtalo por ti mismo y experimenta el futuro de los chatbots!

Espero que lo encuentres útil. ¡Déjame saber lo que piensas! Y siéntete libre de conectarte en LinkedIn https://www.linkedin.com/in/jonas-dieckmann/ y/o sígueme aquí, en medium.

Este artículo es una traducción de Jonas Dieckmann, hecha por Héctor Botero. Puedes encontrar el artículo original aquí.
Sería genial escucharte en nuestro Discord, puedes contarnos tus ideas, comentarios, sugerencias y dejarnos saber lo que necesitas.
Si prefieres puedes escribirnos a @web3dev_es en Twitter.

Discussion (0)