CLI-инструмент для LeetCode: генерирует заготовки решений и тесты, запускает тесты локально и помогает работать с задачами и отправками на контестах.
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
Добавьте crate gpt-macro в свой проект на Rust
- 2
Получите API-ключ ChatGPT и задайте его в переменной окружения OPENAI_API_KEY
- 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 обновляется ежедневно.
Похожие проекты
Расширение Source Editor для Xcode с подсказками кода от GitHub Copilot и Codeium, чатом ChatGPT и изменением кода.
AI-плагин для Vim и Neovim: генерирует и редактирует код, а также позволяет общаться с моделями, совместимыми с OpenAI, прямо в редакторе.
Go CLI для запросов к совместимым с OpenAI LLM из терминала, генерации команд оболочки, кода и изображений.
Python-библиотека, которая во время выполнения генерирует реализации функций с помощью OpenAI LLM, опираясь на имена функций, аргументы и контекст.
Фреймворк для модульного и компонентного тестирования на базе Vite, использующий его конфигурацию, трансформеры и плагины.