Open 41889732 opened 1 year ago
IndexError Traceback (most recent call last)
IndexError: list index out of range
这个在codelab上运行到99%会报错
99%|█████████▉| 563/569 [00:00<00:00, 509579.88it/s] IndexError Traceback (most recent call last) in <cell line: 256>() 256 if batch_translate == 'yes' : 257 t.translate_model.send_prompt() --> 258 translation = t.translate_by_paragraph() 259 else : 260 translation = t.translate_by_line()
in translate_by_paragraph(self) 228 #line.text += (r'\N' + total_trans_s[iter].split(':')[1]) 229 #print(iter) --> 230 line.text += ('\n' + total_trans_s[iter].split(')')[1]) 231 iter += 1 232
IndexError: list index out of range
可能是因为prompt写的不够好,句子比较多的情况下gpt返回的格式有时候两行会合成一行,手动添加判空能让它不报错,但是同一批的句子有一些错位,我也没想到很好的解决方法。
功能:为翻译功能附加了可选的批处理选项,将多句文本合并为一个请求发送。 动机:免费的openai_key速率太低,批处理能够显著增加翻译速度,以1600个字符数为例,速度约能达到不进行批处理的20倍以上。 limitations:由于gpt回复的不确定性,有可能在每一次回复中使用具有差异的格式,导致分割返回结果可能出现问题。 效果如下: