MatplotLLM es una capa de lenguaje natural sobre Matplotlib para visualizar datos. El objetivo principal es acelerar la construcción de una determinada forma de visualizar puntos de datos sin entrometerse en las entrañas de una herramienta como matplotlib. A partir de ahora, este es un sistema que se utilizará desde el sistema Emacs/Org. La motivación proviene de algo que escribí en un blog sobre coprogramación de IA aquí.
Quizás también te interese leer la publicación de mi blog sobre MatplotLLM.
Hay dos descripciones que debes proporcionar, ambas en lenguaje natural. Uno que describa la fuente de datos. En segundo lugar, que describe cómo trazar. La primera es una descripción de texto estática, que, por supuesto, puede cambiar según sea necesario entre llamadas.
En segundo lugar, puede proporcionar una descripción iterativa como en una interfaz de conversación. Puede comenzar con una descripción del primer paso y luego seguir agregando más especificaciones como comentarios.
Puede usarlos en un bloque fuente de org-babel con el nombre de idioma matplotllm
como se muestra en el siguiente ejemplo. Hay un divisor de modo de organización -----
que se utiliza para separar la descripción de los datos y la descripción del trazado. En el diseño actual, esta distinción puede parecer inútil, pero podría resultar útil más adelante. En la descripción de la trama, agrega líneas vacías para brindar comentarios iterativos. Cada rediseño muestra el código actual al LLM, proporciona comentarios y solicita un código nuevo.
Primero deberá establecer el valor de matplotllm-openai-key
para usarlo. Llamamos GPT4
como el LLM de respaldo en este momento.
El siguiente ejemplo intenta reproducir (aún no le he hecho justicia) la trama de la publicación de mi blog sobre Learning Colemak-DH.
El archivo de datos a leer se llama `log.txt`. Así es como se ve:
+ [2023-07-20 jueves] 97 palabras por minuto, según 98%
Se detuvo el seguimiento diario
+ [2023-05-16 martes] 66 palabras por minuto, según 91% | 66 palabras por minuto, según 87%
+ [2023-05-15 lunes] 68 palabras por minuto, según 89% | 65 palabras por minuto, según 90% | 71 palabras por minuto, según 93% | Colemak-DH por defecto.
+ [2023-05-14 domingo] 65 palabras por minuto, según 92% | 62 palabras por minuto, según 87% | 65 palabras por minuto, según 91% | 70 palabras por minuto, según 90%
Cada línea es para un día y tiene entradas de palabras por minuto y precisión de múltiples intentos en un día. Es posible que alguna línea tenga texto mal estructurado que puedes ignorar.
-----
Trace un diagrama de dispersión mínima que muestre los WPM comparados con las fechas. Utilice valores de precisión como color del diagrama de dispersión; más oscuro (azul violeta) es más preciso.
Limpie el eje y muestre solo líneas de cuadrícula tenues, y muestre fechas donde las marcas tengan meses escritos sin abarrotarlas demasiado.
Anote el primer y último punto con el valor real de WPM.
Algunas notas de desarrollo:
LLM Sistema de visualización de datos asistidos.
Copyright (c) 2023 Abhinav Tushar y colaboradores
Este programa es software libre: puede redistribuirlo y/o modificarlo según los términos de la Licencia Pública General GNU publicada por la Free Software Foundation, ya sea la versión 3 de la Licencia o (a su elección) cualquier versión posterior.
Este programa se distribuye con la esperanza de que sea de utilidad, pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la Licencia pública general de GNU para obtener más detalles.
Debería haber recibido una copia de la Licencia Pública General GNU junto con este programa. De lo contrario, consulte https://www.gnu.org/licenses/.