Pull to refresh

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

Level of difficultyHard
Reading time2 min
Views3.5K

Несколько дней назад я опубликовал статью Создание инструмента генерации кода с помощью 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. Например:

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

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

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

Tags:
Hubs:
Total votes 8: ↑5 and ↓3+6
Comments6

Articles