0

我正在关注这个关于微调的OpenAI 教程。

我已经使用 openai 工具生成了数据集。问题是输出编码(推理结果)将 UTF-8 与非 UTF-8 字符混合在一起。

生成的模型如下所示:

{"prompt":"Usuario: Quién eres\\nAsistente:","completion":" Soy un Asistente\n"}
{"prompt":"Usuario: Qué puedes hacer\\nAsistente:","completion":" Ayudarte con cualquier gestión o ofrecerte información sobre tu cuenta\n"}

例如,如果我问“¿Cómo estás?” 并且该句子有一个经过训练的完成:“Estoy bien, ¿y tú?”,推理通常返回完全相同(这很好),但有时它会添加非编码词:“Estoy bien, ¿y tú? Cuà ©ntame algo de ti”,添加“é”而不是“é”。

有时,它会返回与受过训练的句子完全相同的句子,而不会出现编码问题。我不知道推理是从我的模型还是从其他地方获取非编码字符。

我应该怎么办?我应该用 UTF-8 编码数据集吗?我应该使用 UTF-8 保留数据集并解码响应中的错误编码字符吗?

用于微调的 OpenAI 文档不包含任何关于编码的内容。

4

1 回答 1

0

我在处理葡萄牙语字符串时遇到了同样的问题。

尝试.encode("cp1252").decode()在字符串之后使用:

"Cuéntame algo de ti".encode("cp1252").decode()

这应该导致:

"Cuéntame algo de ti"

cp1252涉及 windows-1252 西欧编解码器。如果这不起作用,请从这里尝试另一个编解码器: https ://docs.python.org/3.7/library/codecs.html#standard-encodings

于 2021-12-08T19:23:26.530 回答