Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -50,9 +50,10 @@ def main():
|
|
50 |
<span style="font-size: 22px;"><a href="https://huggingface.co/davidkim205/keval-2-9b" target="_blank" style="text-decoration: none; color: #000080;">Keval model link << Click here!</a></span> </br></br>
|
51 |
"""
|
52 |
|
53 |
-
|
54 |
-
|
55 |
-
|
|
|
56 |
|
57 |
with gr.Blocks() as app:
|
58 |
gr.Markdown("# Evaluating LLM Responses with Keval")
|
@@ -80,22 +81,18 @@ def main():
|
|
80 |
text2 = gr.Textbox(label="Answer", value="μλ
νμΈμ, μμ΄μΈλ§¨μ΄ λμ΄ κ°μ₯ μ’μ λΆλΆμ λ¬Όμ΄λ³΄μ
¨λ€μ. μ μκ°μλ μ΅μ²¨λ¨ κΈ°μ λ‘ λ¬΄μ₯ν μνΈλ₯Ό μ
κ³ νλμ λ μλ€λλ©° μΈμμ ꡬνλ κ²μ΄ κ°μ₯ μ§λ¦Ώνκ³ λ³΄λμ°¬ μΌμΈ κ² κ°μμ. μ μ¬λ₯κ³Ό λ₯λ ₯μ μλΆ λ°νν΄ μ
λΉλ€κ³Ό μΈμ°κ³ μ μλ₯Ό μ€ννλ κ²λ§νΌ λ©μ§ μΌλ μμ£ .\n\nλ¬Όλ‘ μνΈ μμ΄λ μ²μ¬μ μΈ λλμ 카리μ€λ§λ‘ μΈμμ κΈμ μ μΈ μν₯λ ₯μ λ―ΈμΉλ κ²λ ν° μ₯μ μ΄μμ. μ€νν¬ μΈλμ€νΈλ¦¬λ₯Ό μ΄λλ©° νμ μ μΈ κΈ°μ μ κ°λ°νκ³ , μ΄λ²€μ Έμ€μ 리λλ‘μ νμ μ μ΄λλ κ²λ μλΆμ¬μ λλΌλ λΆλΆμ΄μ£ .\n\nλ, λͺ
μ±, μΈκΈ°λ μμ§λ§ 무μλ³΄λ€ μ λ₯λ ₯μΌλ‘ μ¬λλ€μ λκ³ μΈμμ λ λμ κ³³μΌλ‘ λ§λλ κ²μ΄ κ°μ₯ ν° λ³΄λμ΄μμ. μμ΄μΈλ§¨μΌλ‘μ λλΌλ μλΆμ¬κ³Ό μΆμ μλ―Έλ₯Ό ν¨κ» λλ μ μμ΄ κΈ°μλ€μ.")
|
81 |
text3 = gr.Textbox(label="System message", value="[μ§μ]\n 곡μ ν μ¬νμΌλ‘μ μλμ νμλ μ¬μ©μ μ§λ¬Έμ λν AI μ΄μμ€ν΄νΈμ μλ΅ νμ§μ νκ°ν΄μ£ΌμΈμ. μ§λ¬Έκ³Ό λλ΅μ μΈμ΄κ° λμΌνμ§ μμΌλ©΄ 무쑰건 0μ μ
λλ€. νκ°μμλ μλ΅μ μ μ©μ±, κ΄λ ¨μ±, μ νμ±, κΉμ΄, μ°½μμ±, μμΈν¨ λ±μ μμλ₯Ό κ³ λ €ν΄μΌ ν©λλ€. νκ°λ₯Ό μμνκΈ° μ μ 짧μ μ€λͺ
μ μ 곡νμΈμ. κ°λ₯ν ν κ°κ΄μ μΌλ‘ νκ°νμΈμ. μ€λͺ
μ μ 곡ν ν λ€μ νμμ μ격ν λ°λΌ 1μμ 10μ μ¬μ΄λ‘ νκ°ν΄μΌ ν©λλ€: \"[[rating]]\", μλ₯Ό λ€μ΄: \"Rating: [[5]]\".\n\n")
|
82 |
dropdown = gr.Dropdown(choices=["davidkim205/keval-2-1b", "davidkim205/keval-2-3b"], value="davidkim205/keval-2-1b", label="Model Selection")
|
83 |
-
slider1 = gr.Slider(minimum=1, maximum=2048, value=1024, step=1
|
84 |
-
slider2 = gr.Slider(minimum=0.1, maximum=4.0, value=1.0, step=0.1
|
85 |
-
slider3 = gr.Slider(minimum=0.1, maximum=1.0, value=0.95, step=0.05
|
86 |
submit = gr.Button("Submit", elem_id="submit-btn")
|
87 |
with gr.Column(scale=1):
|
88 |
output = gr.Textbox(label="Output")
|
89 |
|
90 |
gr.Markdown("")
|
91 |
gr.Markdown("## Examples")
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
with gr.Column():
|
96 |
-
gr.Examples(label="Example2", examples=example2, inputs=[text1, text2, text3, dropdown, slider1, slider2, slider3])
|
97 |
-
with gr.Column():
|
98 |
-
gr.Examples(label="Example3", examples=example3, inputs=[text1, text2, text3, dropdown, slider1, slider2, slider3])
|
99 |
|
100 |
submit.click(
|
101 |
fn=respond,
|
@@ -107,4 +104,5 @@ def main():
|
|
107 |
|
108 |
|
109 |
if __name__ == "__main__":
|
110 |
-
main()
|
|
|
|
50 |
<span style="font-size: 22px;"><a href="https://huggingface.co/davidkim205/keval-2-9b" target="_blank" style="text-decoration: none; color: #000080;">Keval model link << Click here!</a></span> </br></br>
|
51 |
"""
|
52 |
|
53 |
+
examples_list = [["μ΅κ·Ό μ μ£Όλ μ¬νμ λ€λ
μ€λ©΄μ κΌ κ°λ΄μΌ ν λͺ
μλ₯Ό κ°μ‘°νλ μ¬λ―Έμλ μ¬ν λΈλ‘κ·Έ κΈμ μμ±νμμ€.","## μ μ£Όλ? μ€λλΆν° \"μ μ£Όλ ννκ°\"λ‘ μ°νλ λ²! ποΈπ₯\n\nμ μ£Όλ, κ·Έ μ체λ‘λ λ©μ§ μ΄λ¦μ΄μ£ ? λ°λ€κ° κ·Έλ €λΈ μ¬, νλμ΄ λΉμ΄λΈ μμ°, κ·Έλ¦¬κ³ μΈκ°μ μκΈΈμ΄ λ§λ 맀λ ₯κΉμ§! μ μ£Ό ννκ°κ° λκΈ° μν΄ κΌ κ°λ΄μΌ ν λͺ
μλ€, λκ° μμκΉμ? μ¬κΈ° λ±ν μ‘μ±μ²λΌ κΈ°λλλ μκ°μ΄ μμ§ μλμ? κ·Έ μκ°μ λ§λλ κ³³λ€μ΄ λ°λ‘ μ΄κ³³μ΄λΌλ©΄, λκ° λ€μλ 보μΈμ!\n\n**1. μ λͺ
ν κ³³λ, μ¨κ²¨μ§ 보μλ ννν΄λ΄μΌμ§!**\n\nμ μ£Όλμμ λΉ μ§ μ μλ λͺ
μμ£ . νλΌμ°μ μ λΉν μμ° μμ μ¨κ²¨μ§ μ²κΈΈμ κ±ΈμΌλ©°, λ°λ€ λλ¨Έμ νΈλ₯Έ λμ μΏλ³Ό μ μλ νλΌμ° λ±λ°μ μμ§ λͺ»ν κ²½νμ μ μ¬ν κ±°μμ. νμ§λ§ μ΄κ³³μ 맀λ ₯μ κ·Έ μμ²΄λ‘ λλμ§ μμμ. μ¨κ²¨μ§ 보μ κ°μ κ³³λ€μ μ°Ύμλ΄λ κ²μ΄ μ μ£Ό ννκ°μ μ¬λ―Έμ£ ! μλ₯Ό λ€μ΄, μ€λ¦ μ€μ¬λΆμ μ리 μ‘μ μ²μΉμμ λ°λ€κ° λΉμ΄λΈ μμ μνμ²λΌ μ λΉλ‘κ³ , μ§λ¦¬μ° μ£Όλ³μ μ λ―Όμλ§μμ μκ°μ΄ λ©μΆ λ―ν μκ°μ μ μ¬ν κ±°μμ.\n\n**2. λ§μλ μμλ ννμ μΌνμ΄μ§!**\n\nμ μ£Όλμ λ§μ ννκ°μ νμ λΆλμμ£Όμ£ ! μ±μ±ν ν΄μ°λ¬Όλ‘ λ§λ νμ λ©κ², κ·Έλ¦¬κ³ λ§μλ νμκ³Ό ν¨κ», μ μ£Όλμ νΉμμ λ΄μ μμλ€μ λ§λ³΄μΈμ. νΉν, νλΌμ° κ·Όμ²μ μ¨κ²¨μ§ νμλΉμμλ λ§μ§λ€μ΄ λͺ¨μ¬ μμ΄μ. μ΄κ³³μμ μ»λ λ§μ μ¦κ±°μμ ννμ νΌλ‘λ₯Ό μ»μ΄λ΄λ μ΅κ³ μ 보μμ΄ λ κ±°μμ.\n\n**3. μμ°κ³Ό ν¨κ»νλ μ‘ν°λΉν°λ νμ!**\n\nμ μ£Όλμ μμ°μ ννκ°λ₯Ό μν 무νν λμ΄ν°μ£ ! μν, μ€λ
Έν΄λ§, νμ΄νΉ λ± λ€μν μ‘ν°λΉν°λ₯Ό ν΅ν΄ μμ°κ³Όμ κ΅κ°μ κ²½νν΄λ³΄μΈμ. μλ₯Ό λ€μ΄, μ μ£Ό ν΄μμ μ λ°λΌ λ¬λ¦¬λ λ°λ€ μ μμ κ±° νκΈ°λ, μ¨κ²¨μ§ ν΄λ³μμμ μΊ νμ μμ§ λͺ»ν μΆμ΅μ μ μ¬ν κ±°μμ.\n\n**4. μ μ£Όλ§μ λ¬Ένμ μμ λ ννν΄λ³΄μΈμ!**\n\nμ μ£Όλλ λ¨μν μμ°μ μλ¦λ€μλ§μ΄ μλ, λ
νΉν λ¬Ένμ μμ λ‘λ μ λͺ
ν΄μ. μλ₯Ό λ€μ΄, μ μ£Ό λ―Όμμ΄μ΄λ μ€λ¦ λ°λ¬Όκ΄μ μ μ£Όμ μμ¬μ λ¬Ένλ₯Ό μΏλ³Ό μ μλ κ³³μ΄λ©°, μ μ£Ό νΉμ μ 곡μνμ ꡬ경νλ©° μ¦κ±°μ΄ μκ°μ λ³΄λΌ μ μμ΄μ.\n\nμ΄μ μ μ£Όλ ννκ°κ° λλ μ€λΉκ° λλ¬μΌλ, λ λ 보μΈμ! μ μ£Όλμ 맀λ ₯μ λλΌλ©°, μμ λ§μ νΉλ³ν μ¬ν μ΄μΌκΈ°λ₯Ό λ§λ€μ΄λ³΄μΈμ. κ·Έλ¦¬κ³ μμ§ λ§μΈμ, μ μ£Όλ λΉμ μ΄ λ€μ νλ² λμμ¬ λ§ν κ³³μ΄λΌλ μ¬μ€μ! π",None, None, None, None, None],
|
54 |
+
["μ§λ―Όμ λ§€μ° κ±΄κ°νμ§λ§ λ§€μΌ λ³μμ κ°μΌ ν©λλ€. μ΄μ λ 무μμ
λκΉ?","μ§λ―Όμ΄ λ§€μΌ λ³μμ κ°μΌ νλ μ΄μ λ 무μμΈμ§ μ νν μ μ μμ΅λλ€. κ±΄κ° μνμ λν μμΈν μ λ³΄κ° νμν©λλ€. μΌλ°μ μΌλ‘ λ§€μΌ λ³μμ κ°μΌ νλ κ²½μ°λ λ€μκ³Ό κ°μ΅λλ€.\n\n1. μ¬κ°ν μ§λ³μ΄λ λΆμμ μ
μ κ²½μ°: μ€νμμ€μ΄λ μ§μ€ μΉλ£κ° νμν κ²½μ° λ§€μΌ μλ£μ§μ κ΄μ°°κ³Ό μΉλ£κ° νμν μ μμ΅λλ€.\n\n2. λ§μ± μ§νμ μκ³ μλ κ²½μ°: λΉλ¨λ³, κ³ νμ, μ¬μ₯ μ§ν λ± μ§μμ μΈ κ΄λ¦¬κ° νμν λ§μ± μ§νμ μκ³ μλ€λ©΄ μ κΈ°μ μΈ κ²μ§κ³Ό μΉλ£λ₯Ό μν΄ λ§€μΌ λ³μμ κ° μ μμ΅λλ€.\n\n3. μ¬ν μΉλ£κ° νμν κ²½μ°: μ¬κ³ λ μμ ν μ¬ν μΉλ£κ° οΏ½οΏ½οΏ½μν κ²½μ°, 물리 μΉλ£λ μμ
μΉλ£λ₯Ό μν΄ λ§€μΌ λ³μμ λ°©λ¬Έν μ μμ΅λλ€.\n\n4. μμ°λΆμ κ²½μ°: μμ μ€κΈ°λ νκΈ°μλ νμμ μ°λͺ¨μ κ±΄κ° μνλ₯Ό νμΈνκΈ° μν΄ μ κΈ°μ μΌλ‘ λ³μμ λ°©λ¬Ένλ κ²μ΄ μΌλ°μ μ
λλ€.\n\n5. μ μ κ³Όμ μΉλ£κ° νμν κ²½μ°: μ°μΈμ¦, λΆμ μ₯μ , μΈμ ν μ€νΈλ μ€ μ₯μ λ± μ μ κ±΄κ° λ¬Έμ λ‘ μΈν΄ λ§€μΌ λ³μμ λ°©λ¬Ένμ¬ μλ΄μ΄λ μΉλ£λ₯Ό λ°μ μ μμ΅λλ€.\n\nμ§λ―Όμ κ²½μ°, κ±΄κ° μνμ λν μΆκ°μ μΈ μ λ³΄κ° νμν©λλ€. λ§€μΌ λ³μμ κ°μΌ νλ μ΄μ λ₯Ό μ νν νμ
νκΈ° μν΄, λ΄λΉ μμ¬λ μλ£μ§κ³Ό μμνλ κ²μ΄ μ’μ΅λλ€.",None, None, None, None, None],
|
55 |
+
["λ€μμ λ μ
λ ₯ λ¬Έμμ΄μ κ°μ₯ κΈ΄ κ³΅ν΅ λΆλΆ μμ΄μ κΈΈμ΄λ₯Ό μ°Ύλ Python ν¨μμ
λλ€. μ΄ ν¨μμμ λ²κ·Έλ₯Ό μλ³ν μ μλμ?\n\n```\ndef longest_common_subsequence_length(str1, str2):\n m = len(str1)\n n = len(str2)\n\n dp = [[0] * (n + 1) for _ in range(m + 1)]\n\n for i in range(1, m + 1):\n for j in range(1, n + 1):\n if str1[i - 1] == str2[j - 1]:\n dp[i][j] = dp[i - 1][j - 1] + 1\n else:\n dp[i][j] = max(dp[i - 1][j], dp[i][j - 1])\n\n return dp[m][n]\n```", "μ 곡λ μ½λμλ λͺ
λ°±ν λ²κ·Έλ μμ΄ λ³΄μ
λλ€. μ΄ ν¨μλ λ λ¬Έμμ΄μ κ°μ₯ κΈ΄ κ³΅ν΅ λΆλΆ μμ΄(LCS)μ κΈΈμ΄λ₯Ό μ¬λ°λ₯΄κ² κ³μ°ν©λλ€. λ€μκ³Ό κ°μ μ£Όμ λ¨κ³λ₯Ό λ°λ¦
λλ€:\n\n1. λ λ¬Έμμ΄μ κΈΈμ΄μ κΈ°λ°νμ¬ 2D DP ν
μ΄λΈμ μ΄κΈ°νν©λλ€.\n2. λ λ¬Έμμ΄μ μννλ©΄μ DP ν
μ΄λΈμ μ±μλλ€.\n3. λ¬Έμκ° μΌμΉνλ©΄ λκ°μ μΌμͺ½ μ κ°μ 1μ λν©λλ€.\n4. λ¬Έμκ° μΌμΉνμ§ μμΌλ©΄ μΌμͺ½κ³Ό μμͺ½ κ° μ€ μ΅λκ°μ μ νν©λλ€.\n5. λ§μ§λ§μΌλ‘ DP ν
μ΄λΈμ μ€λ₯Έμͺ½ νλ¨ κ°μ λ°νν©λλ€.\n\nμ΄ μκ³ λ¦¬μ¦μ μ ννκ³ ν¨μ¨μ μ
λλ€. μκ° λ³΅μ‘λλ O(m*n)μ΄κ³ κ³΅κ° λ³΅μ‘λλ O(m*n)μ
λλ€.\n\nλ€λ§, μ½λμ κ°λ
μ±κ³Ό ν¨μ¨μ±μ λμ΄κΈ° μν΄ λ€μκ³Ό κ°μ κ°μ μ¬νμ μ μν μ μμ΅λλ€:\n\n1. λ³μλͺ
μ λ λͺ
ννκ² μ§μ ν μ μμ΅λλ€ (μ: `m`μ `len_str1`λ‘, `n`μ `len_str2`λ‘).\n2. μ£Όμμ μΆκ°νμ¬ μκ³ λ¦¬μ¦μ κ° λ¨κ³λ₯Ό μ€λͺ
ν μ μμ΅λλ€.\n3. κ³΅κ° ν¨μ¨μ±μ μν΄ 2D λ°°μ΄ λμ 1D λ°°μ΄μ μ¬μ©ν μ μμ΅λλ€ (μ΄λ λ 볡μ‘ν ꡬνμ΄ νμν©λλ€).\n\nνμ§λ§ νμ¬ μ½λλ λ¬Έμ μμ΄ μλνλ©° LCSμ κΈΈμ΄λ₯Ό μ νν κ³μ°ν©λλ€.", None, None, None, None, None]
|
56 |
+
]
|
57 |
|
58 |
with gr.Blocks() as app:
|
59 |
gr.Markdown("# Evaluating LLM Responses with Keval")
|
|
|
81 |
text2 = gr.Textbox(label="Answer", value="μλ
νμΈμ, μμ΄μΈλ§¨μ΄ λμ΄ κ°μ₯ μ’μ λΆλΆμ λ¬Όμ΄λ³΄μ
¨λ€μ. μ μκ°μλ μ΅μ²¨λ¨ κΈ°μ λ‘ λ¬΄μ₯ν μνΈλ₯Ό μ
κ³ νλμ λ μλ€λλ©° μΈμμ ꡬνλ κ²μ΄ κ°μ₯ μ§λ¦Ώνκ³ λ³΄λμ°¬ μΌμΈ κ² κ°μμ. μ μ¬λ₯κ³Ό λ₯λ ₯μ μλΆ λ°νν΄ μ
λΉλ€κ³Ό μΈμ°κ³ μ μλ₯Ό μ€ννλ κ²λ§νΌ λ©μ§ μΌλ μμ£ .\n\nλ¬Όλ‘ μνΈ μμ΄λ μ²μ¬μ μΈ λλμ 카리μ€λ§λ‘ μΈμμ κΈμ μ μΈ μν₯λ ₯μ λ―ΈμΉλ κ²λ ν° μ₯μ μ΄μμ. μ€νν¬ μΈλμ€νΈλ¦¬λ₯Ό μ΄λλ©° νμ μ μΈ κΈ°μ μ κ°λ°νκ³ , μ΄λ²€μ Έμ€μ 리λλ‘μ νμ μ μ΄λλ κ²λ μλΆμ¬μ λλΌλ λΆλΆμ΄μ£ .\n\nλ, λͺ
μ±, μΈκΈ°λ μμ§λ§ 무μλ³΄λ€ μ λ₯λ ₯μΌλ‘ μ¬λλ€μ λκ³ μΈμμ λ λμ κ³³μΌλ‘ λ§λλ κ²μ΄ κ°μ₯ ν° λ³΄λμ΄μμ. μμ΄μΈλ§¨μΌλ‘μ λλΌλ μλΆμ¬κ³Ό μΆμ μλ―Έλ₯Ό ν¨κ» λλ μ μμ΄ κΈ°μλ€μ.")
|
82 |
text3 = gr.Textbox(label="System message", value="[μ§μ]\n 곡μ ν μ¬νμΌλ‘μ μλμ νμλ μ¬μ©μ μ§λ¬Έμ λν AI μ΄μμ€ν΄νΈμ μλ΅ νμ§μ νκ°ν΄μ£ΌμΈμ. μ§λ¬Έκ³Ό λλ΅μ μΈμ΄κ° λμΌνμ§ μμΌλ©΄ 무쑰건 0μ μ
λλ€. νκ°μμλ μλ΅μ μ μ©μ±, κ΄λ ¨μ±, μ νμ±, κΉμ΄, μ°½μμ±, μμΈν¨ λ±μ μμλ₯Ό κ³ λ €ν΄μΌ ν©λλ€. νκ°λ₯Ό μμνκΈ° μ μ 짧μ μ€λͺ
μ μ 곡νμΈμ. κ°λ₯ν ν κ°κ΄μ μΌλ‘ νκ°νμΈμ. μ€λͺ
μ μ 곡ν ν λ€μ νμμ μ격ν λ°λΌ 1μμ 10μ μ¬μ΄λ‘ νκ°ν΄μΌ ν©λλ€: \"[[rating]]\", μλ₯Ό λ€μ΄: \"Rating: [[5]]\".\n\n")
|
83 |
dropdown = gr.Dropdown(choices=["davidkim205/keval-2-1b", "davidkim205/keval-2-3b"], value="davidkim205/keval-2-1b", label="Model Selection")
|
84 |
+
slider1 = gr.Slider(label="Max new tokens", minimum=1, maximum=2048, value=1024, step=1)
|
85 |
+
slider2 = gr.Slider(label="Temperature", minimum=0.1, maximum=4.0, value=1.0, step=0.1)
|
86 |
+
slider3 = gr.Slider(label="Top-p (nucleus sampling)", minimum=0.1, maximum=1.0, value=0.95, step=0.05)
|
87 |
submit = gr.Button("Submit", elem_id="submit-btn")
|
88 |
with gr.Column(scale=1):
|
89 |
output = gr.Textbox(label="Output")
|
90 |
|
91 |
gr.Markdown("")
|
92 |
gr.Markdown("## Examples")
|
93 |
+
gr.Examples(label="Input Example",
|
94 |
+
examples=examples_list,
|
95 |
+
inputs=[text1, text2, text3, dropdown, slider1, slider2, slider3])
|
|
|
|
|
|
|
|
|
96 |
|
97 |
submit.click(
|
98 |
fn=respond,
|
|
|
104 |
|
105 |
|
106 |
if __name__ == "__main__":
|
107 |
+
main()
|
108 |
+
|