File size: 2,464 Bytes
8b7b432
bbbf02a
 
8b7b432
bbbf02a
90a95ac
 
 
 
 
6195808
90a95ac
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4d20401
 
 
 
 
 
 
90a95ac
 
 
 
 
 
 
 
 
 
bbbf02a
 
 
 
90a95ac
 
 
 
bbbf02a
90a95ac
 
 
 
 
 
bbbf02a
8b7b432
 
 
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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()