OpenAI APIのサンプルコードではこんなことが書いてある python
def get_embedding(text, model="text-embedding-ada-002"):
text = text.replace("\n", " ")
return openai.Embedding.create(input = [text], model=model)['data'][0]['embedding']
空白と改行自体は異なるトークンになっているのに、なぜ置換が必要なのか?本当に必要なのか?と疑っていたが、置き換えた方が結果が良くなるからだという記述があった。
-
Replace newlines with a single space
-
Unless you’re embedding code, we suggest replacing newlines (\n) in your input with a single space, as we have observed inferior results when newlines are present.
追試はしていない
- 日本語でもそうなのかは怪しい
- が、まあ従っておこうかなという気持ち