LangChain Chat റിവ്യൂ: AI ചാറ്റ് ആപ്പുകൾ നിർമ്മിക്കുന്നതിനുള്ള ഏറ്റവും മികച്ച ഫ്രെയിംവർക്ക് ആണോ ഇത്?
വിശ്വസനീയവും, അളക്കാവുന്നതുമായ ഒരു AI ചാറ്റ് ആപ്പ് നിർമ്മിക്കുന്നത് എളുപ്പമാണെന്ന് തോന്നാം—ഓർക്കസ്ട്രേഷൻ തലവേദനകൾ, ടൂൾ ഇന്റഗ്രേഷൻ പ്രശ്നങ്ങൾ, കൂടാതെ "ഇത് ലോക്കലായി പ്രവർത്തിക്കും, പക്ഷേ പ്രൊഡക്ഷനിൽ അല്ല" എന്ന ക്ലാസിക് പ്രശ്നം എന്നിവ ഉണ്ടാകുന്നതുവരെ. LangChain Chat, LLM ആപ്ലിക്കേഷനുകൾക്കായുള്ള ഏകീകൃത, Python/JS-ഫസ്റ്റ് ഫ്രെയിംവർക്ക് ഉപയോഗിച്ച് ഈ പ്രശ്നങ്ങളെ മെരുക്കാമെന്ന് വാഗ്ദാനം ചെയ്യുന്നു. ഈ LangChain/Chat അവലോകനത്തിൽ, ഇത് എവിടെയാണ് മികച്ച പ്രകടനം കാഴ്ചവെക്കുന്നത്, എവിടെയാണ് പോരാടുന്നത്, നിങ്ങളുടെ AI സ്റ്റാക്കിൽ ഇതിന് ഒരു സ്ഥാനം അർഹിക്കുന്നുണ്ടോ എന്നതിനെക്കുറിച്ച് നമ്മുക്ക് പരിശോധിക്കാം.
ഞങ്ങൾ ഈ അവലോകനത്തെ ഒരു പ്രായോഗികവും പ്രശ്നപരിഹാരത്തെ അടിസ്ഥാനമാക്കിയുള്ളതുമായ ശൈലിയിൽ സമീപിക്കും: വ്യക്തമായ ഉദാഹരണങ്ങൾ, ട്രേഡ്-ഓഫുകൾ, കൂടാതെ നിങ്ങൾക്ക് ഉപയോഗിക്കാൻ കഴിയുന്ന മാർഗ്ഗനിർദ്ദേശങ്ങൾ—നിങ്ങൾ ഒരു ചാറ്റ്ബോട്ട് പ്രൊഡക്ഷനിലേക്ക് അയയ്ക്കുകയാണെങ്കിലും അല്ലെങ്കിൽ ഒരു സപ്പോർട്ട് അസിസ്റ്റന്റ് പ്രോട്ടോടൈപ്പ് ചെയ്യുകയാണെങ്കിലും.
വിധി
- ഏറ്റവും അനുയോജ്യം: സങ്കീർണ്ണമായ ചാറ്റ് വർക്ക്ഫ്ലോകൾ (retrieval-augmented generation, tools/agents, function calling) നിർമ്മിക്കുന്ന ടീമുകൾക്ക്, ആഴത്തിലുള്ള ആവാസവ്യവസ്ഥയെയും പ്രൊഡക്ഷൻ പാതകളെയും വിലമതിക്കുന്നവർക്ക്.
- ശക്തി: വളർന്ന ആവാസവ്യവസ്ഥ, സ്റ്റാൻഡേർഡ് പ്രിമിറ്റീവുകൾ, കോമ്പോസിബിൾ പൈപ്പ്ലൈനുകൾക്കായുള്ള LCEL, എല്ലായിടത്തും കണക്ടറുകൾ, വിന്യസിക്കാൻ കഴിയുന്ന LangServe/LangGraph.
- দুর্বলത: പഠനരീതി, അബ്സ്ട്രാക്ഷൻ ഓവർഹെഡ്, ചരിത്രപരമായ സ്ഥിരതയില്ലാത്ത പരാതികൾ, സങ്കീർണ്ണതയെക്കുറിച്ചുള്ള കമ്മ്യൂണിറ്റി ചർച്ചകൾ.
- താഴത്തെ വരി: ടൂളുകൾ, മെമ്മറി, RAG, കൂടാതെ ഇവാലുവേഷൻ എന്നിവ ഉപയോഗിക്കുന്ന ചാറ്റ് ആപ്ലിക്കേഷനുകളെക്കുറിച്ച് നിങ്ങൾ ഗൗരവമായി കാണുന്നുണ്ടെങ്കിൽ, LangChain ഏറ്റവും ശക്തമായ ചോയിസുകളിൽ ഒന്നാണ്. വളരെ ചെറിയ പ്രോട്ടോടൈപ്പുകൾക്ക്, നേരിയ ലൈബ്രറി വേഗത്തിൽ തോന്നിയേക്കാം.
എന്താണ് LangChain Chat?
LangChain എന്നത് ഡെവലപ്പർമാരെ LLM-പവർഡ് ആപ്ലിക്കേഷനുകൾ വീണ്ടും ഉപയോഗിക്കാവുന്ന അബ്സ്ട്രാക്ഷനുകൾ ഉപയോഗിച്ച് നിർമ്മിക്കാൻ സഹായിക്കുന്നതിന് രൂപകൽപ്പന ചെയ്തിട്ടുള്ള ഒരു ഓപ്പൺ സോഴ്സ് ഫ്രെയിംവർക്കാണ്: മോഡലുകൾ, പ്രോംപ്റ്റുകൾ, മെമ്മറി, ടൂളുകൾ, റിട്രീവറുകൾ, ചെയിനുകൾ. ഇതിന്റെ "ചാറ്റ്" കഴിവുകൾ ഈ പ്രിമിറ്റീവുകളുടെ മുകളിൽ സ്ഥിതിചെയ്യുന്നു—സംഭാഷണ ഫ്ലോകൾ, സിസ്റ്റം പ്രോംപ്റ്റുകൾ, структурированный आउटपुट, ടൂൾ ഉപയോഗം, കൂടാതെ മൾട്ടി-ടേൺ മെമ്മറി എന്നിവയ്ക്കായുള്ള ഇന്റർഫേസുകൾ നിങ്ങൾക്ക് നൽകുന്നു.
കമ്മ്യൂണിറ്റി അവലോകനങ്ങൾ ആഴത്തിലുള്ള സ്വീകാര്യതയും പ്രശ്നങ്ങളും പ്രതിഫലിപ്പിക്കുന്നു: ചില ഡെവലപ്പർമാർ അതിന്റെ വ്യാപ്തിയെയും സങ്കീർണ്ണമായ ആപ്ലിക്കേഷനുകളിലേക്ക് കൊണ്ടുവരുന്ന വേഗതയെയും പ്രശംസിക്കുന്നു, മറ്റുള്ളവർ സ്ഥിരതയില്ലാത്ത അബ്സ്ട്രാക്ഷനുകളെയോ കോൺഫിഗറേഷൻ സങ്കീർണ്ണതയെയോ വിമർശിക്കുന്നു. LangChain എങ്ങനെയാണ് "നിങ്ങളുടെ ഡാറ്റയുമായി ചാറ്റ്" പ്രോജക്റ്റുകൾക്ക് ശക്തി നൽകുന്നത് എന്നും സ്വതന്ത്രമായ പോസ്റ്റുകളും കോഴ്സുകളും വ്യക്തമാക്കുന്നു, അതിൽ പ്രവർത്തിച്ചു പഠിക്കാവുന്ന ട്യൂട്ടോറിയലുകളും ഉൾപ്പെടുന്നു.
ആർക്കുവേണ്ടിയാണ് LangChain Chat?
- - عملی تعلیم کے لیے بار بار استعمال ہونے والا ایک عملی "اپنے ڈیٹا کے ساتھ چیٹ" کورس.
- സ്റ്റാർട്ടപ്പുകളും എന്റർപ്രൈസുകളും കണക്ടറുകൾ, ഒബ്സർവബിലിറ്റി, കൂടാതെ ഗാർഡ്റെയിലുകൾ എന്നിവ ആവശ്യമുള്ളവർക്ക്.
- ഹാക്കർമാർ ആവാസവ്യവസ്ഥയുടെ ആഴത്തിനായി പഠനരീതി സ്വീകരിക്കാൻ തയ്യാറുള്ളവർക്ക്.
നിങ്ങളുടെ ഉപയോഗ കേസ് റിട്രീവലോ ടൂളുകളോ ഇല്ലാത്ത ലളിതമായ, സിംഗിൾ-ടേൺ Q&A ചാറ്റ്ബോട്ട് ആണെങ്കിൽ, ഒരു മിനിമൽ SDK വേഗത്തിൽ ചെയ്യാൻ സാധിക്കും. എന്നാൽ നിങ്ങൾക്ക് മെമ്മറി, RAG, структурированный കോളുകൾ, അല്ലെങ്കിൽ ഏജൻ്റിക് സ്വഭാവങ്ങൾ എന്നിവ ആവശ്യമുള്ള നിമിഷം LangChain അതിന്റെ സ്ഥാനം നേടുന്നു.
LangChain Chat സ്റ്റാക്ക് ഒറ്റനോട്ടത്തിൽ
ചാറ്റിന് പ്രധാനമായ കോർ പ്രിമിറ്റീവുകൾ
- മോഡലുകൾ: OpenAI, Anthropic, Google, ഓപ്പൺ സോഴ്സ് മോഡലുകൾ തുടങ്ങിയവയ്ക്കായുള്ള സ്ഥിരമായ ഇന്റർഫേസുകൾ.
- പ്രോംപ്റ്റുകളും ടെംപ്ലേറ്റുകളും: കോമ്പോസിബിൾ ഘടകങ്ങളായി സിസ്റ്റം, യൂസർ, ടൂൾ പ്രോംപ്റ്റുകൾ.
- മെമ്മറി: കോൺവെർസേഷൻ ബഫറുകൾ, സംഗ്രഹ മെമ്മറി, കോൺടെക്സ്റ്റ് നിലനിർത്തുന്നതിനുള്ള വെക്റ്റർ മെമ്മറി.
- ടൂളുകളും ഫംഗ്ഷൻ വിളിക്കലും: API-കൾ, റിട്രീവൽ, കാൽക്കുലേറ്ററുകൾ, കസ്റ്റം ടൂളുകൾ എന്നിവയുമായുള്ള എളുപ്പത്തിലുള്ള സംയോജനം.
- റിട്രീവറുകളും RAG: ഡോക്യുമെന്റ് ചങ്കിംഗ്, എംബെഡിംഗുകൾ, വെക്റ്റർ സ്റ്റോറുകൾ, ക്വറി റീറൈറ്റിംഗ്.
- LCEL (LangChain Expression Language): റീട്രൈകൾ, ടൈംഔട്ടുകൾ, കൂടാതെ ട്രേസിംഗ് എന്നിവ ഉപയോഗിച്ച് സ്ട്രീമിംഗ്, കോമ്പോസിബിൾ ചെയിനുകൾ നിർമ്മിക്കുന്നതിനുള്ള ഒരു DSL.
പ്രൊഡക്ഷൻ സഹായികൾ
- LangServe: കുറഞ്ഞ ചടങ്ങുകളോടെ ചെയിനുകളെ API-കളായി നൽകുക.
- LangGraph: മൾട്ടി-സ്റ്റെപ്പ് ഏജന്റുകൾക്കും സ്റ്റേറ്റ്ഫുൾ വർക്ക്ഫ്ലോകൾക്കുമുള്ള ഗ്രാഫ്-അടിസ്ഥാനത്തിലുള്ള നിയന്ത്രണം.
- കാൾബാക്കുകൾ/ട്രേസിംഗ്: സംയോജനങ്ങളിലൂടെയും സ്റ്റാൻഡേർഡ് കാൾബാക്കുകളിലൂടെയുമുള്ള നിരീക്ഷണം.
ഹാൻഡ്സ്-ഓൺ: ഒരു ചാറ്റ് RAG അസിസ്റ്റന്റ് നിർമ്മിക്കുന്നു (ശരിയായ വഴി)
LangChain-ൽ Chat + RAG സിസ്റ്റം മികച്ച രീതിയിൽ എങ്ങനെ структурированный ചെയ്യാമെന്നതിനെക്കുറിച്ചുള്ള ഒരു Conceptual വിവരണം താഴെ നൽകുന്നു.
1) നിങ്ങളുടെ ഡാറ്റ എടുത്ത് ഇൻഡെക്സ് ചെയ്യുക
- നിങ്ങളുടെ ഡോക്യുമെന്റുകൾ പങ്കിടുക (ഉദാഹരണത്തിന്, 500–1,000 ടോക്കണുകൾ ഓവർലാപ്പോടെ).
- OpenAI അല്ലെങ്കിൽ ലോക്കൽ മോഡൽ പോലുള്ള ഒരു പ്രൊവൈഡർ ഉപയോഗിച്ച് എംബെഡിംഗുകൾ ഉണ്ടാക്കുക.
- ഒരു DB-യിൽ വെക്റ്ററുകൾ സംഭരിക്കുക (FAISS, Pinecone, Chroma, pgvector, തുടങ്ങിയവ).
2) റിട്രീവൽ പൈപ്പ്ലൈൻ
- ഹൈബ്രിഡ് തിരയൽ അല്ലെങ്കിൽ ക്വറി എക്സ്പാൻഷൻ ഉള്ള ഒരു റിട്രീവർ ഉപയോഗിക്കുക.
- നിങ്ങൾക്ക് ഉയർന്ന കൃത്യത ആവശ്യമാണെങ്കിൽ റീ-റാങ്കിംഗ് അല്ലെങ്കിൽ സൈറ്റേഷൻ ഫിൽട്ടറിംഗ് പ്രയോഗിക്കുക.
3) പ്രോംപ്റ്റിംഗും ഘടനയും
- റോൾ, ടോൺ, സൈറ്റേഷൻ നിയമങ്ങൾ എന്നിവയ്ക്കായി ഒരു സിസ്റ്റം പ്രോംപ്റ്റ് നിർവ്വചിക്കുക.
- ഉപയോക്താവിൻ്റെ സന്ദേശങ്ങൾ ചേർക്കുക; ഉറവിട ഐഡികൾ ഉപയോഗിച്ച് എടുത്ത ഭാഗങ്ങൾ ഉൾപ്പെടുത്തുക.
- നിർണ്ണായകമായ parsing-ന് структурированный ഔട്ട്പുട്ട് (JSON schema) ഉപയോഗിക്കുക.
4) മെമ്മറി തന്ത്രം
- മൾട്ടി-ടേൺ ചാറ്റിനായി, കോൺടെക്സ്റ്റ് സംക്ഷിപ്തമായി നിലനിർത്താൻ സംഗ്രഹ മെമ്മറി ഉപയോഗിക്കുക.
- ഓരോ സെഷനിലും മെമ്മറി നിലനിർത്തുക (DB അല്ലെങ്കിൽ കാഷെ), ടോക്കൺ-അവെയർ ട്രിമ്മിംഗ് ഉപയോഗിച്ച്.
5) ടൂളുകളും ഫംഗ്ഷൻ വിളിക്കലും
- ഇഷ്ടാനുസൃത ടൂളുകൾ ഉണ്ടാക്കുക (ഉദാഹരണത്തിന്,
get_order_status, run_sql_query).
- പ്രസക്തമാകുമ്പോൾ മോഡലിനെ ടൂളുകൾ വിളിക്കാൻ അനുവദിക്കുക; സെർവർ-സൈഡ് ഇൻപുട്ടുകൾ സാധൂകരിക്കുക.
6) സുരക്ഷയും ഗാർഡ്റെയിലുകളും
- മിതത്വ പരിശോധനകളും സെൻസിറ്റീവ് വിഷയ റൂട്ടിംഗും സജ്ജമാക്കുക.
- തെറ്റായ വിവരങ്ങൾക്കെതിരായുള്ള നിർദ്ദേശങ്ങളും പോളിസി ടെംപ്ലേറ്റുകളും ചേർക്കുക.
7) സെർവിംഗും മോണിറ്ററിംഗും
- വൃത്തിയുള്ള ഒരു API തുറന്നുകാട്ടാൻ LangServe ഉപയോഗിച്ച് നിങ്ങളുടെ ചെയിൻ പൊതിയുക.
- ടോക്കണുകൾ, ലേറ്റൻസി, ടൂൾ ഉപയോഗം എന്നിവ ലോഗ് ചെയ്യുക; LCEL വഴി റീട്രൈകളും ടൈംഔട്ടുകളും ചേർക്കുക.
LangChain Chat-നെക്കുറിച്ച് ഡെവലപ്പർമാർ ഇഷ്ടപ്പെടുന്നതും (ഇഷ്ടപ്പെടാത്തതും)
ശക്തി
- ആവാസവ്യവസ്ഥയുടെ സാന്ദ്രത: മോഡലുകൾ, വെക്റ്റർ DB-കൾ, ടൂളുകൾ എന്നിവയ്ക്കായുള്ള അഡാപ്റ്ററുകൾ യാക്-ഷേവിംഗ് കുറയ്ക്കുന്നു.
- RAG തയ്യാറെടുപ്പ്: ചങ്കിംഗ്, എംബെഡിംഗുകൾ, റിട്രീവറുകൾ, റീ-റാങ്കിംഗ്—ഇവയെല്ലാം നിർമ്മിച്ചിട്ടുണ്ട്.
- LCEL: നോട്ട്ബുക്കുകളിൽ നിന്ന് പ്രൊഡക്ഷനിലേക്ക് സ്കെയിൽ ചെയ്യുന്ന കോമ്പോസിബിൾ ചെയിൻ ബിൽഡിംഗ്.
- പ്രൊഡക്ഷൻ പാത: LangServe-ഉം LangGraph-ഉം നിങ്ങളെ അയയ്ക്കാനും ആവർത്തിക്കാനും സഹായിക്കുന്നു.
ദൗർബല്യങ്ങൾ
- പഠനരീതി: ഒന്നിലധികം അബ്സ്ട്രാക്ഷനുകൾ ആദ്യം കഠിനമായി തോന്നിയേക്കാം.
- അബ്സ്ട്രാക്ഷൻ ഡ്രിഫ്റ്റ്: കാലക്രമേണ സ്ഥിരതയില്ലാത്ത സ്വഭാവത്തെയും പേരിനെയും കുറിച്ച് കമ്മ്യൂണിറ്റി ഫീഡ്ബാക്ക് സൂചിപ്പിക്കുന്നു.
- സങ്കീർണ്ണത നികുതി: ചെറിയ ആപ്ലിക്കേഷനുകൾക്ക്, സജ്ജീകരണം അമിതമായി തോന്നിയേക്കാം.
കമ്മ്യൂണിറ്റി പൾസ്
- ചില നിരൂപകർ അതിന്റെ ശക്തിയെയും വ്യാപ്തിയെയും അഭിനന്ദിച്ചുകൊണ്ട് സമഗ്രമായ വിവരങ്ങൾ പ്രസിദ്ധീകരിക്കുന്നു, പ്രത്യേകിച്ചും മൾട്ടി-സ്റ്റേജ് പൈപ്പ്ലൈനുകളിൽ.
- മറ്റുള്ളവർ API മാറ്റങ്ങളെയും ലളിതമായ ടാസ്ക്കുകൾ അവ്യക്തമാക്കുന്ന അബ്സ്ട്രാക്ഷൻ ലെയറുകളെയും കുറിച്ചുള്ള നിരാശകൾ രേഖപ്പെടുത്തുന്നു.
- "നിങ്ങളുടെ ഡാറ്റയുമായി ചാറ്റ്" സാഹചര്യങ്ങൾക്കായി കോഴ്സുകളും പ്രോജക്റ്റുകളും LangChain സ്വീകരിക്കുന്നത് തുടരുന്നു, ഇത് ശക്തമായ യഥാർത്ഥ ലോക ആവശ്യകതയെ സൂചിപ്പിക്കുന്നു.
LangChain Chat vs. സ്വയം ഉരുട്ടുന്നത്
- പ്രോട്ടോടൈപ്പ് ചെയ്യാനുള്ള വേഗത: നിങ്ങൾക്ക് RAG + ടൂളുകൾ വേഗത്തിൽ ആവശ്യമുള്ളപ്പോൾ LangChain വിജയിക്കുന്നു.
- റൺടൈം നിയന്ത്രണം: DIY മെലിഞ്ഞതും കൂടുതൽ സുതാര്യവുമാകാം, പക്ഷേ കൂടുതൽ സമയമെടുക്കും.
- പരിപാലിക്കാനുള്ള കഴിവ്: LangChain സങ്കീർണ്ണമായ ആപ്ലിക്കേഷനുകൾക്കുള്ള പരിപാലനക്ഷമത മെച്ചപ്പെടുത്തുന്നു; ലളിതമായ ആപ്ലിക്കേഷനുകൾക്ക്, കുറഞ്ഞ ഡിപൻഡൻസികൾ വൃത്തിയുള്ളതായിരിക്കാം.
- ടീം ഓൺബോർഡിംഗ്: സ്റ്റാൻഡേർഡ് ഇന്റർഫേസുകൾ ക്രോസ്-ഫങ്ഷണൽ ടീമുകളെ ഒന്നിപ്പിക്കാൻ സഹായിക്കുന്നു.
LangChain ഉപയോഗിച്ച് ചാറ്റ് ആപ്പുകൾക്കായുള്ള വിപുലമായ പാറ്റേണുകൾ
1) ഹൈബ്രിഡ് റിട്രീവലും ക്വറി പ്ലാനിംഗും
- ക്വറി വർഗ്ഗീകരണം ഉപയോഗിക്കുക: ഉപയോക്താവ് പോളിസികൾ, ട്രബിൾഷൂട്ടിംഗ് അല്ലെങ്കിൽ അക്കൗണ്ട്-നിർദ്ദിഷ്ട ഡാറ്റ എന്നിവയെക്കുറിച്ചാണോ ചോദിക്കുന്നത്?
- വ്യത്യസ്ത റിട്രീവറുകളിലേക്കോ ടൂളുകളിലേക്കോ റൂട്ട് ചെയ്യുക. പ്ലാൻ ചാറ്റ് ലൂപ്പിലേക്ക് തിരികെ നൽകുക.
2) ഗാർഡഡ് ടൂൾ ഉപയോഗം
- ഫംഗ്ഷൻ സ്കീമുകളും സെർവർ-സൈഡ് വാലിഡേറ്ററുകളും ഉപയോഗിച്ച് ടൂൾ കോളുകൾ ഗേറ്റ് ചെയ്യുക.
- ഓരോ ടൂളിനും ഓരോ ഉപയോക്തൃ റോളിനും അനുവദനീയമായവയുടെ/അനുവദനീയമല്ലാത്തവയുടെ ലിസ്റ്റ് നടപ്പിലാക്കുക.
3) എല്ലായിടത്തും структурированный ഔട്ട്പുട്ടുകൾ
- ഉത്തരങ്ങൾ, സൈറ്റേഷനുകൾ, പ്രവർത്തനങ്ങൾ എന്നിവയ്ക്കായി JSON സ്കീമുകൾ നിർവ്വചിക്കുക.
- ഔട്ട്പുട്ടുകൾ സാധൂകരിക്കുക; parsing പരാജയപ്പെടുമ്പോൾ ടാർഗെറ്റഡ് സൂചനകൾ ഉപയോഗിച്ച് വീണ്ടും ശ്രമിക്കുക.
4) സംഗ്രഹവും + മെമ്മറി ബഡ്ജറ്റിംഗും
- സംഭാഷണ മെമ്മറിയെ റോളിംഗ് സംഗ്രഹങ്ങളുമായി സംയോജിപ്പിക്കുക.
- സന്ദർഭം കൈകാര്യം ചെയ്യാൻ സന്ദേശ ടാഗിംഗ് ഉപയോഗിക്കുക (ഉദാഹരണത്തിന്,
ആമുഖം, നിയന്ത്രണങ്ങൾ, വസ്തുതകൾ).
5) രൂപകൽപ്പന പ്രകാരമുള്ള നിരീക്ഷണം
- ടോക്കൺ ഉപയോഗം, പിശകുകൾ, ലേറ്റൻസി, ടൂൾ ഇൻവോക്കേഷനുകൾ എന്നിവയ്ക്കായി കാൾബാക്കുകൾ ചേർക്കുക.
- ഡാഷ്ബോർഡുകളിലേക്കും A/B ടെസ്റ്റിംഗ് പൈപ്പ്ലൈനുകളിലേക്കും ട്രെയ്സുകൾ നൽകുക.
ഉദാഹരണം: ചാറ്റിനായുള്ള മിനിമൽ LCEL ചെയിൻ
LCEL പോലുള്ള കോമ്പോസിഷൻ ഉപയോഗിച്ച് ലളിതമാക്കിയ ഒരു Conceptual പാറ്റേൺ ഇതാ. ഇത് ഒരു പ്രത്യേക പ്രൊവൈഡറുമായി ബന്ധിപ്പിച്ചിട്ടില്ല, പക്ഷേ ഇത് ഫ്ലോയെ ചിത്രീകരിക്കുന്നു.
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnableParallel, RunnablePassthrough
from langchain_core.output_parsers import StrOutputParser
from my_vec_store import retriever
from my_models import chat_model
system = """
നിങ്ങൾ സഹായകരമായ ഒരു പിന്തുണാ സഹായിയാണ്. എടുത്ത ഡോക്യുമെന്റുകൾ ഉപയോഗിക്കുക.
നിങ്ങൾക്ക് അറിയില്ലെങ്കിൽ, അറിയില്ലെന്ന് പറയുക. ഉറവിടങ്ങൾ ഉദ്ധരിക്കുക.
"""
prompt = ChatPromptTemplate.from_messages(.
<a13>- படிப்படியான புரிதலை வழங்கும் விரிவான டெவலப்பர் எழுதப்பட்ட ওভারவியூ.