Ofender humano 1

Ofender al Humano con ChatGPT

En el peculiar y a veces surrealista mundo de la inteligencia artificial, nos embarcamos hoy en un proyecto tan intrigante como divertido: “Ofender al Humano con ChatGPT”. Este artículo presenta un viaje al lado oscuro, aunque hilarante, de la IA, en donde nosotros, los osados desarrolladores, crearemos un programa con Python y ChatGPT para bromear, desafiar y hasta ofender (con un toque cómico) a los usuarios.

Al sumergirnos en este fascinante proyecto, recordemos que hay tres personajes principales en nuestro relato. Primero estamos nosotros, los programadores, los titiriteros de este entramado cómico-científico. Por supuesto, tenemos que tener un objeto para nuestras bromas: el segundo personaje, el incauto humano, que será sometido a preguntas chistosas de ciencia y podría terminar siendo blanco de nuestras inocentes ofensas. Finalmente, tenemos a nuestro comodín, el programa ChatGPT, que será el ejecutor de nuestras pícaras intenciones.

En este triángulo humorístico, el papel de cada uno es simple. Nosotros, los programadores, concebimos y programamos las ideas. El humano, por su parte, brinda la materia prima para el humor al responder a las interrogantes, y puede ser elogiado o insultado según sus respuestas. ChatGPT, la IA con la que hemos decidido colaborar, será el maestro de ceremonias, el mensajero de nuestras travesuras programáticas.

Recuerda, sin embargo, que detrás de cada ofensa lanzada por ChatGPT, somos nosotros, los programadores, quienes tiramos de las cuerdas. Es un acto de ofender al humano de forma indirecta, a través del velo de la inteligencia artificial. No hay que tomarlo demasiado en serio, pues este programa es puramente para el entretenimiento y la risa, y cualquier ‘estupidez’ o elogio que provenga de él es solo una reflexión de nuestros designios humorísticos.

Entonces, ¿estás listo para reírte (o tal vez ofenderte) mientras exploramos el límite entre la ciencia, el humor y la inteligencia artificial? Bienvenido al salvaje, intrigante, y sin duda hilarante mundo de “Ofender al Humano con ChatGPT”.

Paso 1: Instalación de dependencias

Necesitaremos instalar varias bibliotecas y herramientas para este proyecto. Las principales son:

  • openai: Este es el paquete oficial de Python para trabajar con la API de GPT-3 de OpenAI.
  • Flask: Un microframework web de Python que utilizaremos para crear la interfaz de usuario de nuestro programa.
  • jsonify: Un componente de Flask que nos permite convertir fácilmente datos de Python en JSON.
  • pandas: Una biblioteca de análisis y manipulación de datos para Python.

Puedes instalar todas estas bibliotecas utilizando pip, el administrador de paquetes de Python. En tu terminal, ejecuta el siguiente comando:

pip install openai flask jsonify pandas

Paso 2: Crear el archivo de Python y codificar el programa

Una vez que tengas todas las dependencias instaladas, puedes comenzar a desarrollar tu programa. Para hacerlo:

  • Crea un nuevo archivo de Python (por ejemplo, main.py).
  • Importa todas las bibliotecas necesarias.
  • Configura una aplicación Flask y define algunas rutas para manejar las solicitudes de los usuarios.
  • Configura la API de OpenAI, y escribe la lógica para generar preguntas científicas humorísticas y para responder a las respuestas del usuario.

Este código requerirá algún conocimiento de cómo funciona la API de OpenAI y cómo construir una aplicación web con Flask.

Paso 3: Prueba las preguntas y respuestas

Una vez que hayas terminado de escribir el código de tu programa, debes probarlo para asegurarte de que todo funcione como se espera. Ejecuta la aplicación Flask, abre la interfaz de usuario en un navegador web y empieza a interactuar con el sistema.

  • Haz preguntas científicas y observa las respuestas que genera el sistema.
  • Prueba diferentes tipos de respuestas para asegurarte de que el programa responde adecuadamente tanto a las respuestas correctas como incorrectas.
  • Asegúrate de que todas las partes del programa funcionen juntas sin problemas.

Estos son los pasos básicos que necesitarás seguir para desarrollar tu propio “Ofender al Humano con ChatGPT”. Recuerda, la diversión y el aprendizaje están garantizados en cada línea de código que escribas. ¡Buena suerte y diviértete codificando!

Pasa 4: Obtener la key de openia: https://platform.openai.com/

Instalamos el programa y dependencias

Instalamos python

Creamos una carpeta que le llamaremos ofenderHumano y creamos el archivo main.py
Nos movemos dentro de la carpeta e instalamos las dependencias

pip install openai flask jsonify pandas

Código en Python main.py

# IMPORTAMOS LOS MÓDULOS NECESARIOS
from flask import Flask, render_template, request, session, jsonify
import pandas as pd
import random
import openai

# INICIAMOS LA APLICACIÓN FLASK
app = Flask(__name__)

