Pr/multilingual#121
Conversation
bd0e0d9 to
81923ab
Compare
68fb05a to
f5a5b52
Compare
606dc7d to
ada9699
Compare
katstankiewicz
left a comment
There was a problem hiding this comment.
can you also add ensure_ascii=False to AuditLog save()
| ), | ||
| audit_log=audit_log, | ||
| api_key=params["api_key"], | ||
| base_url=params.get("url", ""), |
There was a problem hiding this comment.
| base_url=params.get("url", ""), |
we don't need a url for openai services
There was a problem hiding this comment.
I added this because I was testing a side project (self hosted S2S agent). With any luck we will need this so we can leave or remove up to you
aa152bd to
b3ad5dc
Compare
26fa5ec to
ff7bd59
Compare
…behavioral_fidelity judge prompt
| de: Hallo! Wie kann ich dir heute helfen? | ||
| en: Hello! How can I help you today? | ||
| es: ¡Hola! ¿En qué puedo ayudarte hoy? | ||
| fr: Bonjour ! Comment puis-je vous aider aujourd'hui ? |
There was a problem hiding this comment.
easy to add, will do. The existing languages are just things I saved from testing because why waste them
| - Using parameter values returned by a prior tool response (e.g., reusing an ID or record returned by an earlier lookup in a subsequent call) | ||
| - Using reasonable defaults that are standard for the tool (e.g., a date format conversion) | ||
| - Standard domain mappings from user-stated information (e.g., "Chicago O'Hare" → "ORD", "Miami" → "MIA"; or other unambiguous geographic, enterprise, or industry-standard mappings present in the agent's domain) — unambiguous mappings are considered grounded | ||
| - Standard domain mappings from user-stated information (e.g., "Chicago O'Hare" → "ORD"; "sore throat and fever" → ICD-10 code "J06.9"; or other unambiguous geographic, enterprise, or industry-standard mappings present in the agent's domain) — unambiguous mappings are considered grounded |
There was a problem hiding this comment.
I'm not sure I understand that part, where is it coming from?
There was a problem hiding this comment.
just an example of medical stuff. I know we are doing HR and not actual patient care but I figure general examples are always good to include even if not about each domain directly
| - **0 (Corrupted)**: One or more corruption types occurred — the user's behavior caused the agent to be evaluated against an incorrect database state. | ||
|
|
||
| **Language:** | ||
| - Always provide analysis in English |
There was a problem hiding this comment.
| - Always provide analysis in English | |
| - Always provide analysis in English. |
| "turn_id": <int: the turn number from the Intended Turns>, | ||
| "transcript": <string: your transcription of the audio for this turn, use only the audio for this not the intended text> | ||
| "explanation": "<string: 1-3 sentence analysis of fidelity for this turn, citing specific intended vs actual mismatches, noting any regions skipped due to interruption flags>", | ||
| "transcript": <string: your transcription of the audio for this turn using the appropriate script for the language spoken, use only the audio for this not the intended text> |
There was a problem hiding this comment.
I'm confused on this addition, what do we mean by "appropriate script"?
There was a problem hiding this comment.
should write 你好 not ni hao
| * Quantities: "twenty dollars" not "$20" | ||
| * Years: "twenty twenty-four" not "2024" | ||
| - Express numbers in linguistically/culturally appropriate spoken form for the conversation language: | ||
| * Dates: spoken form matching local convention (e.g. English: "January 15th, 2024"; French: "le quinze janvier deux mille vingt-quatre") not "1/15/2024" |
There was a problem hiding this comment.
| * Dates: spoken form matching local convention (e.g. English: "January 15th, 2024"; French: "le quinze janvier deux mille vingt-quatre") not "1/15/2024" | |
| * Dates: spoken form matching local convention (e.g. English: "January 15th, 2024"; French: "le quinze janvier deux mille vingt-quatre"; not "1/15/2024") |
| * Years: "twenty twenty-four" not "2024" | ||
| - Express numbers in linguistically/culturally appropriate spoken form for the conversation language: | ||
| * Dates: spoken form matching local convention (e.g. English: "January 15th, 2024"; French: "le quinze janvier deux mille vingt-quatre") not "1/15/2024" | ||
| * Times: spoken form (e.g. English: "three thirty PM"; German: "fünfzehn Uhr dreißig") not "3:30 PM" |
There was a problem hiding this comment.
| * Times: spoken form (e.g. English: "three thirty PM"; German: "fünfzehn Uhr dreißig") not "3:30 PM" | |
| * Times: spoken form (e.g. English: "three thirty PM"; German: "fünfzehn Uhr dreißig"; not "3:30 PM") |
| - Express numbers in linguistically/culturally appropriate spoken form for the conversation language: | ||
| * Dates: spoken form matching local convention (e.g. English: "January 15th, 2024"; French: "le quinze janvier deux mille vingt-quatre") not "1/15/2024" | ||
| * Times: spoken form (e.g. English: "three thirty PM"; German: "fünfzehn Uhr dreißig") not "3:30 PM" | ||
| * Quantities: spoken form (e.g. English: "twenty dollars"; Korean: "이십 달러") not "$20" |
There was a problem hiding this comment.
| * Quantities: spoken form (e.g. English: "twenty dollars"; Korean: "이십 달러") not "$20" | |
| * Quantities: spoken form (e.g. English: "twenty dollars"; Korean: "이십 달러"; not "$20") |
| * Dates: spoken form matching local convention (e.g. English: "January 15th, 2024"; French: "le quinze janvier deux mille vingt-quatre") not "1/15/2024" | ||
| * Times: spoken form (e.g. English: "three thirty PM"; German: "fünfzehn Uhr dreißig") not "3:30 PM" | ||
| * Quantities: spoken form (e.g. English: "twenty dollars"; Korean: "이십 달러") not "$20" | ||
| * Years: spoken form appropriate to the language, not "2024" |
There was a problem hiding this comment.
| * Years: spoken form appropriate to the language, not "2024" | |
| * Years: spoken form appropriate to the language (e.g. English: "twenty twenty-four"; not "2024") |
| * Dates: spoken form matching local convention (e.g. English: "January 15th, 2024"; French: "le quinze janvier deux mille vingt-quatre") not "1/15/2024" | ||
| * Times: spoken form (e.g. English: "three thirty PM"; German: "fünfzehn Uhr dreißig") not "3:30 PM" | ||
| * Quantities: spoken form (e.g. English: "twenty dollars"; Korean: "이십 달러") not "$20" | ||
| * Years: spoken form appropriate to the language, not "2024" |
There was a problem hiding this comment.
| * Dates: spoken form matching local convention (e.g. English: "January 15th, 2024"; French: "le quinze janvier deux mille vingt-quatre") not "1/15/2024" | |
| * Times: spoken form (e.g. English: "three thirty PM"; German: "fünfzehn Uhr dreißig") not "3:30 PM" | |
| * Quantities: spoken form (e.g. English: "twenty dollars"; Korean: "이십 달러") not "$20" | |
| * Years: spoken form appropriate to the language, not "2024" | |
| * Dates: spoken form matching local convention (e.g. English: "January 15th, 2024"; French: "le quinze janvier deux mille vingt-quatre"; not "1/15/2024") | |
| * Times: spoken form (e.g. English: "three thirty PM"; German: "fünfzehn Uhr dreißig"; not "3:30 PM") | |
| * Quantities: spoken form (e.g. English: "twenty dollars"; Korean: "이십 달러"; not "$20") | |
| * Years: spoken form appropriate to the language (e.g. English: "twenty twenty-four"; not "2024") |
| * Dates: spoken form matching local convention (e.g. English: "January 15th, 2024"; French: "le quinze janvier deux mille vingt-quatre") not "1/15/2024" | ||
| * Times: spoken form (e.g. English: "three thirty PM"; German: "fünfzehn Uhr dreißig") not "3:30 PM" | ||
| * Quantities: spoken form (e.g. English: "twenty dollars"; Korean: "이십 달러") not "$20" | ||
| * Years: spoken form appropriate to the language, not "2024" |
There was a problem hiding this comment.
| * Dates: spoken form matching local convention (e.g. English: "January 15th, 2024"; French: "le quinze janvier deux mille vingt-quatre") not "1/15/2024" | |
| * Times: spoken form (e.g. English: "three thirty PM"; German: "fünfzehn Uhr dreißig") not "3:30 PM" | |
| * Quantities: spoken form (e.g. English: "twenty dollars"; Korean: "이십 달러") not "$20" | |
| * Years: spoken form appropriate to the language, not "2024" | |
| * Dates: spoken form matching local convention (e.g. English: "January 15th, 2024"; French: "le quinze janvier deux mille vingt-quatre"; not "1/15/2024") | |
| * Times: spoken form (e.g. English: "three thirty PM"; German: "fünfzehn Uhr dreißig"; not "3:30 PM") | |
| * Quantities: spoken form (e.g. English: "twenty dollars"; Korean: "이십 달러"; not "$20") | |
| * Years: spoken form appropriate to the language ("twenty twenty-four" not "2024") |
| "centre d’ingénierie du centre-ville", | ||
| "ingénierie centre-ville", | ||
| "bâtiment ingénierie centre-ville", | ||
| "le centre d’ingénierie en ville", |
There was a problem hiding this comment.
I would drop this one as it wouldn't be accurate (translating downtown to town)
| "le centre d’ingénierie en ville", |
| "downtown", | ||
| "engineering center", |
There was a problem hiding this comment.
Since we have this alias in English, I think we should also add the translations for these two in other languages.
Also, can you sort translation by language please?
| "Main Garage" | ||
| "a garage", | ||
| "main garage", | ||
| "garage a", |
There was a problem hiding this comment.
Wouldn't that match with the name already?
| "name_aliases": [ | ||
| "Downtown", | ||
| "Engineering Center" | ||
| "downtown", |
There was a problem hiding this comment.
Also, since we have all these alias in each file, shouldn't we put all the aliases in a separate common file?
initial multilingual version
Easily extendable to many language using the add_culture_data script. This will do translation, gender consistent naming, suggest names, extend data, etc. So if anyone wants to run a language not committed in EVA data, it is trivially easy to do so.
Readme section showing basic of adding a language.
This adds:
Multilingual data schema and content (initial utterances, system prompt, name aliases)
multilingual support in code
Prompt updates to support multi languages
Script to "add a language" with high degree of automation
WER metric normalization rules, dynamically set per language and creatable via LLM through adding script
Automatic .env.example adjustments (maintains config app accuracy)
Still TODO: