Microsoft Agent Framework: Multimodal Agents

മൾട്ടിമോഡൽ ഏജന്റുകൾ ടെക്സ്റ്റിനേക്കാൾ കൂടുതൽ കാര്യങ്ങൾ കൈകാര്യം ചെയ്യുന്നു. അവ ചിത്രങ്ങളും PDF-കളും പ്രോസസ്സ് ചെയ്യുന്നു.

Microsoft Agent Framework ഉപയോഗിച്ച് ഒരു ഏജന്റ് കോൾ (agent call) വഴി ടെക്സ്റ്റ് അല്ലാത്ത ഉള്ളടക്കങ്ങൾ കൈമാറാൻ നിങ്ങൾക്ക് സാധിക്കും. ഹോസ്റ്റ് ചെയ്ത ഫയലുകൾക്കായി UriContent അല്ലെങ്കിൽ ലോക്കൽ ബൈനറി ഡാറ്റയ്ക്കായി DataContent ഉപയോഗിക്കാം.

ഈ ഫ്രെയിംവർക്കിന് പലതരം ഫയൽ തരങ്ങളെ പ്രതിനിധീകരിക്കാൻ കഴിയും. എന്നിരുന്നാലും, പ്രതിനിധീകരണം എന്നാൽ അത് ചെയ്യാനുള്ള കഴിവ് (capability) എന്നല്ല അർത്ഥമാക്കുന്നത്.

പുറത്തിറക്കുന്നതിന് മുമ്പ് നിങ്ങൾ മൂന്ന് കാര്യങ്ങൾ പരിശോധിക്കണം:

  • ഫ്രെയിംവർക്കിന് ആ ഉള്ളടക്കത്തെ പ്രതിനിധീകരിക്കാൻ കഴിയുമോ?
  • പ്രൊവൈഡർ അഡാപ്റ്റർ (provider adapter) ആ ഉള്ളടക്കം അയക്കാൻ കഴിയുമോ?
  • നിങ്ങളുടെ പ്രത്യേക ടാസ്ക്കിനായി മോഡലിന് ആ ഉള്ളടക്കം മനസ്സിലാക്കാൻ കഴിയുമോ?

ഈ ശൃംഖലയിലെ ഏതെങ്കിലും ഭാഗം പരാജയപ്പെട്ടാൽ, അബ്സ്ട്രാക്ഷനും (abstraction) പരാജയപ്പെടുന്നു.

ചിത്രങ്ങൾ ലളിതമാണ്. നിങ്ങൾ ടെക്സ്റ്റ് നിർദ്ദേശങ്ങളും ഒരു ചിത്രവും നൽകുന്നു. മോഡൽ ഒരു ടെക്സ്റ്റ് മറുപടി നൽകുന്നു. ഇത് താഴെ പറയുന്നവയ്ക്ക് നന്നായി പ്രവർത്തിക്കുന്നു:

  • UI റിവ്യൂകൾ
  • സ്ക്രീൻഷോട്ട് ട്രയാജ് (Screenshot triage)
  • കൈപ്പടയിലുള്ള കുറിപ്പുകൾ ട്രാൻസ്ക്രൈബ് ചെയ്യാൻ
  • ലളിതമായ ചാർട്ടുകൾ വിശദീകരിക്കാൻ

PDF-കൾ സങ്കീർണ്ണമാണ്. ഒരു PDF എന്നത് വെറുമൊരു വലിയ ചിത്രം മാത്രമല്ല. അതിൽ ടെക്സ്റ്റ്, ടേബിളുകൾ, വെക്റ്റർ ഗ്രാഫിക്സ്, ലെയറുകൾ എന്നിവ അടങ്ങിയിരിക്കുന്നു.

പ്രൊവൈഡറെ ആശ്രയിച്ച് "ഈ PDF വായിക്കുക" എന്നതിന് വ്യത്യസ്ത അർത്ഥങ്ങളുണ്ടാകാം. ചില മോഡലുകൾ ടെക്സ്റ്റ് കാണുന്നു, എന്നാൽ മറ്റുള്ളവ വിഷ്വൽ ലേഔട്ട് (visual layout) ആണ് കാണുന്നത്.

എപ്പോഴാണ് നേറ്റീവ് PDF ഇൻപുട്ട് ഉപയോഗിക്കേണ്ടത്:

  • ഡോക്യുമെന്റ് ചെറുതാണെങ്കിൽ.
  • ഉത്തരത്തിന് വിഷ്വൽ ലേഔട്ട് പ്രധാനമാണെങ്കിൽ.
  • ഡോക്യുമെന്റിൽ ആവർത്തിച്ച് തിരയേണ്ട ആവശ്യമില്ലെങ്കിൽ.

എപ്പോഴാണ് മാനുവൽ പ്രീപ്രോസസ്സിംഗ് (manual preprocessing) ഉപയോഗിക്കേണ്ടത്:

  • നിങ്ങൾ ധാരാളം ഡോക്യുമെന്റുകൾ പ്രോസസ്സ് ചെയ്യുന്നുണ്ടെങ്കിൽ.
  • നിങ്ങൾക്ക് ആവർത്തിക്കാവുന്ന രീതിയിലുള്ള എക്സ്ട്രാക്ഷൻ (repeatable extraction) ആവശ്യമാണെങ്കിൽ.
  • നിങ്ങൾക്ക് സ്ഥിരതയുള്ള സൈറ്റേഷനുകളോ പേജ് റഫറൻസുകളോ ആവശ്യമാണെങ്കിൽ.
  • നിങ്ങൾക്ക് ചിലവും ലേറ്റൻസിയും (latency) നിയന്ത്രിക്കേണ്ടതുണ്ടെങ്കിൽ.

പ്രൊഡക്ഷൻ സിസ്റ്റങ്ങളിൽ, "മുഴുവൻ PDF-ഉം അയക്കുക" എന്നത് നിങ്ങളുടെ ഡിഫോൾട്ട് രീതിയാക്കരുത്.

അപ്‌ലോഡ് ബൗണ്ടറി ആപ്ലിക്കേഷന്റെ നിയന്ത്രണത്തിലായിരിക്കണം. ആപ്ലിക്കേഷൻ താഴെ പറയുന്നവ ചെയ്യണം:

  • ഉപയോക്താവിനെ ഓതന്റിക്കേറ്റ് ചെയ്യുകയും (authenticate) ഓതറൈസ് ചെയ്യുകയും (authorize) ചെയ്യുക.
  • ഉള്ളടക്കത്തിന്റെ തരം (content type) പരിശോധിക്കുക.
  • സുരക്ഷിതമല്ലാത്ത ഫയലുകൾക്കായി സ്കാൻ ചെയ്യുക.
  • ഒറിജിനൽ ഫയൽ സംഭരിക്കുക.
  • എക്സ്ട്രാക്റ്റ് ചെയ്ത ടെക്സ്റ്റ് അല്ലെങ്കിൽ പേജ് ഇമേജുകൾ പോലുള്ള ഡെറിവേഡ് ആർട്ടീഫാക്റ്റുകൾ (derived artifacts) നിർമ്മിക്കുക.

അതിനുശേഷം, ഏജന്റിന് ആവശ്യമുള്ളത് മാത്രം നൽകുക.

OCR അല്ലെങ്കിൽ ടേബിൾ സ്ട്രക്ചറുകൾ പോലെ ഉയർന്ന കൃത്യത ആവശ്യമായ ജോലികൾക്ക്, ആദ്യം ഒരു ഡോക്യുമെന്റ് പ്രോസസ്സിംഗ് പൈപ്പ്‌ലൈൻ ഉപയോഗിക്കുക. ഏജന്റ് എക്സ്ട്രാക്ഷൻ ലെയറിലല്ല (extraction layer), മറിച്ച് എക്സ്പ്ലനേഷൻ ലെയറിൽ (explanation layer) ആയിരിക്കണം പ്രവർത്തിക്കേണ്ടത്.

ഏജന്റിന് ഫയലുകളിലേക്ക് നേരിട്ട് പ്രവേശനം നൽകുന്നതിന് പകരം, അതിന് ഒരു ടൂൾ നൽകുക. "InspectDocument" പോലുള്ള ഒരു ടൂൾ ഉപയോഗിച്ച്, റോ ഇൻഫ്രാസ്ട്രക്ചറിൽ (raw infrastructure) തൊടാതെ തന്നെ വിവരങ്ങൾ ചോദിക്കാൻ ഏജന്റിന് സാധിക്കും.

അവസാനമായി, ഫയൽ പ്രോസസ്സിംഗുമായി ബന്ധപ്പെട്ട എല്ലാ കാര്യങ്ങളും ലോഗ് (log) ചെയ്യുക. ഉത്തരം മാത്രം ലോഗ് ചെയ്താൽ പോരാ. മോഡൽ, ഫയൽ സൈസ്, പേജ് എണ്ണം, പ്രീപ്രോസസ്സിംഗ് പാത്ത് എന്നിവയും ലോഗ് ചെയ്യുക. ഇത് ഇല്ലാതെ, പരാജയപ്പെട്ട ഒരു വിഷൻ ടാസ്ക് (vision task) ഡിബഗ് ചെയ്യുന്നത് അസാധ്യമാണ്.

Source: https://dev.to/lukaswalter/microsoft-agent-framework-multimodal-agents-images-pdfs-and-provider-differences-mib

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