د پرمختللي سافټویر پراختیا کاري فلو لپاره د LLMs سره د RAG ادغام | B4N1

د پرمختللي سافټویر پراختیا کاري فلو لپاره د LLMs سره د RAG ادغام

9 months ago · b4n1 Read time: 5 min

د پرمختللي سافټویر پراختیا کاري فلو لپاره د LLMs سره د RAG ادغام

پیژندنه

د سافټویر پراختیا منظره په چټکۍ سره وده کوي، د مصنوعي استخباراتو (AI)، د ماشین زده کړې (ML)، او د طبیعي ژبې پروسس کولو (NLP) کې د پرمختګ لخوا پرمخ وړل کیږي. دوه کلیدي ټیکنالوژي چې موږ د سافټویر رامینځته کولو په لاره کې انقلاب رامینځته کوي د ترلاسه کولو - لوړ شوي نسل (RAG) او لوی ژبې ماډلونه (LLMs). پدې مقاله کې ، موږ به د LLMs سره د RAG ادغام وپلټئ ترڅو د سافټویر انجینرۍ پروسې ساده کړي ، د کوډ تولید ښه کړي ، او د پراختیا کونکي تولید ته وده ورکړي.

ریټریول-اګمینټډ جنریشن (RAG) څه شی دی؟

RAG یو تخنیک دی چې د NLP لپاره د ترلاسه کولو پر بنسټ او د نسل پر بنسټ تګلارې پیاوړتیا سره یوځای کوي. په دې کې د متن له یوې لویې مجموعې څخه د اړوندو معلوماتو ترلاسه کول او د نوي متن د تولید د زیاتولو لپاره کارول شامل دي. دا طریقه د NLP په مختلفو دندو کې خورا اغیزمنه ښودل شوې، پشمول د پوښتنو ځوابونه، د متن لنډیز، او د کوډ تولید.

د لویې ژبې موډلونه (LLMs) څه دي؟

LLMs یو ډول عصبي شبکه ده چې د انسان په څیر ژبه پروسس او تولید لپاره ډیزاین شوې. دوی عموما د متن په پراخه ډیټاسیټونو کې روزل شوي او د ځانګړو دندو لکه د ژبې ژباړه، د متن لنډیز، او د کوډ تولید لپاره ښه سمبال کیدی شي. LLMs په ډیری NLP دندو کې عصري پایلې ترلاسه کړې او په پراخه کچه په غوښتنلیکونو کې کارول کیږي لکه چیټ بوټس ، مجازی معاونین ، او د ژبې ژباړې سیسټمونه.

د پرمختللي سافټویر پراختیا کاري فلو لپاره د LLMs سره د RAG ادغام

د LLMs سره د RAG ادغام د دې وړتیا لري چې د سافټویر رامینځته کولو لاره کې انقلاب رامینځته کړي. د ترلاسه کولو پر بنسټ او د نسل پر بنسټ د تګلارو د پیاوړتیا سره یوځای کولو سره، RAG کولی شي د LLMs سره مرسته وکړي چې ډیر دقیق او اړونده کوډ تولید کړي. دا کولی شي د پراختیا کونکي تولیداتو ، کوډ کیفیت ، او د سافټویر عمومي پراختیا کاري فلو کې د پام وړ پرمختګ لامل شي.

** د آرکیسټریشن اوزار: لینګ چین او DSPy**

د LLMs سره د RAG مدغم کولو لپاره ، موږ د آرکیسټریشن وسیلو ته اړتیا لرو چې کولی شي د معلوماتو جریان اداره کړي او د RAG او LLM اجزاو اجرا کنټرول کړي. دوه مشهور آرکیسټریشن وسیلې چې د دې هدف لپاره کارول کیدی شي LangChain او DSPy دي.

لینګ چین

LangChain د خلاصې سرچینې Python کتابتون دی چې د RAG پر بنسټ غوښتنلیکونو جوړولو لپاره ساده او رواني API چمتو کوي. دا پراختیا کونکو ته اجازه ورکوي چې په اسانۍ سره RAG د LLMs او نورو NLP برخو سره مدغم کړي ترڅو د ځواکمن سافټویر پراختیا کاري فلو رامینځته کړي.

DSPy

DSPy یو بل خلاص سرچینه Python کتابتون دی چې د RAG پراساس غوښتنلیکونو جوړولو لپاره د لوړې کچې API چمتو کوي. دا د LLMs او نورو NLP اجزاو سره په بې ساري ډول کار کولو لپاره ډیزاین شوی ، دا د LLMs سره د RAG ادغام لپاره غوره انتخاب جوړوي.

