Как я использую GigaChat для Frontend разработки
- вторник, 23 января 2024 г. в 00:00:20
Всем привет! В этой статье я хотел бы рассказать про один из моих инструментов - GigaChat, ссылочка, который стал мне помощником на работе. Расскажу как его использую в повседневных рабочих задачах. Также подписывайтесь на мой канал про фронтенд, где делюсь интересной информацией, ссылочка здесь.
GigaChat - это мультимодальная модель (аналог ChatGPT от OpenAI), которую разрабатывает Сбер. В отличие от языковых моделей, мультимодальные работают не только с текстом. Они могут генерировать иллюстрации.
GigaChat может отвечать на вопросы, разговаривать с пользователем, генерировать изображения по текстовому описанию и писать программный код. Также она отлично справляется с творческими задачами. А так как программирование это творчество, то GigaChat справляется с этой задачей. Модель постоянно обучают, нейронка становится все умнее и умнее.
Ну что рассмотрим возможные варианты использования 👇
Первая задачка, с решением которой GigaChat на сегодняшний день справляется лучше всего (по крайней мере, во фронтенде) - это помощь в обучении.
Можно сказать, что GigaChat - это очень прокаченный гугл. Но, в отличие от поисковиков, он не отправляет вас бродить по ссылкам, а собирает всю информацию на одной странице и подгоняет её ровно под ваш запрос.
По сути, ответы нейросети построены на той же информации, что выдача в поисковиках, но в среднем вы получите ответ быстрее, плюс он всегда будет оригинальным и релевантным именно вашей проблеме.
Например, я забыл как работает какой то метод из списка стандартных методов. Конечно, я могу посмотреть в документации, но давайте посмотрим как с этим справится GigaChat. Зададим вопрос: что такое генераторы в JS?
Один текст - это не интересно хочется примеров (обратите внимание, что модель выдала нам ссылку на ресурс, где она взяла информацию).
К сожалению, примеры не так полны, как нам бы хотелось, но мы можем попросить модель сделать их более сложными.
Теперь дадим модели другую задачу. Давайте попросим проверить код на ошибки.
Как видим GigaChat описал ошибки и исправил их.
Иногда нужно добавить комментарии к коду, а самому их лень писать. Поэтому попросим сделать это GigaChat за нас. В примере ниже, у нас есть React-компонент и простая утилитарная функция.
Комментарии мы получили, но было бы неплохо если они были в коде. Попросим добавить их туда:
Попросим комментарии для функции:
Очень хорошо. Теперь весь код будет с комментариями)
Представим, что нам необходим хук, который будет сохранять данные в localStorage и мы будем использовать его в разных компонентах. Давайте попросим GigaChat нам сгенерить такой код для нас.
Получилось вроде неплохо. Даже после кода компонента, модель описала нам, что он делает, что очень круто.
Еще я хочу компонент Slider, но мне нужно быстро его реализовать (за одну минуту). Давайте попросим GigaChat сделать это за нас.
Отлично, но не хватает TypeScript в компоненте, попросим его переписать компонент с использованием TS.
Иногда бывают моменты, когда очень лень писать юнит-тесты или требуется срочно добавить фичу на дев-стренд. В таких случаях можно попросить GigaChat написать их для нас.
Рассмотрим примеры сгенерированных тестов с использованием библиотеки jest и React Testing Library:
Конечно, результат не идеален, но его можно использовать в качестве каркаса и внести необходимые изменения в эти тесты под свои нужды.
Для React-компонентов:
Иногда также требуются мок-данные для тестов, и модель может помочь нам сгенерировать их.
Предположим, у вас есть некоторый код на JavaScript, который выполняет определенную задачу, но работает медленно или вам не нравится его текущая реализация. Вы можете передать этот код GigaChat, и он проанализирует его, найдет узкие места и предложит оптимизации, которые помогут ускорить выполнение задачи или сделать код более лаконичным.
Нам неожиданно нужно переписать функцию которая написана на JS на другой язык, например, на Python. И здесь нам может помочь GigaChat:
GigaChat может помочь вам с дебаггингом кода. Если у вас есть код, который работает некорректно, вы можете передать его GigaChat, и он проанализирует его, найдет возможные ошибки и предложит вам варианты исправления.
Кроме того, GigaChat может помочь вам понять, как работает ваш код, объяснив его линию за линией. Это может быть полезно, если вы хотите понять, как работает определенная часть кода, или если вы хотите изучить новый код.
Пример:
На этом все, конечно, GigaChat уступает всем известному ChatGPT, но модель постоянно обновляется, и я надеюсь, что скоро она не будет уступать зарубежным аналогам. Самое главное, что GigaChat бесплатен и доступен всем, что очень круто.