Skip to content

peerreez/llm-ticket-evaluation

Repository files navigation

🧠 LLM-Based Ticket Reply Evaluation

Este proyecto evalúa automáticamente respuestas generadas por inteligencia artificial (IA) ante tickets de soporte, utilizando un modelo de lenguaje grande (LLM) de OpenAI como GPT-4o.


🎯 Objetivo

Dado un archivo tickets.csv con:

  • ticket: mensaje de un cliente (ficticio)
  • reply: respuesta generada por un sistema de IA

El script evalúa cada respuesta en dos dimensiones:

Dimensión Criterios
Contenido Relevancia, corrección, completitud
Formato Claridad, estructura, gramática y ortografía

Y genera un archivo tickets_evaluated.csv con las siguientes columnas adicionales:

  • content_score (1-5)
  • content_explanation
  • format_score (1-5)
  • format_explanation

📁 Estructura del Proyecto

llm_ticket_evaluator/
├── evaluate_tickets.py       # Script principal
├── tickets.csv               # Archivo de entrada con los tickets
├── tickets_evaluated.csv     # Archivo de salida generado
├── .env                      # Clave de API (NO se sube)
├── requirements.txt          # Dependencias del proyecto
└── README.md                 # Este archivo

⚙️ Requisitos

  • Python 3.8 o superior
  • Cuenta en OpenAI y clave de API válida
  • Paquetes: openai, pandas, python-dotenv

🚀 Instrucciones para ejecutar

1. Clonar o descargar el repositorio

git clone https://github.com/peerreez/llm-ticket-evaluation.git
cd llm-ticket-evaluation

2. (Opcional) Crear entorno virtual

python -m venv venv
source venv/bin/activate        # Linux/macOS
venv\Scripts\activate         # Windows

3. Instalar dependencias

pip install -r requirements.txt

4. Crear archivo .env con tu clave de OpenAI

Crea un archivo llamado .env y añade:

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

5. Colocar tickets.csv en la raíz del proyecto

Debe tener estas dos columnas:

  • ticket
  • reply

6. Ejecutar el script

python evaluate_tickets.py

Esto generará un archivo tickets_evaluated.csv con las evaluaciones por fila.


📤 Salida esperada

Ejemplo de columnas en tickets_evaluated.csv:

ticket reply content_score content_explanation format_score format_explanation
... ... 4 The reply addresses all main concerns clearly... 5 Well-structured and grammatically correct.

🧑‍💻 Autor

David Perez Sanchez
Data & AI Engineer
www.linkedin.com/in/david-pérez-sánchez-web3 https://github.com/peerreez

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages