Generowanie odpowiedzi z modelu

0

def generate_response(input_text, model, word2_to_index, index2_to_word, device):

input_tensor = torch.tensor([word2_to_index[word] for word in input_text.split()], dtype=torch.long).to(device)

model.eval()
with torch.no_grad():
    input_lengths = torch.tensor([len(input_tensor)], dtype=torch.long, device=device)
    output_logits = model(input_tensor.unsqueeze(0), input_lengths)
    output_logits = output_logits.squeeze(0)

output_indices = torch.argmax(output_logits, dim=1)
response_words = [index2_to_word.get(index.item(), "<UNK>") for index in output_indices]

return ' '.join(response_words)

Witam oto moja funkcja generowania tekstu w AI tylko jest ona zbudowana tak że generuje ona tekst na który model daje największe prawdopodobieństwo. Ma ktoś jakieś rady jak zrobić aby generowało słowa sekwencyjne na bazie kontekstu poprzednich słów używając stan ukryty? Żeby generowana odpowiedź przypominała zależnie od input text, to co nauczyła się w output. Jbc problem jest właśnie z tą funkcją bo cała reszta kodu (np. ML) działa poprawnie.

0

Co dokładnie ma robić ten model, jak ma uwzględnić swój output?

1 użytkowników online, w tym zalogowanych: 0, gości: 1