පයිතන් යෙදුම්වල උසස් RAG ගෘහ නිර්මාණ සඳහා LangChain ඒකාබද්ධ කිරීම
දළ විශ්ලේෂණය
මෑත වසරවලදී, ස්වභාවික භාෂා සැකසුම් (NLP) ක්ෂේත්රය, විශේෂයෙන්ම Retrieval-Augmented Generation (RAG) පද්ධති ක්ෂේත්රයේ සැලකිය යුතු දියුණුවක් අත්කර ගෙන ඇත. මෙම පද්ධති ප්රශ්නවලට පිළිතුරු සැපයීම, පෙළ සාරාංශ කිරීම සහ සංවාද AI වැනි කාර්යයන් සඳහා අප ප්රවේශ වන ආකාරය විප්ලවීය වෙනසක් සිදු කර ඇත. අති නවීන Python පුස්තකාලයක් වන LangChain, RAG ගෘහ නිර්මාණ ශිල්පය ගොඩනැගීම සඳහා ප්රබල මෙවලමක් ලෙස මතු වී ඇත. මෙම ලිපියෙන්, අපි LangChain ලෝකය තුළට ගොස් එහි FastAPI සහ Flask වැනි Python මත පදනම් වූ වෙබ් රාමු සමඟ ඒකාබද්ධ වීම ගවේෂණය කරන්නෙමු, වැඩි දියුණු කළ දත්ත ලබා ගැනීම සහ සැකසීම සඳහා වාද්ය වෘන්ද මෙවලම් භාවිතා කරයි.
LangChain යනු කුමක්ද?
LangChain යනු RAG පද්ධති සංවර්ධනය සරල කිරීම සඳහා නිර්මාණය කර ඇති විවෘත මූලාශ්ර Python පුස්තකාලයකි. එය AI ආකෘති ගොඩනැගීම, පුහුණු කිරීම සහ යෙදවීම සඳහා මෙන්ම විවිධ දත්ත මූලාශ්ර සහ වෙබ් රාමු සමඟ ඒවා ඒකාබද්ධ කිරීම සඳහා පුළුල් මෙවලම් සහ API කට්ටලයක් සපයයි. LangChain හි මූලික අවධානය යොමු වන්නේ සංකීර්ණ NLP කාර්යයන් හැසිරවිය හැකි පරිමාණය කළ හැකි සහ කාර්යක්ෂම RAG ගෘහ නිර්මාණ ශිල්පය නිර්මාණය කිරීමට සංවර්ධකයින්ට හැකියාව ලබා දීමයි.
LangChain හි ප්රධාන විශේෂාංග
- මොඩියුලර් ගෘහ නිර්මාණ ශිල්පය: LangChain හි මොඩියුලර් සැලසුම සංවර්ධකයින්ට විවිධ AI මාදිලි, දත්ත මූලාශ්ර සහ වෙබ් රාමු පහසුවෙන් ඒකාබද්ධ කිරීමට ඉඩ සලසයි, එය සංකීර්ණ RAG පද්ධති ගොඩනැගීම සඳහා කදිම තේරීමක් කරයි.
- Orchestration Tools: LangChain විසින් සංවර්ධකයන්ට විශාල දත්ත කට්ටල කළමනාකරණය කිරීමට සහ සැකසීමට මෙන්ම විවිධ දත්ත මූලාශ්ර සහ API සමඟ ඒකාබද්ධ කිරීමට හැකි වන වාද්ය වෘන්ද මෙවලම් මාලාවක් සපයයි.
- බහු AI මාදිලි සඳහා සහය: LangChain ට්රාන්ස්ෆෝමර් මත පදනම් වූ ආකෘති ඇතුළුව පුළුල් පරාසයක AI මාදිලි සඳහා සහය දක්වයි, සංවර්ධකයින්ට ඔවුන්ගේ විශේෂිත භාවිත අවස්ථාව සඳහා හොඳම මාදිලිය තෝරා ගැනීමට ඉඩ සලසයි.
- වෙබ් රාමු සමඟ ඒකාබද්ධ වීම: LangChain FastAPI සහ Flask වැනි ජනප්රිය Python-පාදක වෙබ් රාමු සමඟ බාධාවකින් තොරව ඒකාබද්ධ කිරීමක් සපයයි, RAG පද්ධති වෙබ් යෙදුම් ලෙස යෙදවීම පහසු කරයි.
FastAPI සහ Flask සමඟ LangChain ඒකාබද්ධ කිරීම
FastAPI සහ Flask සමඟ LangChain ඒකාබද්ධ කිරීමට, අපි මෙම පියවර අනුගමනය කළ යුතුය:
පියවර 1: LangChain ස්ථාපනය කරන්න
පළමුව, අපි Pip භාවිතයෙන් LangChain ස්ථාපනය කළ යුතුය:
pip ස්ථාපනය langchain
පියවර 2: LangChain නියෝජිතයෙකු සාදන්න
මීළඟට, අපි අපගේ RAG පද්ධතියේ හරය ලෙස සේවය කරන LangChain නියෝජිතයෙකු නිර්මාණය කළ යුතුය. මූලික නියෝජිතයෙකු නිර්මාණය කරන්නේ කෙසේද යන්න පිළිබඳ උදාහරණයක් මෙන්න:
langchain ආනයන නියෝජිතයාගෙන්
නියෝජිත = නියෝජිත (
name="my_agent",
model_name="my_model",
model_type="ට්රාන්ස්ෆෝමරය",
max_length=1024,
min_length=128,
)
පියවර 3: FastAPI හෝ Flask සමඟ ඒකාබද්ධ කරන්න
අපි අපගේ LangChain නියෝජිතයා නිර්මාණය කළ පසු, අපට එය FastAPI හෝ Flask සමඟ ඒකාබද්ධ කළ හැකිය. FastAPI සමඟ එය ඒකාබද්ධ කරන්නේ කෙසේද යන්න පිළිබඳ උදාහරණයක් මෙන්න:
fastapi ආයාත FastAPI වෙතින්
langchain ආනයන නියෝජිතයාගෙන්
යෙදුම = FastAPI()
# මූලික නියෝජිතයෙකු සාදන්න
නියෝජිත = නියෝජිත (
name="my_agent",
model_name="my_model",
model_type="ට්රාන්ස්ෆෝමරය",
max_length=1024,
min_length=128,
)
@app.get("/genrate")
async def generate_text(prompt: str):
# පෙළ ජනනය කිරීමට නියෝජිතයා භාවිතා කරන්න
ප්රතිදානය = agent.genrate(prompt)
ආපසු {"ප්රතිදානය": ප්රතිදානය}
ඒ හා සමානව, අපට LangChain Flask සමඟ ඒකාබද්ධ කළ හැකිය:
ප්ලාස්ක් ආනයනය සිට ප්ලාස්ක්, ඉල්ලීම
langchain ආනයන නියෝජිතයාගෙන්
යෙදුම = කුප්පිය (__නම__)
# මූලික නියෝජිතයෙකු සාදන්න
නියෝජිත = නියෝජිත (
name="my_agent",
model_name="my_model",
model_type="ට්රාන්ස්ෆෝමරය",
max_length=1024,
min_length=128,
)
@app.route("/ජනනය", ක්රම=["GET"])
ජනනය_පෙළ ():
# පෙළ ජනනය කිරීමට නියෝජිතයා භාවිතා කරන්න
prompt = request.args.get("prompt")
ප්රතිදානය = agent.genrate(prompt)
ආපසු {"ප්රතිදානය": ප්රතිදානය}
LangChain හි වාද්ය වෘන්ද මෙවලම්
LangChain විසින් සංවර්ධකයින්ට විශාල දත්ත කට්ටල කළමනාකරණය කිරීමට සහ සැකසීමට මෙන්ම විවිධ දත්ත මූලාශ්ර සහ API සමඟ ඒකාබද්ධ කිරීමට හැකි වන වාද්ය වෘන්ද මෙවලම් මාලාවක් සපයයි. LangChain හි සමහර ප්රධාන වාද්ය වෘන්ද මෙවලම්වලට ඇතුළත් වන්නේ:
- දත්ත මූලාශ්ර: දත්ත සමුදායන්, ගොනු පද්ධති සහ වෙබ් API වැනි විවිධ දත්ත මූලාශ්ර සහ API සමඟ ඒකාබද්ධ වීමට සංවර්ධකයින්ට හැකි වන පරිදි LangChain දත්ත මූලාශ්ර පරාසයක් සපයයි.
- Data Processors: LangChain මඟින් දත්ත පිරිසිදු කිරීම, දත්ත පරිවර්තනය කිරීම සහ දත්ත එකතු කිරීම ඇතුළුව විශාල දත්ත කට්ටල සැකසීමට සංවර්ධකයින්ට හැකි වන පරිදි දත්ත සකසන පරාසයක් සපයයි.
- ආදර්ශ වාද්ය වෘන්ද: LangChain මඟින් ආකෘති පුහුණුව, ආකෘති යෙදවීම සහ ආකෘති නිරීක්ෂණ ඇතුළුව AI ආකෘති කළමනාකරණය කිරීමට සහ යෙදවීමට සංවර්ධකයින්ට හැකි වන පරිදි ආකෘති වාද්ය වෘන්ද මාලාවක් සපයයි.
** Chart.js සමඟ දෘශ්යකරණය**
අපගේ RAG පද්ධතියේ ක්රියාකාරීත්වය දෘශ්යමාන කිරීමට, අන්තර්ක්රියාකාරී ප්රස්ථාර නිර්මාණය කිරීම සඳහා ජනප්රිය JavaScript පුස්තකාලයක් වන Chart.js භාවිතා කළ හැක. අපගේ RAG පද්ධතියේ ක්රියාකාරිත්වය දෘශ්යමාන කිරීමට Chart.js භාවිතා කරන ආකාරය පිළිබඳ උදාහරණයක් මෙන්න:
const ctx = document.getElementById("myChart").getContext("2d");
const chart = නව ප්රස්ථාරය(ctx, {
වර්ගය: "රේඛාව",
දත්ත: {
ලේබල්: ["ජන", "පෙබරවාරි", "මාර්තු", "අප්රේල්", "මැයි"],
දත්ත කට්ටල: [
{
ලේබලය: "නිරවද්යතාව",
දත්ත: [0.8, 0.9, 0.85, 0.88, 0.92],
පසුබිම් වර්ණය: "rgba(255, 99, 132, 0.2)",
මායිම් වර්ණය: "rgba(255, 99, 132, 1)",
මායිම් පළල: 1,
},
],
},
විකල්ප: {
පරිමාණයන්: {
y: {
startAtZero: ඇත්ත,
},
},
},
});
ඉහළම 5-10 වැඩිපුරම භාවිතා කරන ලද විධාන/Snippets
LangChain හි වැඩිපුරම භාවිතා වන විධාන/snippets 5-10 මෙන්න:
langchain import Agent වෙතින්: LangChain වෙතින් නියෝජිත පන්තිය ආයාත කරන්න.නියෝජිත = නියෝජිත(...): නව නියෝජිත අවස්ථාවක් සාදන්න.agent.generate(...): පෙළ උත්පාදනය කිරීමට නියෝජිතයා භාවිතා කරන්න.agent.query(...): දැනුම් පදනමක් විමසීමට නියෝජිතයා භාවිතා කරන්න.agent.train(...): දත්ත කට්ටලයක් මත නියෝජිතයා පුහුණු කරන්න.agent.deploy(...): වෙබ් සේවාවක් ලෙස නියෝජිතයා යොදවන්න.agent.monitor(...): නියෝජිතයාගේ කාර්ය සාධනය නිරීක්ෂණය කරන්න.agent.update(...): නව දත්ත සමඟ නියෝජිතයා යාවත්කාලීන කරන්න.agent.delete(...): නියෝජිත අවස්ථාව මකන්න.agent.save(...): නියෝජිත අවස්ථාව ගොනුවකට සුරකින්න.
නිගමනය
මෙම ලිපියෙන්, අපි LangChain ලෝකය සහ එහි FastAPI සහ Flask වැනි Python මත පදනම් වූ වෙබ් රාමු සමඟ ඒකාබද්ධ වීම ගවේෂණය කර ඇත. අපි LangChain හි වාද්ය වෘන්ද මෙවලම් භාවිතය පිළිබඳව ද සාකච්ඡා කර ඇති අතර අපගේ RAG පද්ධතියේ ක්රියාකාරීත්වය දෘශ්යමාන කිරීමට Chart.js භාවිතා කරන ආකාරය පිළිබඳ උදාහරණ සපයා ඇත. LangChain සමඟින්, සංවර්ධකයින්ට සංකීර්ණ NLP කාර්යයන් හැසිරවිය හැකි පරිමාණ කළ හැකි සහ කාර්යක්ෂම RAG ගෘහනිර්මාණ නිර්මාණය කළ හැකිය.