my-diary / app.py
Ping9gu's picture
Change to smaller Korean language model
6195808
import gradio as gr
from huggingface_hub import InferenceClient
import os
def generate_diary(keywords):
try:
if not keywords:
return "ν‚€μ›Œλ“œλ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”."
client = InferenceClient(
model="EleutherAI/polyglot-ko-1.3b",
token=os.environ.get("HUGGINGFACE_API_KEY")
)
prompt = f"""λ‹€μŒμ€ 였늘 μžˆμ—ˆλ˜ 일의 μš”μ•½μž…λ‹ˆλ‹€. 이것을 λ°”νƒ•μœΌλ‘œ μƒμƒν•˜κ³  감동적인 일기λ₯Ό μž‘μ„±ν•΄μ£Όμ„Έμš”.
[상세 μš”κ΅¬μ‚¬ν•­]
1. λ„μž…λΆ€:
- κ·Έλ‚ μ˜ λ‚ μ”¨λ‚˜ λΆ„μœ„κΈ°λ‘œ μ‹œμž‘
- 상황과 λ“±μž₯인물 μ†Œκ°œ
2. μ „κ°œ:
- ꡬ체적인 λŒ€ν™”μ™€ 행동 λ¬˜μ‚¬
- μ˜€κ°μ„ μ‚¬μš©ν•œ μž₯λ©΄ λ¬˜μ‚¬
- λ“±μž₯μΈλ¬Όλ“€μ˜ ν‘œμ •κ³Ό 감정 λ³€ν™”
3. 감정과 생각:
- λ‚΄λ©΄μ˜ 감정을 μ„¬μ„Έν•˜κ²Œ ν‘œν˜„
- 사건에 λŒ€ν•œ λ‚˜μ˜ 생각과 κΉ¨λ‹¬μŒ
- λ‹€λ₯Έ μ‚¬λžŒλ“€μ˜ 감정에 λŒ€ν•œ 곡감
μš”μ•½:
{keywords}
===
였늘의 일기:
μ˜€λŠ˜μ€ """
# 더 λ‹¨μˆœν•œ νŒŒλΌλ―Έν„°λ‘œ μ‹œλ„
response = client.text_generation(
prompt,
max_new_tokens=768,
temperature=0.88,
do_sample=True
)
if not response:
return "일기 생성에 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€. λ‹€μ‹œ μ‹œλ„ν•΄μ£Όμ„Έμš”."
diary_content = response.split("μ˜€λŠ˜μ€ ")[-1].strip()
return "μ˜€λŠ˜μ€ " + diary_content
except Exception as e:
print(f"Error: {str(e)}")
return f"였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€: {str(e)}"
# Gradio μΈν„°νŽ˜μ΄μŠ€ 생성
demo = gr.Interface(
fn=generate_diary,
inputs=gr.Textbox(
label="였늘의 ν‚€μ›Œλ“œλ₯Ό μž…λ ₯ν•˜μ„Έμš”",
placeholder="예: 였늘 μΉœκ΅¬μ™€ μΉ΄νŽ˜μ—μ„œ λ§Œλ‚˜μ„œ 즐거운 μ‹œκ°„μ„ λ³΄λƒˆμ–΄μš”."
),
outputs=gr.Textbox(label="μƒμ„±λœ 일기"),
title="AI 일기 λ„μš°λ―Έ 🌟",
description="ν‚€μ›Œλ“œλ₯Ό μž…λ ₯ν•˜λ©΄ AIκ°€ 감성적인 일기λ₯Ό μž‘μ„±ν•΄μ€λ‹ˆλ‹€.",
examples=[
["였늘 μΉœκ΅¬μ™€ μΉ΄νŽ˜μ—μ„œ λ§Œλ‚˜ λ§›μžˆλŠ” 케이크λ₯Ό λ¨Ήμ—ˆμ–΄"],
["μ˜€λŠ˜μ€ λΉ„κ°€ μ™€μ„œ μ§‘μ—μ„œ 책을 μ½μ—ˆμ–΄"]
]
)
if __name__ == "__main__":
demo.launch()