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

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

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

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

В итоге, решил сделать проект с поддержкой разных языков. Вот уже добавил:

Также буду добавлять режим генерации не только функций но и посевных проектов. Те при старте можно будет указать тип code snippet. Вот примеры типов посевных проектов:

И еще будет возможность опционально сборку, запуск тестов делать не на хостовой машине пользователя, а в Docker контейнере.


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

Версии

0.15.0 - TypeScript 24 сентября 2024

0.14.0 - Swift 23 сентября 2024

0.13.0 - Kotlin 23 сентября 2024

0.12.0 - Python 22 сентября 2024

0.11.0 - PHP 22 сентября 2024

0.10.0 - JavaScript 22 сентября 2024

0.9.0 - Scala 22 сентября 2024

0.8.0 - Java 22 сентября 2024

0.7.0 - Упрощение 22 сентября 2024

0.6.0 - Добавление библиотеки "clap" 21 сентября 2024

0.5.0 - Поддержка генерации кода на нескольких языках 21 сентября 2024

0.4.0 - Извлечение результатов генерации с помощью ИИ - 20 сентября 2024

0.3.0 - Конечный автомат - 20 сентября 2024

0.2.0 - Конечный автомат - 19 сентября 2024

0.1.0 - Прототип - 17 сентября 2024

Посетить мой репозиторий GitHub можно тут

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


P.S.

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

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

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

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

@igumnov
20.09.2024 22:54 UTC
Первоисточник

Комментарии

@codecity
20.09.2024 18:57 UTC
0

Вопрос только один: почему это должно быть опенсорсным? Обычно под подобные проекты находят бюджеты и делают коммерческим, разрабы просто работают за зарплату.

@igumnov
20.09.2024 19:06 UTC
+1

Мне чисто по фану кодить этот проект. К тому же, не верю я в монетизацию в этой теме. Особенно когда выпустили в Open Source модель Gemma-2-2B после квантования, она на диске занимает 1.5 Гб. И она работает на слабом железе даже без видеокарты с минимумом RAM. Говорит на всех языках мира от русского до китайского, имеет энциклопедические знания на уровне Википедии. Даже может писать несложный код на любом языке программирования. Думаю, такие темпы оптимизации приведут к тому, что эти новомодные ИИ скоро будут запускаться и качественно работать на самых дешевых и слабых андроид-телефонах...

20.09.2024 21:57 UTC
0

У меня скорее обратный вопрос - почему схема лицензирования GPL+выдуманная, вероятно, Вами несколько сомнительная несимметричная CLA, а не принятая в мире Rust'а MIT+Apache?

Вы уверены, что найдёте много контрибьютеров при такой постановке вопроса - что Вы хозяин проекта и кода, и можете его под любой лицензией использовать, и самое любопытное, что он отдаёт Вам свой вклад аж под исключительной лицензией (т.е. не может применить его более нигде), а миру проект разрешается использовать только на условиях копилефтной GPL?

Как я понимаю, потому что Вы такой подход уже для других своих проектов используете, а в данном конкретном случае специально не задумывались?

Тогда вопрос распадается на два: чем был обусловлен изначальный выбор схемы лицензирования и не хотите ли Вы подумать над тем, чтобы в данном случае пересмотреть её в пользу пермиссивных MIT+Apache, без этих хитростей с CLA?

Или Вы таки надеетесь с какого-то момента начать зарабатывать коммерческими лицензиями на этот продукт?

В любом случае, удачи Вам с проектом!

21.09.2024 04:17 UTC
0

Ну, вдруг зайдёт и инвесторы постучатся, а у меня уже всё ок с лицензией. А так, реально по фану кодирую.

@MountainGoat
20.09.2024 20:53 UTC
+1

Вообще, под Rust перенесли уже все основные и популярные ML и дата пакеты. То есть есть ненулевые шансы потеснить Питон на этом месте. На Питоне конечно удобно разрабатывать, но распространять потом - это пипец. Вот только вчера не смог воспользоваться PuLID для Flux: Поставьте Питон 3.10, потом создайте venv, потом поставьте пакеты... а они падают при установке, и что теперь? Надолбавшись с venv-ами, мне один трёхгигабайтный ЕХЕшник и то кажется более удобным вариантом.

@codecity
21.09.2024 02:43 UTC
+1

но распространять потом - это пипец

Вы зрите в корень. Притом что и разрабатывать я бы не сказал что удобно.

потом создайте venv, потом поставьте пакеты... а они падают при установке, и что теперь?

Иногда помогает указать более старую версию, типа pip3 install package_name==x.y.z. Хуже когда одна зависимая либа требует версию 2.0 или старше, а вторая 1.0 и не старше.