これが問題を引き起こすのを見たことはありませんが、整理しておいた方が良さそうです:
テキストの一部が与えられ、そのテキストのロケール(言語)を特定して、特定のJSON形式で返すことが求められます。
…
応答は言語コードのみでなければなりません。応答を引用符やその他の文字で囲まないでください。
これが問題を引き起こすのを見たことはありませんが、整理しておいた方が良さそうです:
テキストの一部が与えられ、そのテキストのロケール(言語)を特定して、特定のJSON形式で返すことが求められます。
…
応答は言語コードのみでなければなりません。応答を引用符やその他の文字で囲まないでください。
試した特定のモデルで確認できます。必ずしも失敗するわけではありませんでしたが、特定のテキストで失敗しました。
調整を試してみます。共有してくださってありがとうございます!
言語以外のロケール情報(地域設定など)と混同される問題が発生しています。例えば、私はスペイン語を話し、メキシコシティ(CDMX)に住んでおり、メキシコペソ(Mex$)を使用し、小数点にはコンマを区切り文字として使うことを好んでいます。
現在、以下のプロンプトを試行しています:
テキストが与えられます。その言語を判定してください。
このタスクを完了するには、以下の手順に従ってください。
1. 提供されたテキストを注意深く読み、分析してください。
2. 語彙、文法、文の構造などの特性に基づいて、テキストの言語を判定してください。
3. テキスト内のリンクやプログラミングコードを使用してロケールを検出しないでください。
4. 判定された言語に対応する適切な言語コードを特定してください。
参考として、一般的な言語コードのリストを以下に示します:
- 英語: en
- スペイン語: es
- フランス語: fr
- ドイツ語: de
- イタリア語: it
- ブラジルポルトガル語: pt-BR
- ロシア語: ru
- 簡体字中国語: zh-CN
- 日本語: ja
- 韓国語: ko
このリストにない言語の場合は、適切なIETF言語タグコードを使用してください。
5. `und` の使用を避け、地域バリアントである `en-US` や `en-GB` よりも `en` を優先してください。
重要:分析は提供されたテキストのみを根拠と行ってください。外部情報を使用したり、テキストの出典や文脈について仮定を立てたりしないでください。地名や言語名に惑わされないでください。これはテキストの内容ではなく、テキスト自体の言語についてです。
回答は言語コードのみとし、それ以外のものを含まないでください。回答を引用符や他の文字で囲まないでください。
最後の行に関する背景はこちらにあり、これはLLMが応答内で指示から引用符やバッククォートを拾って使用することを防ぐためのものです。
何が起きていたかというと、一部のLLMがこれをあまりにも文字通り解釈してしまっていたのです。
5. `und`の使用を避け、テキストが地域バリエーションを具体的に示していない限り、`en-US`や`en-GB`よりも`en`を優先すること。
2つの例:
入力: "Can you tell me what '私の世界で一番好きな食べ物はちらし丼です' means?"
出力: "en"
そして、
"en"
または
`en`
というように応答し、
en
とはしなかったのです。
はい、最後の行は理解しています。矛盾しているのは最初の行です:
特定のJSON形式で返すこと。
また、locale と region に焦点を当てていることで、地域や場所について話をする際に混乱を招いているのではないかと推測します。