Repolode
retrage

retrage/gpt-macro

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

Звёзды
668
Форки
8
Открытые issues
1
Последний коммит
2 месяца назад

Что это?

gpt-macro — это крейт с процедурным макросом для Rust: во время компиляции он отправляет в ChatGPT API запрос на естественном языке и целевой код, а затем подставляет ответ модели в исходный код, прежде чем компилятор продолжит работу. Функцию-заглушку с пустым телом можно оставить незавершённой: макрос заполнит её автоматически, используя окружающие тесты как спецификацию.

В крейте есть два макроса. `auto_impl!{}` принимает строку с запросом, а затем код, например сигнатуру функции и её тесты, и заменяет целевой код сгенерированной реализацией. `#[auto_test(...)]` добавляется к функции и генерирует тесты для указанных сценариев. Для работы нужен ключ OpenAI API, заданный в переменной окружения `OPENAI_API_KEY`.

Поскольку код генерируется во время сборки, результат компилируется как обычный код, написанный вручную. Поэтому проект скорее представляет собой эксперимент с генерацией кода с помощью LLM, чем зависимость для production-сборки.

Ключевые возможности

  • 01Генерирует тела функций по запросу на естественном языке с помощью `auto_impl!{}`.
  • 02Генерирует тесты для функции с помощью `#[auto_test(...)]`.
  • 03Отправляет запрос в ChatGPT во время компиляции, поэтому сгенерированный код компилируется как написанный вручную.
  • 04Читает ключ OpenAI API из переменной окружения `OPENAI_API_KEY`.

Сценарии использования

  • Заполнение простых, чётко специфицированных функций по тестам во время создания прототипа.
  • Эксперименты с генерацией кода с помощью LLM в процессе сборки Rust-проекта.
  • Генерация дополнительных тестов для существующей функции.

Быстрый старт

  1. 1

    Добавьте crate gpt-macro в свой проект на Rust

  2. 2

    Получите API-ключ ChatGPT и задайте его в переменной окружения OPENAI_API_KEY

  3. 3

    Используйте auto_impl! или #[auto_test] в коде и выполните сборку

Что важно знать

  • Требуется платный API-ключ ChatGPT, заданный в OPENAI_API_KEY.
  • Код генерируется внешней моделью, поэтому перед использованием его необходимо проверить.

В подборках

Темы

Частые вопросы

Что такое gpt-macro?
Процедурный макрос для Rust, который использует ChatGPT API, чтобы генерировать тела функций и тесты во время компиляции. gpt-macro — это крейт с процедурным макросом для Rust: во время компиляции он отправляет в ChatGPT API запрос на естественном языке и целевой код, а затем подставляет ответ модели в исходный код, прежде чем компилятор продолжит работу. Функцию-заглушку с пустым телом можно оставить незавершённой: макрос заполнит её автоматически, используя окружающие тесты как спецификацию.
gpt-macro можно использовать бесплатно? Какая у него лицензия?
gpt-macro распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
gpt-macro всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в gpt-macro — 14 сент. 2026 г..
Для чего можно использовать gpt-macro?
Заполнение простых, чётко специфицированных функций по тестам во время создания прототипа. Эксперименты с генерацией кода с помощью LLM в процессе сборки Rust-проекта. Генерация дополнительных тестов для существующей функции.
Как установить gpt-macro?
Добавьте crate gpt-macro в свой проект на Rust Получите API-ключ ChatGPT и задайте его в переменной окружения OPENAI_API_KEY Используйте auto_impl! или #[auto_test] в коде и выполните сборку
Где скачать gpt-macro?
Исходный код и инструкции по установке — на GitHub: https://github.com/retrage/gpt-macro

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

CLI-инструмент для LeetCode: генерирует заготовки решений и тесты, запускает тесты локально и помогает работать с задачами и отправками на контестах.

710+2 за неделю54GoMITАктивно поддерживаетсяОбновлён 12 дней назад