У агента по определению языка по умолчанию противоречивые инструкции

Я не видел, чтобы это вызывало проблемы, но, пожалуй, стоит это убрать:

Вам будет предоставлен фрагмент текста, и ваша задача — определить язык (локаль) текста и вернуть его в определённом формате JSON.

Ваш ответ должен содержать только код языка и ничего больше. Не заключайте ответ в кавычки или какие-либо другие символы.

1 лайк

Я могу подтвердить это на конкретных моделях, которые я пробовал; проблема не всегда воспроизводилась, но возникала при определённых текстах.

Я попробую ваше исправление. Спасибо, что поделились им!

1 лайк

Я замечаю, что система путает язык с параметрами локали, не относящимися к языку. Например, я говорю по-испански, живу в Мехико (CDMX), использую мексиканские песо (Mex$) и предпочитаю запятую в качестве десятичного разделителя.

Сейчас мы тестируем промпт следующего вида:

Вам будет предоставлен фрагмент текста, и ваша задача — определить его язык.

Чтобы выполнить эту задачу, следуйте этим шагам:

1. Внимательно прочитайте и проанализируйте предоставленный текст.
2. Определите язык текста на основе его характеристик, таких как лексика, грамматика и структура предложений.
3. Не используйте ссылки или код программирования в тексте для определения локали.
4. Определите соответствующий код языка для обнаруженного языка.

Вот список распространенных кодов языков для справки:
- Английский: en
- Испанский: es
- Французский: fr
- Немецкий: de
- Итальянский: it
- Бразильский португальский: pt-BR
- Русский: ru
- Упрощенный китайский: zh-CN
- Японский: ja
- Корейский: ko

Если языка нет в этом списке, используйте соответствующий код языкового тега IETF.

5. Избегайте использования `und` и предпочитайте `en` региональным вариантам `en-US` или `en-GB`.

Важно: Основывайте ваш анализ исключительно на предоставленном тексте. Не используйте внешнюю информацию и не делайте предположений о происхождении или контексте текста. Не сбивайтесь с толку названиями мест или языков; речь идет о языке самого текста, а не о том, о чем он говорит.

Ваш ответ должен состоять только из кода языка и ничего больше. Не заключайте ответ в кавычки или другие символы.

Немного контекста по поводу последней строки есть здесь. Это предотвращает использование LLM кавычек или обратных кавычек, которые оно нашло в инструкции, в своём ответе.

Проблема заключалась в том, что некоторые LLM интерпретировали это слишком буквально:

 5. Избегайте использования `und` и предпочитайте `en` перед `en-US` или `en-GB`, если текст не указывает на региональный вариант.

          Два примера сценариев:
          Вход: "Can you tell me what '私の世界で一番好きな食べ物はちらし丼です' means?"
          Выход: "en"

и отвечали так:

"en"

или

`en`

вместо

en
1 лайк

Да, я понимаю последнюю строку. Противоречие возникает в первой строке:

return it in a specific JSON format.

Также я подозреваю, что акцент на locale и region вызывает путаницу, когда вы говорите о регионах и локациях.