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.
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
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
- Python 3.8 o superior
- Cuenta en OpenAI y clave de API válida
- Paquetes:
openai
,pandas
,python-dotenv
git clone https://github.com/peerreez/llm-ticket-evaluation.git
cd llm-ticket-evaluation
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
pip install -r requirements.txt
Crea un archivo llamado .env
y añade:
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Debe tener estas dos columnas:
ticket
reply
python evaluate_tickets.py
Esto generará un archivo tickets_evaluated.csv
con las evaluaciones por fila.
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. |
David Perez Sanchez
Data & AI Engineer
www.linkedin.com/in/david-pérez-sánchez-web3
https://github.com/peerreez