Присоединяйтесь к проекту Rustsn: призыв к разработчикам Rust, интересующимся областью ИИ (LLM)

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Несколько дней назад я опубликовал статью Создание инструмента генерации кода с помощью Rust и локальных LLM от Ollama

Проект Rustns призван упростить жизнь разработчикам Rust за счет автоматизации утомительных задач. Мой инструмент генерирует фрагменты кода Rust из объяснений пользователя, компилирует их, разрешает зависимости, генерирует тесты.

Изначально проект задумывался как универсальное решение для генерации кода для самых популярных языков программирования, включая Java, Python и TypeScript. Я стремился создать инструмент, который бы облегчил работу разработчиков, предоставляя возможность генерировать код сразу на нескольких языках. Однако, приступив к реализации мультиязычности, я столкнулся с серьёзными трудностями.

Попытка унифицировать код для различных языков оказалась куда более сложной задачей, чем я ожидал. Каждый язык программирования имеет свои особенности, что значительно усложняет код и поддержку всех этих языков в одном проекте.

В итоге я пришёл к выводу, что нужно сконцентрировать свои усилия на одном языке программирования. В моём случае это Rust, на котором был написан проект, генерирующий Rust-код.

Вот упрощенная диаграмм работы проекта:

С детальной логикой работы программы можно познакомится посмотрев диаграмму состояний, которую программа парсит и использует в свое работе: https://github.com/evgenyigumnov/rustsn/blob/main/logic.md

Также все промпты, которые система посылает в LLM на основе диаграммы состояний можно увидеть в этом файле: https://github.com/evgenyigumnov/rustsn/blob/main/prompt.txt

За последнее время в проекте я проделал следующие изменения:

  1. Версия 0.2.0: Перенёс текстовые запросы из кода в файл prompt.txt и логику обработки — в файл logic.md

  2. Версия 0.3.0: Добавил поддержку OpenAI API.

  3. Версия 0.4.0: Внёс изменения в функции извлечения результатов работы LLM. Функция Extract_code была заменена на три новые функции: extract_code, extract_dep и extract_test. Это разделение позволяет более тонко управлять извлечением кода, зависимостей и тестов из результатов генерации LLM.

Посетить мой репозиторий GitHub можно тут: https://github.com/evgenyigumnov/rustsn

Пожалуйста, проверьте мой файл README.md для получения инструкций по настройке и рекомендаций по внесению изменений в код.

P.S.

В целом, код достаточно универсален, и его можно использовать в своих личных целях, если Вам не интересна тема генерации кода на Rust. Например:

  1. Написать генератор кода для своего любимого языка программирования.

  2. Написать телеграм чат-бота для какого-то бизнеса.

  3. Написать имитатора учителя английского языка.

и тд.

Источник: https://habr.com/ru/articles/844976/


Интересные статьи

Интересные статьи

В 2023 г. произошло множество изменений в законах, касающихся военной службы: появились электронные повестки и единый реестр повесток, увеличили штрафы и изменили границы призывного возраста. До начал...
Из-за всех этих статей о том, насколько потрясающ прогресс ИИ, у многих возникло отчаяние в связи с возможностью скорой замены разработчиков ПО искусственным интеллектом. Люди представляют, что руко...
Современная ИТ-индустрия состоит в сложных взаимоотношениях с сообществом разработчиков Open Source, посредником в этих отношениях выступают различные альянсы, фонды и другие организации, занимающиеся...
Продолжение перевода AMA от SpaceX. Читать далее
Привет, Я Рэнд Миллер, соавтор «Myst». Мы поставили перед собой задачу создать реальный мир «Myst», но болезненно ударились о реальные ограничения CD-ROM. Играми я начал заниматься ещё с начала...