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_explanationformat_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-evaluationpython -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windowspip install -r requirements.txtCrea un archivo llamado .env y añade:
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Debe tener estas dos columnas:
ticketreply
python evaluate_tickets.pyEsto 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 Pérez Sánchez
Data & AI Engineer
- LinkedIn: linkedin.com/in/david-pérez-sánchez-web3
- GitHub: github.com/peerreez