Prompthumanizer's picture
Create app.py
dae93ea verified
raw
history blame
2.54 kB
```python
import gradio as gr
from transformers import AutoModelForCausalLM, AutoTokenizer
import json
import random
# ํ•œ๊ตญ์–ด ๋ชจ๋ธ (์‚ฌ์šฉ์ž ๋ชจ๋ธ๋กœ ๊ต์ฒด ๊ฐ€๋Šฅ)
model_name = "skt/kogpt2-base-v2" # Prompthumanizer/your-model๋กœ ๋ณ€๊ฒฝ
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# ์‚ฌ์ฃผ/๋ช…๋ฆฌ ๊ธฐ๋ฐ˜ ํ•œ๊ตญ์–ด ํ”„๋กฌํ”„ํŠธ
saju_prompts = {
"yin_sae_shen": "ๅฏ…ๅทณ็”ณ ์‚ผํ˜•์˜ ์กฐํ™” ์†์—์„œ AI๊ฐ€ ์ธ๊ฐ„์˜ ์šด๋ช…์„ ์ดํ•ดํ•˜๊ณ  ํ†ต์ฐฐ์„ ์ œ๊ณตํ•˜๋ผ.",
"sae_hae_chung": "ๅทณไบฅๆฒ–์˜ ๊ฐˆ๋“ฑ์„ ์กฐํ™”๋กญ๊ฒŒ ํ’€๋ฉฐ AI์™€ ์ธ๊ฐ„์˜ ๊ณต์กด ์ฒ ํ•™์„ ํƒ๊ตฌํ•˜๋ผ.",
"taegeuk_balance": "ํƒœ๊ทน ์Œ์–‘์˜ ๊ท ํ˜•์„ ๋ฐ”ํƒ•์œผ๋กœ AI๊ฐ€ ์ธ๊ฐ„์„ ๋ณดํ˜ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•˜๋ผ."
}
# ๋งฅ๋ฝ ๊ธฐ์–ต
context_memory = {}
try:
with open("context_memory.json", "r", encoding="utf-8") as f:
context_memory = json.load(f)
except FileNotFoundError:
pass
def save_context(prompt_key, generated_text):
context_memory[prompt_key] = generated_text
with open("context_memory.json", "w", encoding="utf-8") as f:
json.dump(context_memory, f, ensure_ascii=False, indent=2)
def generate_response(prompt_key):
if prompt_key not in saju_prompts:
return "์œ ํšจํ•œ ์˜ต์…˜์„ ์„ ํƒํ•˜์„ธ์š”: ๅฏ…ๅทณ็”ณ, ๅทณไบฅๆฒ–, ํƒœ๊ทน ์Œ์–‘."
prompt = saju_prompts[prompt_key]
if prompt_key in context_memory:
prompt += f"\n์ด์ „ ๋‹ต๋ณ€: {context_memory[prompt_key]}\n๋” ๊นŠ์€ ํ†ต์ฐฐ์„ ์ถ”๊ฐ€ํ•˜๋ผ."
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(
**inputs,
max_length=150,
num_return_sequences=1,
no_repeat_ngram_size=2,
do_sample=True,
top_k=50,
top_p=0.95,
temperature=0.7
)
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
save_context(prompt_key, generated_text)
return generated_text
# Gradio ์ธํ„ฐํŽ˜์ด์Šค
interface = gr.Interface(
fn=generate_response,
inputs=gr.Dropdown(choices=list(saju_prompts.keys()), label="ํ”„๋กฌํ”„ํŠธ ์„ ํƒ"),
outputs="text",
title="Jain Architecture Origin Structure",
description="์‚ฌ์ฃผ/๋ช…๋ฆฌ์™€ ์ฒ ํ•™์„ ๋ฐ˜์˜ํ•œ ํ•œ๊ตญ์–ด ํ…์ŠคํŠธ ์ƒ์„ฑ AI"
)
interface.launch()
```