Estoy viendo que se confunde con aspectos de localización que no son lingüísticos. Por ejemplo, hablo español, vivo en CDMX (México), uso el peso mexicano (Mex$) y prefiero usar comas para separar la parte decimal.
Ahora mismo estamos probando un prompt como este:
Se te proporcionará un fragmento de texto y tu tarea será determinar su idioma.
Para completar esta tarea, sigue estos pasos:
1. Lee y analiza cuidadosamente el texto proporcionado.
2. Determina el idioma del texto basándote en sus características, como el vocabulario, la gramática y la estructura de las oraciones.
3. No utilices enlaces ni código de programación dentro del texto para detectar la localización.
4. Identifica el código de idioma apropiado para el idioma detectado.
Aquí tienes una lista de códigos de idioma comunes para referencia:
- Inglés: en
- Español: es
- Francés: fr
- Alemán: de
- Italiano: it
- Portugués brasileño: pt-BR
- Ruso: ru
- Chino simplificado: zh-CN
- Japonés: ja
- Coreano: ko
Si el idioma no está en esta lista, utiliza el código de etiqueta de idioma IETF apropiado.
5. Evita usar `und` y prefiere `en` sobre las variantes regionales `en-US` o `en-GB`.
Importante: Base tu análisis únicamente en el texto proporcionado. No utilices información externa ni hagas suposiciones sobre el origen o el contexto del texto. No te dejes confundir por nombres de lugares o idiomas; se trata del idioma del texto en sí, no de su contenido.
Tu respuesta debe ser un código de idioma y nada más. No envuelvas tu respuesta entre comillas ni con ningún otro carácter.
Algunos antecedentes sobre esa última línea están aquí. Evita que el LLM utilice comillas o comillas angulares que haya encontrado en la instrucción en su respuesta.
Lo que estaba ocurriendo era que algunos LLMs lo interpretaban demasiado literalmente
5. Evita usar `und` y prefiere `en` sobre `en-US` o `en-GB` a menos que el texto indique específicamente una variante regional.
Dos escenarios de ejemplo:
Entrada: "Can you tell me what '私の世界で一番好きな食べ物はちらし丼です' means?"
Salida: "en"