User Tools

Site Tools


comentarios_de_openai_a_partir_de_un_.csv

This is an old revision of the document!


Instalación de Dependencias:

Instalar 'pip' para traer las dependencias

sudo apt install python3-pip

Instalar la librería OpenAI

pip install openai

Configuración de Variables de Entorno:

Crear las variables de entorno durante la sesión

export OPENAI_API_KEY=sk-tuClaveSecretaAqui

Configuración Permanente de Variables de Entorno:

Editar el archivo de entorno

sudo nano /etc/environment

Reiniciar el sistema para aplicar los cambios

sudo reboot

Comprobar las variables de entorno

env

El programa en sí

El código genera un comentario corto en base a las últimas 14 líneas de un archivo .csv con la cotización del dolar paralelo, que encuentra en internet (es de otro servicio que corre en otra VM y queda accesible desde internet).

Lo piola es que uno podría por ejemplo pasarle otros resultados y decirle “redactame un párrafo en base a estos resultados” y enviarlo por mail. Lo interesante acá es poder hacer datos –> openai –> app

Este es el código:

= main.py
import requests
from openai import OpenAI
 
client = OpenAI()
 
# Obtener los últimos 14 valores del archivo CSV desde la URL
url = "https://repo.facundoitest.space/usdPagano/historial.csv"
response = requests.get(url)
lines = response.text.splitlines()[-14:]
 
# Formatear las líneas y truncar los números a un entero
formatted_lines = []
for line in lines:
    date, value = line.split(',')
    # Truncar los números a enteros
    value = int(float(value))
    formatted_line = f"{date},{value}"
    formatted_lines.append(formatted_line)
 
# Unir las líneas formateadas con punto y coma y espacio
last_14_lines = "; ".join(formatted_lines)
 
# Crear el prompt con el contenido del archivo CSV
prompt = f"crea un breve comentario (menos de 140 caracteres) sobre el comportamiento de la devaluada moneda local (peso argentino) frente al dólar. En lo posible abusa de emojis y hashtags. Necesito que el sentimiento surja del valor más reciente, el de hoy, y que lo mencione en el mensaje, tipo 'wow, dolar a 1000, quien lo hubiera pensado'. Si la cotizacion baja, debería expresar cierto alivio y esperanza. Si la cotización sube, al contrario. Estos son los valores de la última semana {last_14_lines}"
 
# Llamada a la API de OpenAI
apiresponse = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "system", "content": "You are a somewhat angry but hopeful Twitter user."},
        {"role": "user", "content": prompt}
    ],
    max_tokens=200,  # Ajusta este valor según tus necesidades
)
# Guardar la respuesta en un archivo de texto
with open("output.txt", "w", encoding="utf-8") as file:
    file.write(apiresponse.choices[0].message.content + '\n')

Ejecutar el script Python

python3 main.py

La respuesta se parece a esto:

facundo@openai:~/weeklyPost$ cat output.txt

¡El peso argentino sigue luchando contra el dólar! 😡 Hoy, la cotización sigue bajita, ¡un alivio y una esperanza para todos! 💪🇦🇷 #PesoArgentinoDevaluado #DólarEnDescenso 😌✨

Configuración de Crontab:

Setear la hora para que crontab corra a la hora justa

sudo timedatectl set-timezone America/Argentina/Buenos_Aires 

Crear el script de actualización

nano update.sh

Contenido de update.sh:

= update.sh
#!/bin/bash
cd /home/facundo/weeklyPost
python3 main.py

Configurar la tarea recurrente en crontab (Ejemplo: 22:30 todos los días)

crontab -e

30 22 * * * /home/facundo/weeklyPost/update.sh

Integración con Telegram:

# Crear el script para enviar mensajes a Telegram
nano sendmsg.sh

Contenido de sendmsg.sh:

= sendmsg.sh
#!/bin/bash
 
TOKEN="160*********90:AAGGHbwa******************-iRUn2bOUsHympz6rI"
ID="-47*******"
current_time=$(date +%H%M)
current_date=$(date +%m%d)
MSG="Buenas! El resultado de hoy y en glorioso jpg. Ahora como buen argentino también opina https://repo.facundoitest.space/usdPagano/latest.jpg?v=${current_date}-${current_time} $(cat /home/facundo/weeklyPost/output.txt)"
URL="https://api.telegram.org/bot$TOKEN/sendMessage"
 
curl -s -X POST $URL -d chat_id=$ID -d text="$MSG"
comentarios_de_openai_a_partir_de_un_.csv.1700945878.txt.gz · Last modified: 2024/10/17 21:42 (external edit)