د کوډ بیلګه: د LangChain په کارولو سره د LLMs سره د RAG یوځای کول

دلته یو ساده کوډ مثال دی چې ښیې چې څنګه د LangChain په کارولو سره د LLMs سره RAG مدغم کړئ: ``پېتون langchain واردول د langchain.chains څخه RAGChain واردوي

rag_model = langchain.RAG( index=langchain.Index( نوم = "my_index" اسناد=["سند 1"، "سند 2"، "د سند3"], ) retriever=langchain.Retriever( نوم = "زما_ریټریور" ماډل = "زما_ریټریور_موډل" ) جنریټر=langchain.جنریټر( نوم = "زما_جنریټر" ماډل = "زما_جنریټر_موډل" ) )

د LLM ماډل تعریف کړئ

llm_model = langchain.LLM( نوم = "my_llm" ماډل = "my_llm_model" )

د RAG سلسله جوړه کړئ

rag_chain = RAGChain( نوم = "زما_راګ_چین" ماډل=راګ_موډل، llm=llm_model, )

د کوډ رامینځته کولو لپاره د RAG سلسله وکاروئ

کوډ = rag_chain.generate( input_text="هغه فنکشن ولیکئ چې دوه عددونه د انپټ په توګه اخلي او د دوی مجموعه بیرته راوړي", )

چاپ (کوډ) `` دا کوډ بیلګه ښیې چې څنګه د LangChain په کارولو سره د RAG ماډل تعریف کړئ ، د LLM ماډل تعریف کړئ ، د RAG سلسله رامینځته کړئ ، او د کوډ رامینځته کولو لپاره زنځیر وکاروئ.

غوره 5-10 ډیری کارول شوي کمانډونه / ټوټې

دلته د LangChain او DSPy په کارولو سره د LLMs سره د RAG ادغام لپاره غوره 5-10 خورا کارول شوي کمانډونه / ټوټې دي:

  1. langchain.RAG(): د RAG ماډل مثال جوړوي.
  2. langchain.Index(): د اسنادو ذخیره کولو او ترلاسه کولو لپاره د شاخص مثال رامینځته کوي.
  3. langchain.Retriever(): د اړونده اسنادو د ترلاسه کولو لپاره د بیرته ترلاسه کولو مثال رامینځته کوي.
  4. langchain.Generator(): د نوي متن د جوړولو لپاره د جنریټر مثال جوړوي.
  5. langchain.LLM(): د LLM ماډل مثال جوړوي.
  6. RAGChain(): د RAG زنځیر مثال جوړوي.
  7. rag_chain.generate(): د کوډ جوړولو لپاره د RAG سلسله کاروي.
  8. llm_model.generate(): د کوډ جوړولو لپاره د LLM ماډل کاروي.
  9. index.add_document(): په شاخص کې یو سند اضافه کوي.
  10. retriever.retrieve(): د بیرته ترلاسه کولو په کارولو سره اړونده اسناد بیرته ترلاسه کوي.

بصری کول

دلته د Chart.js په کارولو سره د RAG او LLM اجزاو لید دی: json { "ډول": "بار" "ډاټا": { "labels": ["RAG", "LLM"], "ډاټاسایټ": [ { "label": "اجزاوو", "ډاټا": [10, 20], "backgroundColor": ["#4CAF50", "#FF9800"] } ] }، "اختیارونه": { "عنوان": { "ښکاره": ریښتیا، "text": "RAG او LLM اجزا" }، "ترازې": { "yAxes": [ { "ښکاره": ریښتیا، "beginAtZero": ریښتیا } ] } } } دا لید د RAG او LLM ماډلونو کې د برخو شمیر ښیې.

پایله

د LLMs سره د RAG ادغام د دې وړتیا لري چې د سافټویر رامینځته کولو لاره کې انقلاب رامینځته کړي. د ترلاسه کولو پر بنسټ او د نسل پر بنسټ د تګلارو د پیاوړتیا سره یوځای کولو سره، RAG کولی شي د LLMs سره مرسته وکړي چې ډیر دقیق او اړونده کوډ تولید کړي. دا کولی شي د پراختیا کونکي تولیداتو ، کوډ کیفیت ، او د سافټویر عمومي پراختیا کاري فلو کې د پام وړ پرمختګ لامل شي. د آرکیسټریشن وسیلو لکه LangChain او DSPy سره ، پراختیا کونکي کولی شي په اسانۍ سره RAG د LLMs او نورو NLP برخو سره مدغم کړي ترڅو د ځواکمن سافټویر پراختیا کاري فلو رامینځته کړي.


Have Questions?

Let's Talk

Contact me on LinkedIn