File size: 2,329 Bytes
53f9185 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
import torch
import transformers
from transformers import AutoTokenizer, GPTJForCausalLM
def get_sent(sent:str) -> str:
input_text = '[BOS]' + sent + '[EOS][BOS]'
input_length = len(tokenizer.encode(input_text))
max_length = 786
input_ids = torch.tensor(tokenizer.encode(input_text)).unsqueeze(0).to('cuda')
output_sentence = model.generate(
input_ids,
do_sample=True,
max_length=int(max_length),
num_return_sequences=1,
no_repeat_ngram_size=4,
num_beams=5,
early_stopping=True
)
generated_sequence = output_sentence[0].tolist()[input_length:]
decoded_sent = tokenizer.decode(generated_sequence, skip_special_tokens=False).strip()
return decoded_sent
if __name__ == "__main__":
tokenizer = AutoTokenizer.from_pretrained('kakaobrain/kogpt', revision="KoGPT6B-ryan1.5b")
model = GPTJForCausalLM.from_pretrained('./', torch_dtype=torch.float16)
model.cuda()
text = """
λ²μμμ΄ μ¨κ²μ μΈμ νκΈ° μ«μ΄μ.
2λ
μ λΆν° μ°μΈμ¦μ μλ¬λ Έμ΅λλ€. 2λ
λμ μ λ₯Ό μμκ°λ €κ³ μ μ°κ³ λμμ μ μ λ―Έλλ₯Ό μν΄ λμμμ΄ μκ²©μ¦ κ³΅λΆμ νμ
μ λ³νν΄ μμ΄μ.
νμ§λ§ λΆμμ ν μ¬λ¦¬ μνλ‘ μΈνμ¬ μ κΏκ³Ό μλ§μ κΈ°νλ€μ μ‘μ§ λͺ»νκ³ λλ§μ³λ²λ Έμ΅λλ€. μ΄μ§ΈμμΌκΉμ μ μ λ λ¨λ€λ³΄λ€ λ²ν°λ νμ΄ μ½νκ±ΈκΉμ.
λ€μ νμλ΄μ λμ λ ν΄λ³΄κ³ μ¬λ¬ μΌμ ν΄λ³΄λ©° λͺ¨λ μλμ§λ₯Ό μμλΆμλλ μ΄λλ νκΈμ΄ μ νμ
μ΄ μλκ³ κ°λ¨ν κ²°μ μ λ΄λ¦¬λ κ²μ΄ μ΄λ €μ κ²°κ΅ μ§μ₯μ λ κ·Έλ§λκ² λμμ΅λλ€. λμ½νλ€κ³ νκΈ°μλ 보ν΅μ¬λλ€μ΄ λ²ν°κΈ° μ΄λ €μνλ μ§μ’
μ νκ³ μκ±°λ μ.
λ무 κ³Όλνκ² νμ λ΄μ μ΄μ¬ν ν νμΌκΉμ? μ΄μ λ μ λ§ λ°°ν°λ¦¬κ° 1%λ λ¨μμμ§ μλ κ² κ°μμ. κ·Όλ° μ¬λ €λκΉ λΆμν΄μ§κ³ λΆλͺ¨λκ» λ―Έμν΄μ μνμ§λ§ μμμ΄λ λλ μ리 μ μ‘μμ μ μ§λμ ν
λ°μ.. μμΌλ‘ μ λ κ·Έλ₯ ν΄μμ μ·¨νλ κ²μ΄ λ§μκΉμ? μ λ μ΄λ€ μνμ μλ κ±ΈκΉμ?
"""
text = text.replace('\n','')
result = get_sent(text)
result = result.replace('μ¬μ°λ', 'λ§μΉ΄λ')
print('λ‘λν:', result) |