Update app.py
Browse files
app.py
CHANGED
@@ -1,7 +1,45 @@
|
|
1 |
import gradio as gr
|
|
|
|
|
2 |
|
3 |
-
|
4 |
-
return "Hello " + name + "!!"
|
5 |
|
6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
demo.launch()
|
|
|
1 |
import gradio as gr
|
2 |
+
from cijiang import CiJiangRhymer
|
3 |
+
from cijiang.utils import print_results
|
4 |
|
5 |
+
rhymer = CiJiangRhymer(strict=False, tone=True)
|
|
|
6 |
|
7 |
+
def get_results(input_text, target_rhyme, beam_width=20, num_candidates=4000):
|
8 |
+
out = rhymer.get_rhymes(text=input_text, target_rhyme=target_rhyme, beam_width=beam_width, num_candidates=num_candidates)
|
9 |
+
mask_count = text.count("[M]")
|
10 |
+
context = text.split('[M]')[0]
|
11 |
+
|
12 |
+
all_outputs = f"======= 韵脚: |{target_rhyme}|\n"
|
13 |
+
for i, (seq, log_prob) in enumerate(out[:top_results]):
|
14 |
+
rhymes = seq[-mask_count:].split()
|
15 |
+
colored_rhymes = [Fore.RED + part + Style.RESET_ALL if idx < mask_count else part for idx, part in enumerate(rhymes)]
|
16 |
+
colored_rhymes = ''.join(colored_rhymes) # Join the parts back together
|
17 |
+
|
18 |
+
all_outputs += f"{i+1}. {context}{colored_rhymes} (score: {log_prob:.3f})\n"
|
19 |
+
all_outputs += "=" * 40
|
20 |
+
return all_out
|
21 |
+
|
22 |
+
# rhymer = CiJiangRhymer(strict=False, tone=True)
|
23 |
+
|
24 |
+
# # 使用韵脚的汉字押韵
|
25 |
+
# print_results(rhymer, text="[M][M][M][M]", target_rhyme="乱比高低")
|
26 |
+
|
27 |
+
# # 使用韵脚的拼音押韵
|
28 |
+
# print_results(rhymer, text="[M][M][M][M]", target_rhyme="luan4 bi3 gao1 di1")
|
29 |
+
|
30 |
+
# # 允许声调不同
|
31 |
+
# rhymer.tone = False
|
32 |
+
# print_results(rhymer, text="[M][M][M]", target_rhyme="收视率")
|
33 |
+
# rhymer.tone = True
|
34 |
+
|
35 |
+
# # 上下文押韵
|
36 |
+
# print_results(rhymer, text="我总是天亮了[M][M]", target_rhyme="排队")
|
37 |
+
# print_results(rhymer, text="我们两个人的verse价值一辆[M][M][M][M]", target_rhyme="韩国低级")
|
38 |
+
|
39 |
+
# # # 上下文非词汇押韵
|
40 |
+
# print_results(rhymer, text="报名嘻[M][M]", target_rhyme="八个")
|
41 |
+
# # 长韵脚需要更广的搜索空间
|
42 |
+
# print_results(rhymer, text="我还是觉得音乐的[M][M][M][M][M]", target_rhyme="背靠背钻研")
|
43 |
+
# print_results(rhymer, text="我还是觉得音乐的[M][M][M][M][M]", target_rhyme="背靠背钻研", beam_width=300)
|
44 |
+
demo = gr.Interface(fn=get, inputs="text", outputs="text")
|
45 |
demo.launch()
|