import torch from transformers import AutoTokenizer, AutoModelForCausalLM # 1. 디바이스 설정 device = torch.device("cuda" if torch.cuda.is_available() else "cpu") # 2. 한국어 GPT-2 모델과 토크나이저 로드 tokenizer = AutoTokenizer.from_pretrained("skt/kogpt2-base-v2") model = AutoModelForCausalLM.from_pretrained("skt/kogpt2-base-v2").to(device) # 3. 한국어 소설 생성 함수 def generate_korean_story(prompt, max_length=300): input_ids = tokenizer.encode(prompt, return_tensors="pt").to(device) outputs = model.generate( input_ids, max_length=max_length, min_length=100, do_sample=True, temperature=0.9, top_k=50, top_p=0.95, repetition_penalty=1.2, no_repeat_ngram_size=3, eos_token_id=tokenizer.eos_token_id ) story = tokenizer.decode(outputs[0], skip_special_tokens=True) return story # 4. 실행 if __name__ == "__main__": user_prompt = input("📜 소설의 시작 문장을 입력하세요 (한국어): ") result = generate_korean_story(user_prompt, max_length=500) print("\n📖 생성된 한국어 소설:\n") print(result)