MatplotLLM é uma camada de linguagem natural sobre Matplotlib para visualizar dados. O objetivo principal é acelerar a construção de uma certa maneira de visualizar pontos de dados sem interferir nas entranhas de uma ferramenta como o matplotlib. A partir de agora, este é um sistema a ser usado dentro do sistema Emacs/Org. A motivação vem de algo que escrevi em um blog sobre coprogramação de IA aqui.
Você também pode estar interessado em ler minha postagem no blog sobre MatplotLLM.
Existem duas descrições que você precisa fornecer, ambas em linguagem natural. Aquele que descreve a fonte de dados. Segundo, que descreve como traçar. A primeira é uma descrição de texto estático, que você pode alterar conforme necessário entre as chamadas, é claro.
Em segundo lugar, você pode fornecer uma descrição iterativa , como em uma interface de conversa. Você pode começar com uma descrição inicial e continuar adicionando mais especificações como feedback.
Você pode usá-los em um bloco de origem org-babel com o nome de idioma matplotllm
conforme mostrado no exemplo abaixo. Existe um divisor de modo organizacional -----
usado para separar a descrição dos dados e a descrição do gráfico. No design atual esta distinção pode parecer inútil, mas poderá ser útil mais tarde. Na descrição do gráfico, você adiciona linhas vazias para fornecer feedback iterativo. Cada redesenho mostra o código atual para o LLM, fornece feedback e solicita um novo código.
Você terá que definir o valor de matplotllm-openai-key
para usá-lo primeiro. Chamamos GPT4
como LLM de apoio agora.
O exemplo abaixo está tentando reproduzir – ainda não fiz justiça a isso – o enredo da postagem do meu blog sobre Learning Colemak-DH.
O arquivo de dados a ser lido é denominado `log.txt`. Aqui está como parece:
+ [2023/07/20 qui] 97 WPM, 98% de acumulação
Monitoramento diário interrompido
+ [2023-05-16 Ter] 66 WPM, acumulação de 91% | 66 WPM, conta 87%
+ [2023-05-15 seg] 68 WPM, acumulação de 89% | 65 WPM, conta 90% | 71 WPM, contagem de 93% | Colemak-DH como padrão.
+ [2023-05-14 Dom] 65 WPM, acumulação de 92% | 62 WPM, contagem de 87% | 65 WPM, contagem de 91% | 70 WPM, conta 90%
Cada linha de um dia tem WPM e entradas de precisão de várias tentativas em um dia. Algumas linhas podem conter texto mal estruturado que você pode ignorar.
-----
Trace um gráfico de dispersão mínimo que mostre o WPM plotado em relação às datas. Use valores de precisão como cor do gráfico de dispersão; mais escuro (azul roxo) é mais preciso.
Limpe o eixo e mostre apenas linhas de grade fracas e mostre datas onde os ticks têm meses escritos sem sobrecarregá-los muito.
Anote o primeiro e o último ponto com o valor real de WPM.
Algumas notas de desenvolvimento:
Sistema de visualização de dados assistido LLM
Copyright (c) 2023 Abhinav Tushar e colaboradores
Este programa é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation, seja a versão 3 da Licença ou (a seu critério) qualquer versão posterior.
Este programa é distribuído na esperança de que seja útil, mas SEM QUALQUER GARANTIA; mesmo sem a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM DETERMINADO FIM. Veja a Licença Pública Geral GNU para mais detalhes.
Você deverá ter recebido uma cópia da Licença Pública Geral GNU junto com este programa. Caso contrário, consulte https://www.gnu.org/licenses/.