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

В итоге, решил сделать проект с поддержкой разных языков. Вот уже добавил:
Python
JavaScript
TypeScript
Java
Kotlin
Swift
PHP
Rust
Scala
Также буду добавлять режим генерации не только функций но и посевных проектов. Те при старте можно будет указать тип code snippet. Вот примеры типов посевных проектов:
hello_world
cli_app
rest_api
library
gui_app
mobile_app
web_app
И еще будет возможность опционально сборку, запуск тестов делать не на хостовой машине пользователя, а в Docker контейнере.
За последнее время в проекте я проделал следующие изменения:
Версии
0.15.0 - TypeScript 24 сентября 2024
Добавлена поддержка языка TypeScript
0.14.0 - Swift 23 сентября 2024
Добавлена поддержка языка Swift
0.13.0 - Kotlin 23 сентября 2024
Добавлена поддержка языка Kotlin
0.12.0 - Python 22 сентября 2024
Добавлена поддержка языка Python
0.11.0 - PHP 22 сентября 2024
Добавлена поддержка языка PHP
0.10.0 - JavaScript 22 сентября 2024
Добавлена поддержка языка JavaScript
0.9.0 - Scala 22 сентября 2024
Добавлена поддержка языка Scala
0.8.0 - Java 22 сентября 2024
Добавлена поддержка языка Java
0.7.0 - Упрощение 22 сентября 2024
Упрощена логика конечного автомата и удалён файл logic.md
Упрощён файл prompt.txt
0.6.0 - Добавление библиотеки "clap" 21 сентября 2024
Добавлен параметр --lang для указания языка генерируемого кода (Rust, Python, C, JavaScript, Java, TypeScript, CPP, Scala, Kotlin, Swift)
0.5.0 - Поддержка генерации кода на нескольких языках 21 сентября 2024
Принято решение поддерживать генерацию кода на нескольких языках: Python, C, JavaScript, Java, TypeScript, CPP, Scala, Kotlin, Swift
0.4.0 - Извлечение результатов генерации с помощью ИИ - 20 сентября 2024
Функция extract_code заменена на функции extract_code, extract_dep, extract_test
0.3.0 - Конечный автомат - 20 сентября 2024
Поддержка OpenAI API
0.2.0 - Конечный автомат - 19 сентября 2024
Перенос промптов из кода в файл "rust.prompt"
Перенос логики из кода в файл "logic.md"
0.1.0 - Прототип - 17 сентября 2024
Генерация кода
Автоматическая компиляция
Разрешение зависимостей
Генерация тестов
Исправление ошибок
Механизм кэширования
Посетить мой репозиторий GitHub можно тут
Пожалуйста, проверьте мой файл README.md для получения инструкций по настройке и рекомендаций по внесению изменений в код.
P.S.
В целом, код достаточно универсален, и его можно использовать в своих личных целях, если Вам не интересна тема генерации кода на Rust. Например:
Написать генератор кода для своего любимого языка программирования.
Написать телеграм чат-бота для какого-то бизнеса.
Написать имитатора учителя английского языка.