د متحرک سافټویر جوړښت لپاره د LLMs سره د RAG ادغام: یو عملي لارښود | B4N1

د متحرک سافټویر جوړښت لپاره د LLMs سره د RAG ادغام: یو عملي لارښود

8 months ago · b4n1 Read time: 4 min

** د متحرک سافټویر جوړښت لپاره د LLMs سره د RAG ادغام: یو عملي لارښود**

پیژندنه

په وروستیو کلونو کې، د سافټویر جوړښت ساحه د لوی ژبو ماډلونو (LLMs) او د بیا ترلاسه کولو-Augmented Generation (RAG) تخنیکونو په راتګ سره د پام وړ بدلون سره مخ شوی. د دې دوو ټیکنالوژیو ترمنځ همغږي د دې وړتیا لري چې د سافټویر سیسټمونو ډیزاین او پراختیا کې انقلاب راولي. پدې مقاله کې ، موږ به د متحرک سافټویر جوړښت لپاره د LLMs سره د RAG ادغام وپلټئ ، پشمول د پلي کولو ستراتیژیو په کارولو سره د آرکیسټریشن وسیلو لکه LangChain او DSPy.

RAG څه شی دی؟

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

LLM څه شی دی؟

LLMs د مصنوعي استخباراتو یو ډول ماډل دی چې د متن ډیټا په لوی مقدار کې روزل کیږي ترڅو د انسان په څیر ژبې تولید تولید کړي. دا ماډلونه عموما د ټرانسفارمر جوړښتونو پراساس دي او د طبیعي ژبې پروسس کولو پراخه لړۍ کې د عصري پایلو لاسته راوړنې لري. LLMs خورا متفاوت دي او د دندو لپاره کارول کیدی شي لکه د ژبې ژباړه، د متن لنډیز، او د خبرو اترو AI.

ولې د LLMs سره RAG مدغم کړئ؟

د LLMs سره د RAG ادغام د متحرک سافټویر جوړښت لپاره ډیری ګټې وړاندې کوي:

  1. غوره دقت: RAG کولی شي له LLMs سره مرسته وکړي چې د لوی شرکت څخه اړوند اسناد یا پاسات غوره کړي، چې د لا دقیق او معلوماتي متن پایلو لامل کیږي.
  2. د موثریت زیاتوالی: RAG کولی شي د LLMs کمپیوټري سرې کمې کړي یوازې د خورا اړوندو اسنادو یا پاسونو په غوره کولو سره چې د ګړندي غبرګون وخت لامل کیږي.
  3. پرمختللی انعطاف: RAG د کارونکي غوره توبونو او اړتیاو بدلولو لپاره د تطبیق لپاره کارول کیدی شي، LLMs ته اجازه ورکوي چې د متن محصول تولید کړي چې ډیر اړونده او ښکیل وي.

د پلي کولو تګلارې

د LLMs سره د RAG ادغام لپاره ډیری پلي کولو ستراتیژیانې شتون لري، په شمول:

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

د کوډ بیلګه

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

لاما = LLaMA()

د RAGChain ماډل جوړ کړئ

rag_chain = RAGChain(لاما، retrieval_model="t5-small")

پرامپټ تعریف کړئ

prompt = "د فرانسې پلازمېنه څه ده؟"

د متن محصول تولید کړئ

output = rag_chain.run (پرامپټ)

چاپ `` دا کوډ بیلګه ښیې چې څنګه د RAGChain ماډل رامینځته کولو لپاره LangChain وکاروئ چې د LLaMA ماډل د بیرته ترلاسه کولو ماډل سره مدغم کوي. د RAGChain ماډل بیا د پرامپټ پراساس د متن محصول تولید لپاره کارول کیږي.

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

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

  1. langchain.RAGChain(llama, retrieval_model="t5-small"): د RAGChain ماډل جوړوي چې د LLaMA ماډل د بیرته ترلاسه کولو ماډل سره یوځای کوي.
  2. llama.run(prompt): د LLaMA ماډل په کارولو سره د پرامپټ پراساس د متن محصول تولیدوي.
  3. rag_chain.run(prompt): د RAGChain ماډل په کارولو سره د پرامپټ پراساس د متن محصول تولیدوي.
  4. langchain.chains.RAGChain(llama, retrieval_model="t5-small", max_length=1024): د RAGChain ماډل رامینځته کوي چې د LLaMA ماډل د ترلاسه کولو ماډل سره مدغم کوي او د محصول متن اعظمي اوږدوالی ټاکي.
  5. llama.get_input(prompt): د LLaMA ماډل لپاره د ان پټ متن بیرته راګرځي.
  6. rag_chain.get_output(prompt): د RAGChain ماډل لپاره د محصول متن بیرته راګرځي.
  7. langchain.chains.RAGChain(llama, retrieval_model="t5-small", batch_size=32): د RAGChain ماډل رامینځته کوي چې د LLaMA ماډل د ترلاسه کولو ماډل سره مدغم کوي او د بیچ اندازه تنظیموي.
  8. llama.get_output(prompt): د LLaMA ماډل لپاره د محصول متن بیرته راګرځي.
  9. rag_chain.get_input(prompt): د RAGChain ماډل لپاره د ان پټ متن بیرته راګرځي.
  10. langchain.chains.RAGChain(llama, retrieval_model="t5-small", device="cuda"): د RAGChain ماډل رامینځته کوي چې د LLaMA ماډل د ترلاسه کولو ماډل سره مدغم کوي او وسیله CUDA ته تنظیموي.

بصری کول

دلته د Chart.js په کارولو سره د RAGChain ماډل ساده لید دی: json { "ډول": "بار" "ډاټا": { "labels": ["LLaMA", "RAGChain"], "ډاټاسایټ": [ { "label": "دقت", "ډاټا": [0.8, 0.9], "backgroundColor": ["#FF6384", "#36A2EB"] } ] }، "اختیارونه": { "عنوان": { "ښکاره": ریښتیا، "text": "RAGChain ماډل دقت" }، "ترازې": { "yAxes": [ { "ticks": { "beginAtZero": ریښتیا } } ] } } } دا لید د LLaMA ماډل او RAGChain ماډل دقت ښیي.

پایله

د LLMs سره د RAG ادغام د متحرک سافټویر جوړښت لپاره ډیری ګټې وړاندې کوي ، پشمول د دقت ښه والی ، د موثریت زیاتوالی ، او د انعطاف وده. LangChain او DSPy دوه مشهور آرکیسټریشن وسیلې دي چې د RAG پراساس ماډلونو پلي کولو لپاره کارول کیدی شي. پدې مقاله کې چمتو شوي د پلي کولو ستراتیژیو او کوډ مثالونو په تعقیب سره ، پراختیا کونکي کولی شي پیچلي RAG جوړښتونه رامینځته کړي چې LLMs د ترلاسه کولو ماډلونو سره مدغم کړي. د LLMs سره د RAG ادغام لپاره غوره 5-10 ډیری کارول شوي کمانډونه / ټوټې هم د حوالې لپاره چمتو شوي.


Have Questions?

Let's Talk

Contact me on LinkedIn