MatplotLLM — это слой естественного языка поверх Matplotlib для визуализации данных. Основная цель — ускорить создание определенного способа визуализации точек данных, не вмешиваясь во внутренности такого инструмента, как matplotlib. На данный момент эту систему можно использовать из системы Emacs/Org. Мотивация исходит от того, что я написал в блоге о совместном программировании ИИ здесь.
Возможно, вам будет интересно прочитать мою публикацию в блоге о MatplotLLM.
Вам необходимо предоставить два описания, оба на естественном языке. Тот, который описывает источник данных. Во-вторых, это описывает, как построить график. Первое — это статическое текстовое описание, которое вы, конечно, можете менять по мере необходимости между вызовами.
Во-вторых, вы можете предоставить итеративное описание , как в интерфейсе диалога. Вы можете начать с описания первого прохода, а затем продолжать добавлять дополнительные спецификации в качестве обратной связи.
Вы можете использовать их в исходном блоке org-babel с языковым именем matplotllm
как показано в примере ниже. Существует разделитель режима организации -----
используемый для разделения описания данных и описания графика. В нынешнем дизайне это различие может показаться бесполезным, но в дальнейшем оно может оказаться полезным. В описание графика вы добавляете пустые строки, чтобы обеспечить итеративную обратную связь. При каждой перерисовке LLM показывает текущий код, предоставляет обратную связь и запрашивает новый код.
Вам нужно будет установить значение matplotllm-openai-key
чтобы использовать его в первую очередь. В настоящее время мы называем GPT4
поддерживающим LLM.
В приведенном ниже примере я пытаюсь воспроизвести (я еще не отдал должное) сюжет из моего поста в блоге «Изучение Colemak-DH».
Файл данных для чтения называется log.txt. Вот как это выглядит:
+ [20.07.2023 Чт] 97 слов в минуту, соотв 98%
Прекращено ежедневное отслеживание
+ [2023-05-16 Вт] 66 слов в минуту, соотв. 91% | 66 слов в минуту, точность 87%
+ [2023-05-15 Пн] 68 слов в минуту, соотв 89% | 65 слов в минуту, точность 90% | 71 слов в минуту, соотв. 93% | Colemak-DH по умолчанию.
+ [2023-05-14 Вс] 65 слов в минуту, соотв. 92% | 62 слов в минуту, 87% | 65 слов в минуту, 91% | 70 слов в минуту, точность 90%
Каждая строка относится к дню и содержит записи WPM и точности для нескольких попыток за день. Некоторые строки могут содержать плохо структурированный текст, который вы можете игнорировать.
-----
Постройте минимальную диаграмму рассеяния, показывающую зависимость WPM от дат. Используйте значения точности в качестве цвета диаграммы рассеяния: чем темнее (сине-фиолетовый), тем точнее.
Очистите ось и покажите только слабые линии сетки, а также покажите даты, в которых в галочках указаны месяцы, не перегружая их слишком сильно.
Аннотируйте первую и последнюю точку фактическим значением WPM.
Несколько замечаний по разработке:
LLM Система визуализации данных с поддержкой
Авторские права (c) 2023 г. Абхинав Тушар и соавторы
Эта программа является свободным программным обеспечением: вы можете распространять ее и/или изменять в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.
Данная программа распространяется в надежде, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОРГОВОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Дополнительную информацию см. в Стандартной общественной лицензии GNU.
Вместе с этой программой вы должны были получить копию Стандартной общественной лицензии GNU. Если нет, см. https://www.gnu.org/licenses/.