Python ايپليڪيشنن ۾ ترقي يافته RAG آرڪيٽيڪچرز لاءِ LangChain کي ضم ڪرڻ | B4N1

Python ايپليڪيشنن ۾ ترقي يافته RAG آرڪيٽيڪچرز لاءِ LangChain کي ضم ڪرڻ

8 months ago · b4n1 Read time: 5 min

Python ايپليڪيشنن ۾ ترقي يافته RAG آرڪيٽيڪچرز لاءِ LangChain کي ضم ڪرڻ

جائزو

تازن سالن ۾، Natural Language Processing (NLP) جي شعبي ۾ خاص طور تي Retrieval-Augmented Generation (RAG) سسٽم جي دائري ۾ اهم ترقيون ڏسڻ ۾ آيون آهن. انهن سسٽمن ۾ انقلاب آڻي ڇڏيو آهي جنهن طريقي سان اسان ڪمن تائين پهچون ٿا جهڙوڪ سوالن جا جواب ڏيڻ، متن جو خلاصو، ۽ گفتگو واري AI. LangChain، هڪ جديد پٿون لائبريري، RAG آرڪيٽيڪچرز جي تعمير لاءِ هڪ طاقتور اوزار طور سامهون آئي آهي. هن آرٽيڪل ۾، اسان LangChain جي دنيا ۾ داخل ڪنداسين ۽ ان جي انضمام کي ڳولينداسين Python-based ويب فريم ورڪ جهڙوڪ FastAPI ۽ Flask، جڏهن ته بهتر ڪيل ڊيٽا حاصل ڪرڻ ۽ پروسيسنگ لاء آرڪيسٽريشن اوزار استعمال ڪندي.

LangChain ڇا آهي؟

LangChain هڪ اوپن سورس Python لائبريري آهي جيڪا RAG سسٽم جي ترقي کي آسان ڪرڻ لاءِ ٺهيل آهي. اهو AI ماڊل جي تعمير، تربيت، ۽ ترتيب ڏيڻ لاءِ اوزارن ۽ APIs جو هڪ جامع سيٽ مهيا ڪري ٿو، انهي سان گڏ انهن کي مختلف ڊيٽا ذريعن ۽ ويب فريم ورڪ سان ضم ڪرڻ. LangChain جو بنيادي فوڪس ڊولپرز کي قابل بڻائڻ تي آهي اسپيبلبل ۽ موثر RAG آرڪيٽيڪچرز جيڪي پيچيده NLP ڪمن کي سنڀالي سگھن ٿا.

LangChain جون اهم خاصيتون

  1. ماڊيولر آرڪيٽيڪچر: LangChain جي ماڊلر ڊيزائن ڊولپرز کي آساني سان مختلف AI ماڊلز، ڊيٽا ذريعن ۽ ويب فريم ورڪ کي ضم ڪرڻ جي اجازت ڏئي ٿي، ان کي پيچيده RAG سسٽم ٺاهڻ لاءِ هڪ مثالي انتخاب بڻائي ٿي.
  2. Orchestration Tools: LangChain آرڪيسٽريشن ٽولز جو هڪ سلسلو مهيا ڪري ٿو جيڪي ڊولپرز کي وڏي ڊيٽا سيٽن کي منظم ڪرڻ ۽ پروسيس ڪرڻ جي اجازت ڏين ٿا، انهي سان گڏ مختلف ڊيٽا ذريعن ۽ APIs سان ضم ٿيڻ.
  3. Multiple AI ماڊلز لاءِ سپورٽ: LangChain AI ماڊلز جي وسيع رينج کي سپورٽ ڪري ٿو، بشمول ٽرانسفارمر تي ٻڌل ماڊل، ڊولپرز کي اجازت ڏئي ٿو ته هو پنهنجي مخصوص استعمال جي صورت لاءِ بهترين ماڊل چونڊي.
  4. ويب فريم ورڪ سان انٽيگريشن: LangChain مشهور Python-based ويب فريم ورڪ جهڙوڪ FastAPI ۽ Flask سان بيحد انضمام مهيا ڪري ٿي، انهي کي آسان بڻائي ٿي RAG سسٽم کي ويب ايپليڪيشنن طور ترتيب ڏيڻ.

