Данная статья рассматривает функционал пакета «chatgpt».
Ключевые слова: R, чат gpt, RStudio
ChatGPT — это умный чат-бот, который отвечает так же, как человек. Он понимает запрос, как человек, и дает соответствующий ответ. Он состоит из двух слов — «Чат» и «GPT». GPT относится к архитектуре генеративного предварительно обученного преобразователя для обработки естественного языка. Он обучен на большом массиве текстовых данных и может генерировать ответы на вводимые пользователем данные в диалоговой форме, что делает его полезным для различных приложений, таких как поддержка клиентов, изучение языков и развлечения [1].
Библиотека ChatGPT в R предоставляет удобный интерфейс для взаимодействия с моделью GPT-3.5, разработанной OpenAI. С её помощью можно интегрировать мощные языковые возможности в свои проекты на языке программирования R. Рассмотрим основные аспекты данной библиотеки.
Для начала работы с библиотекой ChatGPT в R, необходимо установить её с помощью команды install.packages(«chatgpt»). Затем, подключить библиотеку командой library(chatgpt).
Прежде чем начать использовать ChatGPT в R, нужно установить необходимые библиотеки. Будем использовать две библиотеки: «httr» и «jsonlite». Библиотека «httr» позволяет публиковать вопросы и получать ответы с помощью OpenAI API, а библиотека «jsonlite» помогает конвертировать объект R в формат JSON.
Для использования библиотеки, нужно получить API-ключ от OpenAI. Для этого необходимо зарегистрироваться на сайте OpenAI и следовать инструкциям для получения ключа. После получения ключа для работы с библиотекой необходимо вставить его в данный фрагмент кода Sys.setenv(«OPENAI_API_KEY» = «your_api_key_here») и запустить.
Примерный код запуска будет выглядеть как на рисунке 1.
Рис. 1. Пример запроса chatgpt
Поскольку выходные данные представляют собой список, можно извлечь только ответ. Используя функцию cat(), позаботимся о разрывах строк в ответе.
В API OpenAI, аргумент «temperature» используется для управления креативностью или случайностью сгенерированного текста. Оно находится между 0 и 2. Более высокое значение «temperature» повысит вероятность того, что модель будет генерировать более удивительные и неожиданные ответы, тогда как более низкое значение сделает модель более консервативной и предсказуемой. Например, если для «temperature» установлено значение 0,5, сгенерированный текст будет более сфокусированным, тогда как если установлено значение 1,5, сгенерированный текст будет более случайным.
После того как ключ прошел, можно воспользоваться следующими основными функциями в библиотеке «chatgpt» для R:
- ask_chatgpt — функция используется для общения с моделью GPT-3.5. Можно отправлять вопросы и получать ответы от модели, используя данную функцию.
- comment_code — данная функция предназначена для комментирования кода. Можно передать свой код и получить комментарии и пояснения от модели.
- complete_code — с использованием данной функции можно получить завершение кода. Передайте начало кода, и модель предложит возможные варианты завершения.
- create_unit_tests — функция создает модульные тесты для кода, такой функционал полезен в тестировании программного обеспечения.
- create_variable_name — позволяет создавать имена переменных на основе предоставленного контекста. Модель предложит подходящие имена для переменных.
- document_code — документирует код, добавляя комментарии и пояснения, данный механизи в значительной степени улучшает читаемость и способствует лучшему пониманию кода.
- explain_code — функция предоставляет объяснения для фрагментов кода. Если появилась необходимость понять, как работает определенный участок кода, можно воспользоваться данной функцией.
- find_issues_in_code — помогает обнаруживать проблемы в коде. Модель может выявлять потенциальные ошибки или улучшения в коде.
- gpt_get_completions — получает дополнительные варианты завершения текста от модели.
- optimize_code — оптимизирует код, предлагая улучшения и оптимизации.
- parse_response — парсит ответ от модели, облегчая анализ и использование полученной информации.
- refactor_code — предоставляет рекомендации по рефакторингу кода для улучшения его качества.
- reset_chat_session — сбрасывает текущую сессию общения с моделью, начиная новую.
- run_addin — запускает дополнение (addin) для R, связанное с библиотекой chatgpt.
- run_addin_ask_chatgpt — запускает дополнение для общения с моделью GPT-3.5 прямо из среды разработки RStudio [2].
Эти функции обеспечивают широкий спектр возможностей для взаимодействия с моделью GPT-3.5, включая работу с кодом, получение комментариев и пояснений, оптимизацию кода и многое другое.
RStudio также представляет возможность отправлять запросы через интерактивное Shiny-приложение. Для этого нужно установить пакет «gptstudio». В приложении также можно выбрать свой стиль программирования и уровень квалификации. Графический интерфейс с примером запроса, представлен на рисунке 2.
Рис. 2. Пример запроса, через интерактивное приложение
Литература:
1. Assistants API [Электронный ресурс] URL: https://platform.openai.com/docs/assistants/overview (дата обращения 17.01.2024).
2. chatgpt: Interface to 'ChatGPT' from R [Электронный ресурс] URL: https://cran.r-project.org/package=chatgpt (дата обращения 17.01.2024).