𝗣𝗿𝗼𝗺𝗽𝘁𝘀 𝗔𝗿𝗲𝗻'𝘁 𝗘𝗻𝗼𝘂𝗴𝗵: 𝗘𝗻𝗳𝗼𝗿𝗰𝗶𝗻𝗴 𝗛𝗮𝗿𝗱 𝗖𝗼𝗻𝘀𝘁𝗿𝗮𝗶𝗻𝘁𝘀 𝗼𝗻 𝗟𝗟𝗠 𝗢𝘂𝘁𝗽𝘂𝘁

കർശനമായ ആവശ്യകതകൾ നേരിടുന്നത് വരെ LLM ഡെമോകൾ മികച്ചതായി തോന്നും.

മോഡലുകൾ പ്രവർത്തിക്കുന്നത് പ്രോബബിലിറ്റി (സാധ്യത) അടിസ്ഥാനമാക്കിയാണ്. എന്നാൽ പ്രൊഡക്ഷൻ സിസ്റ്റങ്ങൾക്ക് ഉറപ്പുകൾ (guarantees) ആവശ്യമാണ്.

അർജന്റീനയിലെ Radio del Volga-യ്ക്ക് വേണ്ടി ഒരു AI വാർത്താ പൈപ്പ്‌ലൈൻ നിർമ്മിക്കുന്നതിനിടയിലാണ് ഞാൻ ഇത് പഠിച്ചത്. വാർത്തകൾ പുനർനിർമ്മിക്കാനും സോഷ്യൽ മീഡിയ പോസ്റ്റുകൾ തയ്യാറാക്കാനും ഈ സിസ്റ്റം സഹായിക്കുന്നുണ്ടായിരുന്നു. എന്നാൽ ഒരു പ്രശ്നം ഉണ്ടാകുന്നത് വരെ എല്ലാം നന്നായി നടന്നുപോയി. Gemini തെറ്റായ സ്പാനിഷ് ഭാഷയിലാണ് എഴുതിക്കൊണ്ടിരുന്നത്.

അർജന്റീനയിൽ ആളുകൾ പ്രത്യേക വാക്കുകളാണ് ഉപയോഗിക്കുന്നത്. അവർ "puedes"-ന് പകരം "podés" എന്നും "eres"-ന് പകരം "sos" എന്നും പറയുന്നു. മോഡൽ ന്യൂട്രൽ സ്പാനിഷ് (neutral Spanish) ഉപയോഗിച്ചാൽ, അത് പ്രാദേശിക വായനക്കാർക്ക് തെറ്റായി തോന്നും.

ആദ്യം ഞാൻ മികച്ച പ്രോംപ്റ്റുകൾ ഉപയോഗിക്കാൻ ശ്രമിച്ചു. ഞാൻ മോഡലിനോട് ഇപ്രകാരം പറഞ്ഞു:

ഇത് സഹായിച്ചുവെങ്കിലും എല്ലാ പ്രശ്നങ്ങളും പരിഹരിച്ചില്ല. ഔദ്യോഗിക വാർത്താ സ്രോതസ്സുകൾ മോഡലിനെ വീണ്ടും ന്യൂട്രൽ സ്പാനിഷിലേക്ക് തിരിച്ചുവിട്ടു. പ്രോംപ്റ്റിൽ എത്ര എഴുതിയാലും തെറ്റുകൾ തുടർന്നുപോയി.

ഇതിനെ ഒരു പ്രോംപ്റ്റിംഗ് പ്രശ്നമായി കാണുന്നത് ഞാൻ നിർത്തി. പകരം ഇതൊരു വാലിഡേഷൻ (validation) പ്രശ്നമായി ഞാൻ കാണാൻ തുടങ്ങി.

ടോൺ അല്ലെങ്കിൽ ശൈലി പോലെ ചില കാര്യങ്ങൾ പ്രോബബിലിറ്റി അടിസ്ഥാനത്തിലുള്ളതാണ്. എന്നാൽ മറ്റു ചില കാര്യങ്ങൾ ഡെറ്റമിനിസ്റ്റിക് (deterministic) ആണ്. ഒരു ടെക്സ്റ്റിൽ "puedes" എന്ന വാക്ക് ഉണ്ടെങ്കിൽ അത് തെറ്റാണ്. അത് തിരിച്ചറിയാൻ നിങ്ങൾക്ക് ഒരു AI ആവശ്യമില്ല. ലളിതമായ കോഡ് മതിയാകും.

ഞാൻ ഒരു പോസ്റ്റ്-പ്രോസസ്സിംഗ് (post-processing) ഘട്ടം ചേർത്തു. AI ജോലി പൂർത്തിയാക്കിയ ശേഷം ഇത് പ്രവർത്തിക്കുന്നു. ഇത് പ്രത്യേക വാക്കുകൾ തിരയുകയും അവ മാറ്റുകയും ചെയ്യുന്നു:

ഈ പട്ടിക ചെറുതും സുരക്ഷിതവുമാണ്. ഞാൻ സ്പാനിഷ് ഭാഷ മുഴുവൻ ശരിയാക്കാൻ ശ്രമിക്കുന്നില്ല. കോഡിന് കൃത്യതയോടെ പരിശോധിക്കാൻ കഴിയുന്ന നിയമങ്ങൾ മാത്രമേ ഞാൻ ശരിയാക്കുന്നുള്ളൂ.

ഈ പാഠം സ്പാനിഷ് ഭാഷയെക്കുറിച്ചല്ല. ഇത് പ്രോംപ്റ്റ് എഞ്ചിനീയറിംഗിന്റെ പരിമിതികളെക്കുറിച്ചാണ്.

പ്രോംപ്റ്റിംഗ് പ്രകടനം മെച്ചപ്പെടുത്തുന്നുണ്ടെങ്കിലും അത് ഉറപ്പുകൾ നൽകുന്നില്ല. ഒരു നിയമം സ്ഥിരവും പരിശോധിക്കാവുന്നതുമാണെങ്കിൽ, അത് നടപ്പിലാക്കാൻ കോഡ് ഉപയോഗിക്കുക.

ഒഴുക്കുള്ള ടെക്സ്റ്റുകൾ നിർമ്മിക്കാൻ LLM-കൾ ഉപയോഗിക്കുക. ബ്രാൻഡ് പദങ്ങൾ, റെഗുലേറ്ററി വാക്കുകൾ, ഫോർമാറ്റിംഗ് നിയമങ്ങൾ എന്നിവ നടപ്പിലാക്കാൻ ഡെറ്റമിനിസ്റ്റിക് കോഡ് ഉപയോഗിക്കുക.

വിശ്വസനീയമായ സിസ്റ്റങ്ങൾ ഉത്തരവാദിത്തങ്ങളെ വിഭജിക്കുന്നു: • മോഡൽ ഉള്ളടക്കം നിർമ്മിക്കുന്നു. • കോഡ് കർശനമായ നിയമങ്ങൾ നടപ്പിലാക്കുന്നു. • മനുഷ്യർ അന്തിമ എഡിറ്റോറിയൽ തീരുമാനങ്ങൾ എടുക്കുന്നു.

Source: https://dev.to/zendev2112/prompts-arent-enough-enforcing-hard-constraints-on-llm-output-2hpo

Optional learning community: https://t.me/GyaanSetuAi