lingyu98 commited on
Commit
1e5ac07
·
verified ·
1 Parent(s): 65c5d0f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -3
app.py CHANGED
@@ -1,7 +1,45 @@
1
  import gradio as gr
 
 
2
 
3
- def greet(name):
4
- return "Hello " + name + "!!"
5
 
6
- demo = gr.Interface(fn=greet, inputs="text", outputs="text")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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()