在使用大模型做语言问答的时候,出现了有某些字无法正常显示而出现了两个� � 的情况。
解释如下:
tokens是大模型输出的基本单位,而不是字符的基本单位。大部分中文汉字都是三个token对应一个汉字,有部分生僻字是四个token对应一个汉字。在使用大模型的时候,输出的tokrnizer在解析时就会出现上述的问题。
解决方案:修正的代码中是遇到这个字符,就不吐出来,只把token加入待解析的队列,然后等下个token出来后一起解析。
参考:GitHub - someoneAlready/mlx-examples: Examples in the MLX frameworkhttps://www.fileformat.info/info/unicode/char/fffd/index.htm