app.py
CHANGED
@@ -485,10 +485,10 @@ def chatbot_response(message, history, window_size, threshold, score_threshold,u
|
|
485 |
#ηιεηειιθΏθ‘ζη₯¨οΌιεΊθ’«ζη₯¨ζε€ηδΈζ‘
|
486 |
#ζδΈη¬¬δΈδΈͺε
η΄ ε εεζι
|
487 |
|
488 |
-
group_scores
|
489 |
-
if
|
490 |
for candidate in candidates:
|
491 |
-
group_id
|
492 |
keyword = candidate['keyword']
|
493 |
keyword_list = candidate['keyword_list'].split(',')
|
494 |
|
@@ -505,8 +505,8 @@ def chatbot_response(message, history, window_size, threshold, score_threshold,u
|
|
505 |
score = 1
|
506 |
|
507 |
if keyword in triggered_keywords and current_turn - triggered_keywords[keyword] < window_size:
|
508 |
-
if
|
509 |
-
score = triggered_weight
|
510 |
else:
|
511 |
keywords_dict[keyword] = triggered_weight
|
512 |
|
@@ -516,13 +516,6 @@ def chatbot_response(message, history, window_size, threshold, score_threshold,u
|
|
516 |
else:
|
517 |
group_scores[group_id] = score
|
518 |
|
519 |
-
total_score = sum(group_scores.values())
|
520 |
-
|
521 |
-
if total_score > 0:
|
522 |
-
for group_id in group_scores:
|
523 |
-
group_scores[group_id] /= total_score
|
524 |
-
|
525 |
-
|
526 |
distance=1000
|
527 |
if group_scores:
|
528 |
max_group_id = max(group_scores, key=group_scores.get)
|
@@ -602,7 +595,7 @@ demo = gr.ChatInterface(
|
|
602 |
# gr.Slider(minimum=0.1, maximum=1.0, value=0.95, step=0.05, label="Top-p (nucleus sampling)"),
|
603 |
gr.Slider(minimum=1, maximum=5, value=2, step=1, label="Window size"),
|
604 |
gr.Slider(minimum=0.01, maximum=0.3, value=0.25, step=0.01, label="Distance threshold"),
|
605 |
-
gr.Slider(minimum=
|
606 |
gr.Slider(minimum=1, maximum=5, value=2, step=1, label="Weight of keywords from users"),
|
607 |
gr.Slider(minimum=0, maximum=2, value=0.5, step=0.5, label="Weight of triggered keywords"),
|
608 |
gr.Slider(minimum=0, maximum=100, value=30, step=5, label="Number of candidates"),
|
|
|
485 |
#ηιεηειιθΏθ‘ζη₯¨οΌιεΊθ’«ζη₯¨ζε€ηδΈζ‘
|
486 |
#ζδΈη¬¬δΈδΈͺε
η΄ ε εεζι
|
487 |
|
488 |
+
group_scores={}
|
489 |
+
if(candidates):
|
490 |
for candidate in candidates:
|
491 |
+
group_id=candidate['group_id']
|
492 |
keyword = candidate['keyword']
|
493 |
keyword_list = candidate['keyword_list'].split(',')
|
494 |
|
|
|
505 |
score = 1
|
506 |
|
507 |
if keyword in triggered_keywords and current_turn - triggered_keywords[keyword] < window_size:
|
508 |
+
if(keyword == keyword_list[0]):
|
509 |
+
score = triggered_weight*3
|
510 |
else:
|
511 |
keywords_dict[keyword] = triggered_weight
|
512 |
|
|
|
516 |
else:
|
517 |
group_scores[group_id] = score
|
518 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
519 |
distance=1000
|
520 |
if group_scores:
|
521 |
max_group_id = max(group_scores, key=group_scores.get)
|
|
|
595 |
# gr.Slider(minimum=0.1, maximum=1.0, value=0.95, step=0.05, label="Top-p (nucleus sampling)"),
|
596 |
gr.Slider(minimum=1, maximum=5, value=2, step=1, label="Window size"),
|
597 |
gr.Slider(minimum=0.01, maximum=0.3, value=0.25, step=0.01, label="Distance threshold"),
|
598 |
+
gr.Slider(minimum=1, maximum=20, value=5, step=1, label="Score threshold"),
|
599 |
gr.Slider(minimum=1, maximum=5, value=2, step=1, label="Weight of keywords from users"),
|
600 |
gr.Slider(minimum=0, maximum=2, value=0.5, step=0.5, label="Weight of triggered keywords"),
|
601 |
gr.Slider(minimum=0, maximum=100, value=30, step=5, label="Number of candidates"),
|