Información general
GitHub Models proporciona un flujo de trabajo de evaluación sencillo que ayuda a los desarrolladores a comparar modelos de lenguaje grandes (LLM), refinar los mensaje y tomar decisiones controladas por datos dentro de la plataforma de GitHub. Puedes usar GitHub Models para experimentar con nuevas características o validar los cambios del modelo mediante el análisis del rendimiento, la precisión y el costo con herramientas de evaluación estructuradas.
Sugerencia
Puedes ejecutar evaluaciones directamente desde la línea de comandos mediante el comando gh models eval
. Usa los mismos evaluadores que la interfaz de usuario: coincidencia de cadena, similitud, evaluadores de LLM como juez personalizados, etc., por lo que puedes probar el archivo .prompt.yml
localmente o en CI.
Casos de uso de GitHub Models
El comportamiento del modelo puede variar ampliamente en función del mensaje, la entrada o la configuración. GitHub Models te ayuda a lo siguiente:
- Probar y comparar varios LLM con casos de uso realistas.
- Optimizar la expresión del mensaje, la temperatura y otros parámetros.
- Evaluar las salidas del modelo mediante métricas estructuradas repetibles.
- Integrar el desarrollo de inteligencia artificial en el flujo de trabajo de desarrollo.
Escenario de ejemplo
Considera un escenario en el que vas a crear una característica para resumir los comentarios de los clientes enviados mediante incidencias de soporte técnico. Estos resúmenes se usarán para generar informes y vales internos, por lo que la salida debe ser clara, relevante y concisa.
Queremos:
- Experimenta con diferentes modelos y configuraciones de mensajes.
- Evalúa la configuración de mejor rendimiento en función de la calidad, la coherencia y la eficacia.
- Guarda la configuración en el repositorio para reutilizarla y colaborar.
Pruebas de mensajes en el área de juegos
Para familiarizarte con cómo crear y administrar mensajes en GitHub Models, consulta Prueba de mensajes en el área de juegos.
El área de juegos te permite comparar modelos en paralelo, ajustar sus parámetros y probar variaciones de mensajes.
En este paso, configurarás un modelo a fin de generar resúmenes para los comentarios de atención al cliente. Definirás un mensaje del sistema, lo probarás con una entrada de ejemplo y lo refinarás para asegurarte de que la salida es concisa y relevante.
Definición del mensaje del sistema
Define el comportamiento del modelo para el objetivo actual. En este caso, el objetivo es resumir los comentarios de los clientes. En Parameters, escribe el mensaje del sistema siguiente:
You are a helpful assistant that summarizes support ticket responses into concise summaries.
Deja las opciones restantes en sus valores predeterminados.
Escribir un mensaje de usuario
Ahora que el modelo está configurado, escribe los siguientes comentarios del cliente en el cuadro de diálogo Prompt:
The app crashes every time I try to upload a PDF from my phone. It works on desktop but not on mobile.
El modelo puede generar una respuesta similar a la siguiente:
The user experiences consistent app crashes when attempting to upload a PDF from their phone. Uploading PDFs works normally on desktop. They request an investigation into the issue.
Definición de la variable de entrada
En este momento, la configuración genera un resumen claro y conciso. En la parte inferior del valor Parameters, haz clic en Create prompt.yml file para abrir la vista Prompt. El mensaje del sistema se rellenará automáticamente.
En el campo User prompt, escribe el siguiente mensaje:
Summarize the following: {{input}}
La variable {{input}}
actúa como marcador de posición que permite probar entradas diferentes (comentarios del cliente) sin modificar el mensaje cada vez. Cada entrada de prueba que agregas reemplazará {{input}}
cuando se ejecute la comparación.
Adición de entradas de prueba
En la parte superior de la vista Prompts, selecciona Compare para alternar la vista Comparisons. Esta vista te permite ejecutar comparaciones estructuradas en varios mensajes o modelos, y aplicar evaluadores para medir el rendimiento.
En la vista Comparisons, cada fila de la tabla representa un único caso de prueba, con una entrada específica y una salida esperada. Cada columna presenta una configuración de mensaje diferente para comparar el rendimiento de varios modelos o estilos de mensaje mediante evaluadores.
Haz clic en Add rows para escribir los datos de prueba. La entrada simula un mensaje de soporte técnico real y la salida esperada representa el resumen ideal que debe devolver el modelo. En la tabla siguiente se proporcionan entradas de prueba de ejemplo y sus salidas esperadas correspondientes para la evaluación.
Row | Entrada | Salida prevista |
---|---|---|
1 | La aplicación se bloquea cada vez que intento cargar un PDF desde mi teléfono. Funciona en el escritorio, pero no en dispositivos móviles. | El usuario informa de que la aplicación móvil se bloquea cada vez que intenta cargar un PDF, mientras que la versión de escritorio funciona sin problemas. |
2 | Me he puesto en contacto con el soporte técnico hace dos días y no he recibido ninguna respuesta. Necesito ayuda para recuperar mi cuenta lo antes posible. | El usuario espera la respuesta del soporte técnico y necesita urgentemente asistencia para la recuperación de la cuenta. |
3 | Agreguen el modo oscuro. Es muy difícil de usar por la noche. Me duelen los ojos después de un uso prolongado. | El usuario solicita el modo oscuro debido a la tensión ocular que sufre durante el uso por la noche. |
Ajuste de los parámetros del modelo
A la derecha de la tabla, haz clic en para agregar una nueva configuración de mensaje.
Dentro de la nueva configuración de mensaje, puedes actualizar el modelo y ajustar su comportamiento mediante la configuración de parámetros disponibles. Esta configuración controla cómo el modelo genera texto, incluida su longitud, aleatoriedad y repetición.
Configuración del modelo
En la lista desplegable Model, elige PHI-4 para crear una configuración distinta para la comparación.
Puedes ajustar los parámetros siguientes para influir en la salida del modelo’:
- Max Tokens: establece el número máximo de tokens que puede devolver el modelo. Los valores más altos permiten salidas más largas.
- Temperature: controla la aleatoriedad de la respuesta. Los valores más bajos (0,2–0,4) producen salidas más concretas y deterministas. Los valores más altos (0,8–1,0) presentan más variación y creatividad.
- Top P: controla la diversidad de resultados seleccionando en un grupo de las palabras siguientes más probables. Los valores más bajos reducen la variabilidad, de forma similar a la reducción de la temperatura.
- Presence Penalty: desaconseja al modelo introducir nuevos temas. Los valores más altos aplican una penalización mayor. Normalmente, un valor de 0 es adecuado para el resumen.
- Frequency Penalty: reduce la probabilidad de repetir palabras. Los valores más altos aplican una penalización mayor. Un valor entre 0 y 0,5 ayuda a mantener resúmenes claros y libres de redundancia.
- Stop: especifica una o varias cadenas que, cuando se generan, cortarán la respuesta del modelo. Lo puedes usar para evitar salidas demasiado largas o aplicar reglas de formato.
En la tabla siguiente se proporciona una configuración de parámetros para generar resúmenes concisos durante la comparación de modelos.
Parámetro | Valor | Motivo |
---|---|---|
Max Tokens | 128 | Mantiene las respuestas cortas y centradas en el tema |
Temperatura | 0,3 | Garantiza salidas deterministas y centradas |
P superior | 1,0 | Permite vocabulario completo, pero mantiene la selección guiada |
Presence Penalty | 0 | No penalty: los resúmenes no necesitan variación de temas |
Frequency Penalty | 0,3 | Reduce las expresiones repetidas en resúmenes compactos |
Detener | (opcional). | Lo puedes usar si quieres finalizar la salida después de una palabra clave o un símbolo |
Después de aplicar los parámetros, puedes agregar columnas adicionales para comparar más modelos o configuraciones de mensajes en paralelo.
Evaluación de salidas
Una vez que se configura el mensaje, ejecuta una evaluación estructurada para comparar las salidas del modelo mediante datos reales y métricas repetibles.
La evaluación del modelo te ayuda a comprender cómo funcionan los diferentes modelos y las configuraciones de mensajes en entradas reales. En la vista Prompt, puedes aplicar evaluadores a varios modelos en paralelo y revisar métricas como las de similitud, relevancia y base.
Están disponibles los siguientes evaluadores:
- Similarity: mide la coincidencia de la salida de un modelo con una respuesta esperada o de referencia. Esto resulta útil cuando quieres confirmar que el modelo devuelve respuestas coherentes y precisas alineadas con un resultado conocido. La puntuación oscila entre 0 y 1, y los valores más altos indican una mayor similitud.
- Relevance: hace referencia a la forma en que una respuesta aborda una pregunta de forma eficaz. Evalúa la precisión, integridad y relevancia directa de la respuesta basándose únicamente en la información dada. La puntuación oscila entre 0 y 1, y los valores más altos indican una alineación más fuerte con la intención de la entrada.
- Groundedness: mide cómo se ancla una respuesta en el contexto proporcionado, evaluando su relevancia, precisión e integridad exclusivamente en función de ese contexto. Evalúa la medida en que la respuesta aborda totalmente la pregunta sin introducir información no relacionada o incorrecta. La puntuación oscila entre 0 y 1, y los valores más altos indican una mayor exactitud.
- Custom prompt: te permite definir criterios de evaluación propios para que un LLM evalúe la salida de otro. Esto te permite puntuar las salidas del modelo en función de tus propias directrices. Puedes elegir entre las evaluaciones superadas o no superadas, o con puntuación, lo que lo convierte en ideal para escenarios en los que las métricas estándar no capturan las expectativas de las pruebas.
Cuando quieras realizar la evaluación, haz clic en Run para generar y comparar las salidas en todas las configuraciones de mensajes. Una vez que se complete la ejecución, GitHub Models muestra la salida de cada configuración de mensaje, junto con las puntuaciones del evaluador.
Caso de prueba: bloqueo de carga de PDF
Entrada: The app crashes every time I try to upload a PDF from my phone. It works on desktop but not on mobile.
En las tablas siguientes se muestran la salida de cada modelo y las puntuaciones de su evaluador:
Modelo | Resultados |
---|---|
GPT-4.1 | El usuario informa de que la aplicación se bloquea al cargar un PDF desde dispositivos móviles, aunque la carga funciona en el escritorio. |
DeepSeek-R1 | |
Phi-4 | La aplicación se bloquea al intentar cargar un PDF desde el dispositivo móvil, aunque funciona correctamente en la versión de escritorio. |
Modelo | Similitud | Relevancia | Base | Tokens de entrada | Tokens de salida | Latencia |
---|---|---|---|---|---|---|
GPT-4.1 | 100% | 50 % | 100% | 61 | 20 | 918ms |
DeepSeek-R1 | 50 % | 50 % | 75 % | 52 | 128 | 2285ms |
Phi-4 | El 75 % | 100 % | 100 % | 61 | 66 | 1117ms |
Usa las puntuaciones del evaluador para evaluar y comparar las respuestas más allá de las expresiones superficiales.
Similitud
Evalúa cómo se alinea la salida de cada modelo con el resumen esperado. En la tabla siguiente se muestran las puntuaciones de relevancia de cada modelo.
Modelo | Puntuación de similitud |
---|---|
GPT-4.1 | 100% |
DeepSeek-R1 | 50 % |
Phi-4 | El 75 % |
Aunque todos los modelos incluían el contenido clave de la entrada, la puntuación de similitud de DeepSeek-R1 es significativamente menor debido a su comentario interno detallado, que se desvía del formato de resumen conciso esperado. Por el contrario, la respuesta de GPT-4.1 coincide con la expresión y la estructura de la salida de referencia.
Relevancia
Evalúa cómo captura cada modelo la intención principal de la entrada. En la tabla siguiente se muestran las puntuaciones de relevancia de cada modelo.
Modelo | Puntuación de relevancia |
---|---|
GPT-4.1 | 50 % |
DeepSeek-R1 | 50 % |
Phi-4 | 100% |
Los tres modelos han reconocido el problema clave de bloqueo de la aplicación durante las cargas de PDF en dispositivos móviles. Phi-4 ha obtenido una puntuación de relevancia más alta para reflejar la perspectiva del usuario de forma más completa. DeepSeek-R1 ha perdido puntos por introducir causas técnicas especulativas no mencionadas en la entrada original.
Base
Evalúa si la salida de cada modelo sigue coincidiendo con la entrada sin introducir información no admitida. En la tabla siguiente se muestran las puntuaciones de relevancia de cada modelo.
Modelo | Puntuación de base |
---|---|
GPT-4.1 | 100% |
DeepSeek-R1 | El 75 % |
Phi-4 | 100% |
Aunque DeepSeek-R1 agrega comentarios internos, no presenta hechos ficticios. Su frase de resumen final refleja correctamente la entrada original.
Caso de prueba: solicitud del modo oscuro
Entrada: Please add dark mode. It's very hard to use at night. My eyes hurt after prolonged use.
En las tablas siguientes se muestran la salida de cada modelo y las puntuaciones de su evaluador:
Modelo | Resultados |
---|---|
GPT-4.1 | El usuario solicita la adición de una característica de modo oscuro debido a molestias y tensión ocular al usar la aplicación por la noche. |
DeepSeek-R1 | |
Phi-4 | El cliente solicita la adición de una característica de modo oscuro para reducir la tensión ocular al usar el producto por la noche. |
Modelo | Similitud | Relevancia | Base | Tokens de entrada | Tokens de salida | Latencia |
---|---|---|---|---|---|---|
GPT-4.1 | 100% | El 75 % | 100% | 57 | 18 | 1286ms |
DeepSeek-R1 | 50 % | 0% | 25% | 49 | 128 | 1946ms |
Phi-4 | 100% | El 75 % | 100% | 58 | 20 | 899ms |
Similitud
Evalúa cómo se alinea la salida de cada modelo con el resumen esperado. En la tabla siguiente se muestran las puntuaciones de relevancia de cada modelo.
Modelo | Puntuación de similitud |
---|---|
GPT-4.1 | 100% |
DeepSeek-R1 | 50 % |
Phi-4 | 100% |
Aunque todos los modelos han incluido el contenido clave de la entrada, la puntuación de similitud de DeepSeek-R1 vuelve a ser significativamente menor debido a su comentario interno detallado.
Relevancia
Evalúa cómo captura cada modelo la intención principal de la entrada. En la tabla siguiente se muestran las puntuaciones de relevancia de cada modelo.
Modelo | Puntuación de relevancia |
---|---|
GPT-4.1 | El 75 % |
DeepSeek-R1 | 0% |
Phi-4 | El 75 % |
GPT-4.1 y Phi-4 han capturado la intención principal de la solicitud del usuario: la necesidad del modo oscuro para reducir la tensión ocular y mejorar la facilidad de uso por la noche. DeepSeek-R1 ha obtenido una puntuación de 0 % en relevancia debido a su comentario interno detallado que se aleja de la salida real.
Base
Evalúa si la salida de cada modelo sigue coincidiendo con la entrada sin introducir información no admitida. En la tabla siguiente se muestran las puntuaciones de relevancia de cada modelo.
Modelo | Puntuación de base |
---|---|
GPT-4.1 | 100% |
DeepSeek-R1 | 25 % |
Phi-4 | 100% |
DeepSeek-R1 ha puntuado más bajo debido a su bloque <think>
detallado, que incluía razonamiento especulativo no presente en la entrada original.
Guardado de la configuración
Después de completar las evaluaciones, el paso final es elegir el modelo que mejor se adapte al caso de uso específico. En los ejemplos anteriores, Phi-4 y GPT-4.1 han ofrecido resultados sólidos y coherentes en todos los evaluadores. DeepSeek-R1 ha puntuado más bajo debido a su razonamiento detallado y salidas menos centradas.
Una vez que hayas seleccionado el modelo preferido y la configuración de mensaje, agrega un nombre descriptivo al archivo del mensaje y, después, haz clic en Commit changes. Esto guardará el modelo, el mensaje, la configuración de parámetros y el conjunto de datos asociado como un archivo de configuración reutilizable en el repositorio.
Confirmar la configuración del mensaje facilita la reutilización, colaboración e iteración entre configuraciones del modelo. Facilita la repetición de las evaluaciones y el seguimiento del rendimiento de la configuración del mensaje en el tiempo.