LangChain کي FastAPI ۽ فلاسڪ سان گڏ ڪرڻ

LangChain کي FastAPI ۽ Flask سان ضم ڪرڻ لاءِ، اسان کي انهن قدمن تي عمل ڪرڻو پوندو:

قدم 1: LangChain انسٽال ڪريو

پهرين، اسان کي پائپ استعمال ڪندي LangChain انسٽال ڪرڻ جي ضرورت آهي:

ڌوڙ pip انسٽال langchain

قدم 2: هڪ LangChain ايجنٽ ٺاهيو

اڳيون، اسان کي هڪ LangChain ايجنٽ ٺاهڻ جي ضرورت آهي جيڪو اسان جي RAG سسٽم جي بنيادي طور ڪم ڪندو. هتي هڪ مثال آهي ته هڪ بنيادي ايجنٽ ڪيئن ٺاهيو وڃي:

``پٿون langchain درآمد ايجنٽ کان

ايجنٽ = ايجنٽ( نالو = "my_agent" ماڊل_نام = "my_model" ماڊل_قسم = "ٽرانسفارمر"، وڌ ۾ وڌ_لمبائي = 1024، منٽ_لمبائي = 128، ) ``

قدم 3: FastAPI يا فلاسڪ سان گڏ

هڪ دفعو اسان پنهنجو LangChain ايجنٽ ٺاهيو، اسان ان کي FastAPI يا Flask سان ضم ڪري سگهون ٿا. هتي هڪ مثال آهي ته ان کي FastAPI سان ڪيئن ضم ڪجي:

``پٿون فاسٽاپي مان درآمد ڪريو FastAPI langchain درآمد ايجنٽ کان

ايپ = FastAPI()

هڪ بنيادي ايجنٽ ٺاهيو

ايجنٽ = ايجنٽ( نالو = "my_agent" ماڊل_نام = "my_model" ماڊل_قسم = "ٽرانسفارمر"، وڌ ۾ وڌ_لمبائي = 1024، منٽ_لمبائي = 128، )

@app.get("/generate") async def generate_text (تڪڙو: str): # ٽيڪسٽ ٺاهڻ لاء ايجنٽ استعمال ڪريو output = agent.generate (پرامٽ) واپسي {"output": output} ``

اهڙي طرح، اسان LangChain کي فلاسڪ سان گڏ ڪري سگهون ٿا:

``پٿون فلاسڪ مان درآمد فلاسڪ، درخواست langchain درآمد ايجنٽ کان

app = فلاسڪ(name)

هڪ بنيادي ايجنٽ ٺاهيو

ايجنٽ = ايجنٽ( نالو = "my_agent" ماڊل_نام = "my_model" ماڊل_قسم = "ٽرانسفارمر"، وڌ ۾ وڌ_لمبائي = 1024، منٽ_لمبائي = 128، )

@app.route("/ generate"، طريقا=["GET"]) def generate_text(): # ٽيڪسٽ ٺاهڻ لاء ايجنٽ استعمال ڪريو prompt = request.args.get("Prompt") output = agent.generate (پرامٽ) واپسي {"output": output} ``

** LangChain ۾ آرڪيسٽريشن جا اوزار**

