** ගතික මෘදුකාංග ගෘහ නිර්මාණ ශිල්පය සඳහා LLMs සමඟ RAG ඒකාබද්ධ කිරීම: ප්රායෝගික මාර්ගෝපදේශයක්**
හැඳින්වීම
මෑත වසරවලදී, මෘදුකාංග ගෘහ නිර්මාණ ක්ෂේත්රය විශාල භාෂා ආකෘති (LLMs) සහ Retrieval-Augmented Generation (RAG) ශිල්පීය ක්රමවල පැමිණීමත් සමඟ සැලකිය යුතු පරිවර්තනයකට ලක්ව ඇත. මෙම තාක්ෂණයන් දෙක අතර සහයෝගීතාවයට අප මෘදුකාංග පද්ධති සැලසුම් කරන සහ සංවර්ධනය කරන ආකාරය විප්ලවීය වෙනසක් කිරීමට හැකියාව ඇත. මෙම ලිපියෙන්, අපි LangChain සහ DSPy වැනි වාද්ය වෘන්ද මෙවලම් භාවිතයෙන් ක්රියාත්මක කිරීමේ උපාය මාර්ග ඇතුළුව ගතික මෘදුකාංග ගෘහ නිර්මාණ ශිල්පය සඳහා LLM සමඟ RAG ඒකාබද්ධ කිරීම ගවේෂණය කරන්නෙමු.
RAG යනු කුමක්ද?
RAG යනු උසස් තත්ත්වයේ පෙළ ප්රතිදානයන් නිෂ්පාදනය කිරීම සඳහා ලබා ගැනීම මත පදනම් වූ සහ පරම්පරාව පදනම් කරගත් ආකෘතිවල ශක්තීන් ඒකාබද්ධ කරන තාක්ෂණයකි. RAG පිටුපස ඇති මූලික අදහස නම්, අදාළ ලේඛන හෝ විශාල සංග්රහයකින් ඡේද තෝරා ගැනීම සඳහා ප්රතිසාධන ආකෘතියක් භාවිතා කිරීම සහ මෙම ලබා ගත් ඡේද මත පදනම්ව පෙළ ජනනය කිරීමට පරම්පරාවේ ආකෘතියක් භාවිතා කිරීමයි. මෙම ප්රවේශය ප්රශ්නවලට පිළිතුරු සැපයීම, පෙළ සාරාංශ කිරීම සහ සංවාද AI වැනි කාර්යයන්හි සැලකිය යුතු දියුණුවක් පෙන්නුම් කර ඇත.
LLM යනු කුමක්ද?
LLMs යනු මිනිසාට සමාන භාෂා ප්රතිදානයන් උත්පාදනය කිරීම සඳහා විශාල පෙළ දත්ත ප්රමාණයක් මත පුහුණු කරන ලද කෘතිම බුද්ධි ආකෘතියකි. මෙම ආකෘති සාමාන්යයෙන් ට්රාන්ස්ෆෝමර් ගෘහනිර්මාණ මත පදනම් වන අතර පුළුල් පරාසයක ස්වභාවික භාෂා සැකසුම් කාර්යයන්හි අති නවීන ප්රතිඵල ලබා ඇත. LLMs ඉතා බහුකාර්ය වන අතර භාෂා පරිවර්තනය, පෙළ සාරාංශ කිරීම සහ සංවාද AI වැනි කාර්යයන් සඳහා භාවිතා කළ හැක.
** LLMs සමඟ RAG ඒකාබද්ධ කරන්නේ ඇයි?**
LLMs සමඟ RAG ඒකාබද්ධ කිරීම ගතික මෘදුකාංග ගෘහ නිර්මාණ ශිල්පය සඳහා ප්රතිලාභ කිහිපයක් ලබා දෙයි:
- වැඩිදියුණු කළ නිරවද්යතාව: RAG මඟින් LLMs හට අදාළ ලේඛන හෝ විශාල සංග්රහයකින් ඡේද තෝරා ගැනීමට උදවු කළ හැකි අතර, එය වඩාත් නිවැරදි සහ තොරතුරු සහිත පෙළ ප්රතිදානයන් වෙත යොමු කරයි.
- කාර්යක්ෂමතාව වැඩි වීම: RAG හට වඩාත් අදාළ ලේඛන හෝ ඡේද පමණක් තේරීමෙන් LLM වල ගණනය කිරීමේ පොදු කාර්ය අඩු කළ හැකි අතර, එය වේගවත් ප්රතිචාර කාලයකට මග පාදයි.
- වැඩිදියුණු කළ නම්යශීලීභාවය: වෙනස්වන පරිශීලක මනාපයන් සහ අවශ්යතාවලට අනුවර්තනය වීමට RAG භාවිතා කළ හැක, LLMs හට වඩාත් අදාළ සහ ආකර්ෂණීය පෙළ ප්රතිදානයන් ජනනය කිරීමට ඉඩ සලසයි.
ක්රියාත්මක කිරීමේ උපාය මාර්ග
LLMs සමඟ RAG ඒකාබද්ධ කිරීම සඳහා ක්රියාත්මක කිරීමේ උපාය මාර්ග කිහිපයක් ඇත, ඇතුළුව:
- LangChain: LangChain යනු RAG-පාදක ආකෘති ගොඩනැගීම සඳහා සරල සහ අවබෝධාත්මක API සපයන විවෘත මූලාශ්ර පුස්තකාලයකි. එය පුළුල් පරාසයක LLMs සඳහා සහය දක්වන අතර සංකීර්ණ RAG ගෘහ නිර්මාණ ශිල්පය ක්රියාත්මක කිරීමට භාවිතා කළ හැක.
- DSPy: DSPy යනු RAG මත පදනම් වූ ආකෘති ක්රියාත්මක කිරීමට සරල සහ කාර්යක්ෂම ක්රමයක් සපයන Python පුස්තකාලයකි. එය පුළුල් පරාසයක LLMs සඳහා සහය දක්වන අතර සංකීර්ණ RAG ගෘහ නිර්මාණ ශිල්පය ක්රියාත්මක කිරීමට භාවිතා කළ හැක.
කේත උදාහරණය
LLMs සමඟ RAG ඒකාබද්ධ කිරීම සඳහා LangChain භාවිතා කරන ආකාරය පෙන්නුම් කරන සරල කේත උදාහරණයක් මෙන්න:
langchain ආනයනය කරන්න
langchain.chains වෙතින් RAGChain ආනයනය කරන්න
langchain.llms වෙතින් LLaMA ආනයනය කරන්න
ලාමා = LLaMA()
# RAGChain ආකෘතියක් සාදන්න
rag_chain = RAGChain(llama, retrieval_model="t5-small")
# විමසුමක් නිර්වචනය කරන්න
prompt = "ප්රංශයේ අගනුවර කුමක්ද?"
# පෙළ ප්රතිදානය උත්පාදනය කරන්න
ප්රතිදානය = rag_chain.run(prompt)
මුද්රණය (ප්රතිදානය)
මෙම කේත උදාහරණය මඟින් LAMA ආකෘතියක් නැවත ලබා ගැනීමේ ආකෘතියක් සමඟ ඒකාබද්ධ කරන RAGChain ආකෘතියක් නිර්මාණය කිරීම සඳහා LangChain භාවිතා කරන ආකාරය පෙන්නුම් කරයි. RAGChain ආකෘතිය පසුව ප්රේරකයක් මත පදනම්ව පෙළ ප්රතිදානය උත්පාදනය කිරීමට භාවිතා කරයි.
ඉහළම 5-10 වැඩිපුරම භාවිතා කරන ලද විධාන/Snippets
LLMs සමඟ RAG ඒකාබද්ධ කිරීම සඳහා වැඩිපුරම භාවිතා කරන ලද විධාන/snippets 5-10 මෙන්න:
langchain.RAGChain(llama, retrieval_model="t5-small"): LAMA ආකෘතියක් ලබා ගැනීමේ ආකෘතියක් සමඟ ඒකාබද්ධ කරන RAGChain ආකෘතියක් නිර්මාණය කරයි.llama.run(prompt): LLaMA ආකෘතිය භාවිතයෙන් විමසුමක් මත පදනම්ව පෙළ ප්රතිදානය ජනනය කරයි.rag_chain.run(prompt): RAGChain ආකෘතිය භාවිතයෙන් විමසුමක් මත පදනම්ව පෙළ ප්රතිදානය ජනනය කරයි.langchain.chains.RAGChain(llama, retrieval_model="t5-small", max_length=1024): LAMA ආකෘතියක් ලබා ගැනීමේ ආකෘතියක් සමඟ ඒකාබද්ධ කර ප්රතිදාන පෙළෙහි උපරිම දිග සකසන RAGChain ආකෘතියක් සාදයි.llama.get_input(prompt): LLaMA ආකෘතිය සඳහා ආදාන පෙළ ආපසු ලබා දෙයි.rag_chain.get_output(prompt): RAGChain ආකෘතිය සඳහා ප්රතිදාන පෙළ ලබා දෙයි.langchain.chains.RAGChain(llama, retrieval_model="t5-small", batch_size=32): LAMA ආකෘතියක් ලබා ගැනීමේ ආකෘතියක් සමඟ ඒකාබද්ධ කර කණ්ඩායම් ප්රමාණය සකසන RAGChain ආකෘතියක් නිර්මාණය කරයි.llama.get_output(prompt): LLaMA ආකෘතිය සඳහා ප්රතිදාන පෙළ ලබා දෙයි.rag_chain.get_input(prompt): RAGChain ආකෘතිය සඳහා ආදාන පෙළ ආපසු ලබා දෙයි.langchain.chains.RAGChain(llama, retrieval_model="t5-small", device="cuda"): LAMA ආකෘතියක් ලබා ගැනීමේ ආකෘතියක් සමඟ ඒකාබද්ධ කර උපාංගය CUDA වෙත සකසන RAGChain ආකෘතියක් නිර්මාණය කරයි.
දෘෂ්යකරණය
Chart.js භාවිතයෙන් RAGChain ආකෘතියේ සරල දෘශ්යකරණයක් මෙන්න: '''' ජේසන් { "වර්ගය": "බාර්", "දත්ත": { "ලේබල්": ["LLaMA", "RAGChain"], "දත්ත කට්ටල": [ { "ලේබලය": "නිරවද්යතාව", "දත්ත": [0.8, 0.9], "backgroundColor": ["#FF6384", "#36A2EB"] } ] }, "විකල්ප": { "මාතෘකාව": { "දර්ශණය": ඇත්ත, "පෙළ": "RAGChain මාදිලියේ නිරවද්යතාවය" }, "පරිමාණ": { "yAxes": [ { "කිනිතුල්ලන්": { "beginAtZero": ඇත්ත } } ] } } }
මෙම දෘශ්යකරණය LAMA ආකෘතියේ සහ RAGChain ආකෘතියේ නිරවද්යතාවය පෙන්වයි.
** නිගමනය **
LLM සමඟ RAG ඒකාබද්ධ කිරීම ගතික මෘදුකාංග ගෘහ නිර්මාණ ශිල්පය සඳහා වැඩි දියුණු කළ නිරවද්යතාව, වැඩි කාර්යක්ෂමතාව සහ වැඩි දියුණු කළ නම්යශීලීභාවය ඇතුළු ප්රතිලාභ කිහිපයක් ලබා දෙයි. LangChain සහ DSPy යනු RAG මත පදනම් වූ ආකෘති ක්රියාත්මක කිරීමට භාවිතා කළ හැකි ජනප්රිය වාදක මෙවලම් දෙකකි. මෙම ලිපියේ දක්වා ඇති ක්රියාත්මක කිරීමේ උපාය මාර්ග සහ කේත උදාහරණ අනුගමනය කිරීමෙන්, සංවර්ධකයින්ට LLMs නැවත ලබා ගැනීමේ ආකෘති සමඟ ඒකාබද්ධ කරන සංකීර්ණ RAG ගෘහ නිර්මාණ ශිල්පය නිර්මාණය කළ හැකිය. LLM සමඟ RAG ඒකාබද්ධ කිරීම සඳහා වැඩිපුරම භාවිතා කරන ලද විධාන/snippets 5-10 ද යොමු කිරීම සඳහා සපයනු ලැබේ.