Генератор статей на основе Hugging Face с возможностью обучения
Требуется AI генератор статей на английском на основе GPT-2 бесплатной библиотеки Hugging Face.
Входные данные: ключевая фраза.
Выходные данные: сгенерированная статья заданной длинны.
Так же, необходима возможность обучения на основании нормализованных текстовых статей из различных источников. Т.е. по сути, нужна связка их двух алгоритмов: генератор статей и обучающая программа, получающая на входе статьи в виде списка имен текстовых файлов или ссылок на них.
Язык программирования: Python
Для наглядности, даю максимально упрощенный вариант генератора, чтобы было понятно, от чего отталкиваться:
import torch
from transformers import GPT2Tokenizer, GPT2LMHeadModel
def generate_text(prompt, model, length=1024):
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
input_ids = torch.tensor(tokenizer.encode(prompt)).unsqueeze(0) # Batch size 1
attention_mask = torch.ones_like(input_ids)
sample_output = model.generate(
input_ids,
attention_mask=attention_mask,
max_length=length,
temperature=0.9,
top_p=0.9,
top_k=10,
repetition_penalty=10,
do_sample=True,
pad_token_id=tokenizer.eos_token_id,
num_return_sequences=1
)
generated_text = tokenizer.decode(sample_output[0], skip_special_tokens=True)
return generated_text
model = GPT2LMHeadModel.from_pretrained("gpt2")
prompt = "A human landed to Mars"
generated_text = generate_text(prompt, model)
print(generated_text)
Сразу добавлю, что проект исключительно для специалистов по GPT-2, знающих нюансы библиотеки Hugging Face. Начинающих программистов, прошедших 6-месячный курс по Python прошу свои услуги не предлагать. Простенький код, как выше, я и сам могу написать :)