/ Модель

Характеристики

Контекст
1 024 токена
Лицензия
Apache 2.0
Архитектура
gpt2 · dense
Базовая модель
codeparrot-small
Библиотека
transformers
Опубликована
7 авг 2023

solidity-generator

Генерация текстаТекст → текст3 профессии

Дообученная GPT-2-модель для генерации фрагментов смарт-контрактов и кода на Solidity по текстовым подсказкам.

122скачиваний за 30 дней10лайковвеса обновлены9 ноя 2023

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

cvnberk/solidity-generator — модель генерации кода на Solidity, разработанная на основе codeparrot/codeparrot-small и дообученная на наборе контрактов mwritescode/slither-audited-smart-contracts. Она предназначена для создания фрагментов смарт-контрактов по текстовым подсказкам и помощи в составлении структуры контрактов. Модель использует архитектуру GPT-2, библиотеку Transformers и формат PyTorch; длина контекста составляет 1024 токена. В карточке указана оценка loss 0,2180 на наборе для оценки.

Модель подходит для чернового написания Solidity-кода и продолжения заданных разработчиком шаблонов. Сгенерированный код нужно проверять на безопасность и функциональную корректность; качество результата зависит от конкретности запроса. Лицензия — Apache-2.0.

Сценарии применения

  • генерация фрагментов смарт-контрактов на Solidity
  • создание черновой структуры контракта по описанию
  • дополнение шаблонов Solidity-кода
  • подсказки по написанию Solidity-кода

Ограничения

Сгенерированный код необходимо проверять на безопасность и функциональную корректность. Результат зависит от конкретности текстовой подсказки.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

solidity-generator

This model is a model specialized in generating Solidity contract codes. Derived from the codeparrot/codeparrot-small model, it's been meticulously trained on an extensive set of Solidity contracts and patterns, making it apt for assisting in drafting or suggesting contract structures.

Model description

This model has been designed specifically for generating Solidity contracts. Being a derivative of the codeparrot-small model, it retains the broader capabilities of the parent model while demonstrating a keen proficiency in understanding and generating Solidity-centric texts.

Performance

The model reported a loss of 0.2180 on the evaluation set.

Intended Uses & Limitations

Intended Uses:

  1. Assist developers by auto-generating contract code snippets based on prompts.
  2. Help in understanding and drafting complex contract structures.

Limitations:

  1. The generated code must be reviewed for security and functional correctness.
  2. The clarity of the generated code largely depends on the specificity of the prompt.

Training Details

Dataset

The model was fine-tuned on mwritescode/slither-audited-smart-contracts dataset comprised of a range of Solidity contracts.

Training and evaluation data

More information needed

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 7e-05
  • train_batch_size: 5
  • eval_batch_size: 5
  • seed: 42
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • lr_scheduler_warmup_steps: 144
  • num_epochs: 8

Training results

Training LossEpochStepValidation Loss
0.3020.3520000.3237
0.2980.6940000.2871
0.2321.0460000.2645
0.24151.3880000.2522
0.22611.73100000.2431
0.19242.07120000.2332
0.19132.42140000.2282
0.21522.76160000.2215
0.15083.11180000.2180

Framework versions

  • Transformers 4.31.0
  • Pytorch 2.0.1+cu118
  • Datasets 2.14.3
  • Tokenizers 0.13.3

How to Use

If you wish to use this model to generate Solidity contract code, follow the steps below:

from transformers import AutoTokenizer, AutoModelForCausalLM

# Load the model and tokenizer
tokenizer = AutoTokenizer.from_pretrained("ckandemir/solidity_generator")
model = AutoModelForCausalLM.from_pretrained("ckandemir/solidity_generator")

# Input your code prompt
input_text = "contract MyToken is ERC20{"
input_ids = tokenizer.encode(input_text, return_tensors='pt')
sample_output = model.generate(input_ids, do_sample=True, max_length=400, num_return_sequences=1, temperature=0.7)

# Decode and print the generated text
generated_text = tokenizer.decode(sample_output[0], skip_special_tokens=True)
print(generated_text)

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
GPT2LMHeadModel
Ревизия весов
3428e70

0 моделей