Fix app errors and improve interface
Browse files
app.py
CHANGED
|
@@ -3,35 +3,75 @@ from huggingface_hub import InferenceClient
|
|
| 3 |
import os
|
| 4 |
|
| 5 |
def generate_diary(keywords):
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
|
| 28 |
# Gradio μΈν°νμ΄μ€ μμ±
|
| 29 |
demo = gr.Interface(
|
| 30 |
fn=generate_diary,
|
| 31 |
-
inputs=gr.Textbox(
|
|
|
|
|
|
|
|
|
|
| 32 |
outputs=gr.Textbox(label="μμ±λ μΌκΈ°"),
|
| 33 |
-
title="AI μΌκΈ° λμ°λ―Έ",
|
| 34 |
-
description="ν€μλλ₯Ό μ
λ ₯νλ©΄ AIκ° μΌκΈ°λ₯Ό μμ±ν΄μ€λλ€."
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
)
|
| 36 |
|
| 37 |
if __name__ == "__main__":
|
|
|
|
| 3 |
import os
|
| 4 |
|
| 5 |
def generate_diary(keywords):
|
| 6 |
+
try:
|
| 7 |
+
if not keywords:
|
| 8 |
+
return "ν€μλλ₯Ό μ
λ ₯ν΄μ£ΌμΈμ."
|
| 9 |
+
|
| 10 |
+
client = InferenceClient(
|
| 11 |
+
model="nlpai-lab/kullm-polyglot-5.8b-v2",
|
| 12 |
+
token=os.environ.get("HUGGINGFACE_API_KEY")
|
| 13 |
+
)
|
| 14 |
+
|
| 15 |
+
prompt = f"""λ€μμ μ€λ μμλ μΌμ μμ½μ
λλ€. μ΄κ²μ λ°νμΌλ‘ μμνκ³ κ°λμ μΈ μΌκΈ°λ₯Ό μμ±ν΄μ£ΌμΈμ.
|
| 16 |
+
|
| 17 |
+
[μμΈ μꡬμ¬ν]
|
| 18 |
+
1. λμ
λΆ:
|
| 19 |
+
- κ·Έλ μ λ μ¨λ λΆμκΈ°λ‘ μμ
|
| 20 |
+
- μν©κ³Ό λ±μ₯μΈλ¬Ό μκ°
|
| 21 |
+
|
| 22 |
+
2. μ κ°:
|
| 23 |
+
- ꡬ체μ μΈ λνμ νλ λ¬μ¬
|
| 24 |
+
- μ€κ°μ μ¬μ©ν μ₯λ©΄ λ¬μ¬
|
| 25 |
+
- λ±μ₯μΈλ¬Όλ€μ νμ κ³Ό κ°μ λ³ν
|
| 26 |
+
|
| 27 |
+
3. κ°μ κ³Ό μκ°:
|
| 28 |
+
- λ΄λ©΄μ κ°μ μ μ¬μΈνκ² νν
|
| 29 |
+
- μ¬κ±΄μ λν λμ μκ°κ³Ό κΉ¨λ¬μ
|
| 30 |
+
- λ€λ₯Έ μ¬λλ€μ κ°μ μ λν 곡κ°
|
| 31 |
+
|
| 32 |
+
μμ½:
|
| 33 |
+
{keywords}
|
| 34 |
+
|
| 35 |
+
===
|
| 36 |
+
μ€λμ μΌκΈ°:
|
| 37 |
+
μ€λμ """
|
| 38 |
+
|
| 39 |
+
parameters = {
|
| 40 |
+
"max_new_tokens": 768,
|
| 41 |
+
"temperature": 0.88,
|
| 42 |
+
"top_p": 0.95,
|
| 43 |
+
"repetition_penalty": 1.35,
|
| 44 |
+
"top_k": 50,
|
| 45 |
+
"do_sample": True,
|
| 46 |
+
"num_return_sequences": 1
|
| 47 |
+
}
|
| 48 |
+
|
| 49 |
+
response = client.text_generation(prompt, **parameters)
|
| 50 |
+
|
| 51 |
+
if not response:
|
| 52 |
+
return "μΌκΈ° μμ±μ μ€ν¨νμ΅λλ€. λ€μ μλν΄μ£ΌμΈμ."
|
| 53 |
+
|
| 54 |
+
diary_content = response.split("μ€λμ ")[-1].strip()
|
| 55 |
+
return "μ€λμ " + diary_content
|
| 56 |
+
|
| 57 |
+
except Exception as e:
|
| 58 |
+
print(f"Error: {str(e)}")
|
| 59 |
+
return f"μ€λ₯κ° λ°μνμ΅λλ€: {str(e)}"
|
| 60 |
|
| 61 |
# Gradio μΈν°νμ΄μ€ μμ±
|
| 62 |
demo = gr.Interface(
|
| 63 |
fn=generate_diary,
|
| 64 |
+
inputs=gr.Textbox(
|
| 65 |
+
label="μ€λμ ν€μλλ₯Ό μ
λ ₯νμΈμ",
|
| 66 |
+
placeholder="μ: μ€λ μΉκ΅¬μ μΉ΄νμμ λ§λμ μ¦κ±°μ΄ μκ°μ 보λμ΄μ."
|
| 67 |
+
),
|
| 68 |
outputs=gr.Textbox(label="μμ±λ μΌκΈ°"),
|
| 69 |
+
title="AI μΌκΈ° λμ°λ―Έ π",
|
| 70 |
+
description="ν€μλλ₯Ό μ
λ ₯νλ©΄ AIκ° κ°μ±μ μΈ μΌκΈ°λ₯Ό μμ±ν΄μ€λλ€.",
|
| 71 |
+
examples=[
|
| 72 |
+
["μ€λ μΉκ΅¬μ μΉ΄νμμ λ§λ λ§μλ μΌμ΄ν¬λ₯Ό λ¨Ήμμ΄"],
|
| 73 |
+
["μ€λμ λΉκ° μμ μ§μμ μ±
μ μ½μμ΄"]
|
| 74 |
+
]
|
| 75 |
)
|
| 76 |
|
| 77 |
if __name__ == "__main__":
|