LangChain آرڪيسٽريشن ٽولز جو هڪ رينج مهيا ڪري ٿو جيڪي ڊولپرز کي وڏي ڊيٽا سيٽن کي منظم ۽ پروسيس ڪرڻ جي اجازت ڏين ٿا، انهي سان گڏ مختلف ڊيٽا ذريعن ۽ APIs سان گڏ. LangChain ۾ ڪجهه اهم آرڪيسٽريشن اوزار شامل آهن:

  1. ڊيٽا ماخذ: LangChain ڊيٽا ذريعن جي هڪ حد مهيا ڪري ٿو جيڪي ڊولپرز کي مختلف ڊيٽا ذريعن ۽ APIs، جهڙوڪ ڊيٽابيس، فائيل سسٽم، ۽ ويب APIs سان گڏ ڪرڻ جي قابل بڻائي ٿو.
  2. ڊيٽا پروسيسرز: LangChain ڊيٽا پروسيسرز جي هڪ حد مهيا ڪري ٿي جيڪا ڊولپرز کي وڏي ڊيٽا سيٽن تي عمل ڪرڻ جي قابل بڻائي ٿي، بشمول ڊيٽا جي صفائي، ڊيٽا جي تبديلي، ۽ ڊيٽا گڏ ڪرڻ.
  3. ماڊل آرڪيسٽريٽر: LangChain ماڊل آرڪيسٽرن جي هڪ حد مهيا ڪري ٿو جيڪي ڊولپرز کي AI ماڊلز کي منظم ۽ ترتيب ڏيڻ جي قابل بڻائين ٿا، بشمول ماڊل ٽريننگ، ماڊل ڊيپلائيمينٽ، ۽ ماڊل مانيٽرنگ.

تصوير چارٽ.js سان

اسان جي RAG سسٽم جي ڪارڪردگي کي ڏسڻ لاء، اسان استعمال ڪري سگهون ٿا Chart.js، هڪ مشهور جاوا اسڪرپٽ لائبريري انٽرايڪٽو چارٽ ٺاهڻ لاء. هتي هڪ مثال آهي ته ڪيئن استعمال ڪجي Chart.js اسان جي RAG سسٽم جي ڪارڪردگي کي ڏسڻ لاءِ:

جاوا اسڪرپٽ 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 سڀ کان وڌيڪ استعمال ٿيل ڪمانڊ/ٽڪرا

هتي آهن مٿيون 5-10 سڀ کان وڌيڪ استعمال ٿيل ڪمانڊ / ٽڪڙا LangChain ۾:

  1. Langchain Import Agent کان: LangChain مان ايجنٽ ڪلاس درآمد ڪريو.
  2. agent = ايجنٽ(...): هڪ نئون ايجنٽ مثال ٺاهيو.
  3. agent.generate(...): ٽيڪسٽ ٺاهڻ لاءِ ايجنٽ استعمال ڪريو.
  4. agent.query(...): ايجنٽ کي استعمال ڪريو علم جي بنياد تي سوال ڪرڻ لاءِ.
  5. agent.train(...): ايجنٽ کي ٽرين ڪريو ڊيٽا سيٽ تي.
  6. agent.deploy(...): ايجنٽ کي ويب سروس طور مقرر ڪريو.
  7. agent.monitor(...): ايجنٽ جي ڪارڪردگي جي نگراني ڪريو.
  8. agent.update(...): نئين ڊيٽا سان ايجنٽ کي اپڊيٽ ڪريو.
  9. agent.delete(...): ايجنٽ مثال کي حذف ڪريو.
  10. agent.save(...): ايجنٽ جي مثال کي فائل ۾ محفوظ ڪريو.

اختتام

هن آرٽيڪل ۾، اسان دريافت ڪيو آهي LangChain جي دنيا ۽ ان جي انضمام سان Python-based ويب فريم ورڪ جهڙوڪ FastAPI ۽ Flask. اسان LangChain ۾ آرڪيسٽريشن ٽولز جي استعمال تي پڻ بحث ڪيو آهي ۽ اسان جي RAG سسٽم جي ڪارڪردگي کي ڏسڻ لاءِ Chart.js کي ڪيئن استعمال ڪجي جا مثال ڏنا آهن. LangChain سان، ڊولپرز اسپيبلبل ۽ موثر RAG آرڪيٽيڪچر ٺاهي سگھن ٿا جيڪي پيچيده NLP ڪمن کي سنڀالي سگھن ٿا.


Have Questions?

Let's Talk

Contact me on LinkedIn