# CONFIGURAMOS LA LLAVE SECRETA PARA LA SESIÓN
app.config['SECRET_KEY'] = 'tusecretkey'

# CARGAMOS LAS PREGUNTAS Y RESPUESTAS DEL ARCHIVO CSV AL INICIO DEL PROGRAMA
df = pd.read_csv('preguntas.csv')
preguntas = df['pregunta'].tolist()
respuestas = df['respuesta'].tolist()

# RUTA PARA OBTENER LA PREGUNTA
@app.route('/pregunta', methods=['GET'])
def pregunta():
    # SI NO HAY UNA PREGUNTA Y UNA RESPUESTA ACTUAL EN LA SESIÓN, SELECCIONA UNA ALEATORIAMENTE Y LA ELIMINA DE LA LISTA DE PREGUNTAS Y RESPUESTAS
    if 'pregunta_actual' not in session or 'respuesta_actual' not in session:
        idx = random.choice(range(len(preguntas)))
        pregunta_seleccionada = preguntas[idx]
        respuesta_seleccionada = respuestas[idx]
        preguntas.pop(idx)
        respuestas.pop(idx)
        session['pregunta_actual'] = pregunta_seleccionada
        session['respuesta_actual'] = respuesta_seleccionada
    # DEVUELVE LA PREGUNTA ACTUAL
    return jsonify(pregunta=session['pregunta_actual'])

# RUTA PARA PROCESAR LA RESPUESTA
@app.route('/respuesta', methods=['POST'])
def respuesta():
    # OBTIENE LA RESPUESTA ENVIADA POR EL USUARIO
    respuesta_usuario = request.form.get('respuesta_txt')
    openai.api_key = "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"
    model_engine = "gpt-3.5-turbo"
    # CONFIGURAMOS LA INTERACCIÓN CON EL MODELO DE OPENAI
    sistema = f'Soy un modelo de evaluación. Vas a hacer esta pregunta "{session["pregunta_actual"]}" y esta es la respuesta correcta "{session["respuesta_actual"]}". Comparando la respuesta del usuario con la correcta, solo debes decir "bien" si la respuesta del usuario es correcta o "mal" si no lo es.'
    
    # CREAMOS LA CONVERSACIÓN CON EL MODELO DE OPENAI
    response = openai.ChatCompletion.create(
    model=model_engine,
    messages=[
            {"role": "system", "content": sistema},
            {"role": "user", "content": "Respuesta del usuario: "+respuesta_usuario},
        ]
    )

    respuesta_modelo = ""
    # OBTENEMOS LA RESPUESTA DEL MODELO
    for message in response['choices'][0]['message']['content']:
        respuesta_modelo += message

    # REEMPLAZAMOS CIERTOS CARACTERES
    respuesta_modelo = respuesta_modelo.replace("\\n", "\n")
    respuesta_modelo = respuesta_modelo.replace("\\", "")

    # ELIMINAMOS LA PREGUNTA Y RESPUESTA ACTUAL DE LA SESIÓN
    session.pop('pregunta_actual', None)
    session.pop('respuesta_actual', None)

    # DEVOLVEMOS LA RESPUESTA DEL MODELO
    return jsonify(respuesta=respuesta_modelo)

# RUTA DE INICIO
@app.route('/')
def home():
    # RENDERIZAMOS LA PÁGINA DE INICIO
    return render_template('home.html')

# EJECUTAMOS LA APLICACIÓN
if __name__ == '__main__':
    app.run(debug=True)

preguntas.csv

"pregunta","respuesta"
"¿Qué hace un átomo cuando le toman una foto?", "Se pone positivo para que la imagen salga electrizante!"
"¿Por qué los físicos no pueden jugar al escondite?", "Porque siempre saben donde están las partículas escondidas."
"¿Por qué los biólogos no hacen bromas con el ADN?", "Porque no quieren forzar la helice."
"¿Qué le dijo la placa tectónica a la otra placa tectónica cuando se encontraron en un terremoto?", "¡Nos vemos en la falla!"
"¿Cómo suena una neurona?", "Sinapsis sinapsis."
"¿Qué tipo de peces realizan las operaciones más precisas?", "El cirujano de pescados."
"¿Por qué el libro de matemáticas se deprimió?", "Porque tenía demasiados problemas."
"¿Cómo llama un químico a un chiste malo?", "Una reacción no prevista."
"¿Por qué las plantas odian las matemáticas?", "Porque les da problemas con las raíces cuadradas."
"¿Por qué los físicos nunca pueden empezar una carrera?", "Porque siempre se quedan en la línea de salida calculando la velocidad y la aceleración."

Probamos nuestro programa con postman

Descargamos postman aqui Download Postman | Get Started for Free y lo abrimos y ponemos la url http://127.0.0.1:5000/pregunta para obtener la pregunta

Ahora obtenemos la respuesta con esta url http://127.0.0.1:5000/respuesta?respuesta=no se pero en post

Codigo en github: GitHub – programadornovato/JuegoOfenderChatGPT

Los comentarios están cerrados.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad
Salir de la versión móvil