** د عصري ویب چوکاټونو سره د RAG ادغام (د بیا ترلاسه کولو - لوړ شوی نسل): یو عملي لارښود**
پیژندنه
په وروستیو کلونو کې، د طبیعي ژبې پروسس کولو ساحه (NLP) د لوی ژبې ماډلونو (LLMs) او په مختلفو ډومینونو کې د دوی غوښتنلیکونو په پراختیا کې د پام وړ زیاتوالی لیدلی دی. په هرصورت، د LLMs یو له لوی محدودیتونو څخه د دوی په ځوابونو کې د بهرنۍ پوهې بیرته ترلاسه کولو او شاملولو کې د دوی نشتوالی دی. دا هغه ځای دی چې د بیا ترلاسه کولو - لوړ شوي نسل (RAG) تخنیکونه په عمل کې راځي. په دې مقاله کې، موږ به د RAG تخنیکونو پلي کول د FastAPI او Django په کارولو سره په ویب غوښتنلیکونو کې د LLM وړتیاوو لوړولو لپاره وپلټئ، په شمول د لینګ چین سره د بې ځایه معلوماتو ترلاسه کولو او پروسس کولو لپاره آرکیسټریشن.
RAG څه شی دی؟
RAG یو تخنیک دی چې د ترلاسه کولو او تولید ماډلونو ځواک سره یوځای کوي ترڅو ډیر دقیق او معلوماتي ځوابونه تولید کړي. د RAG تر شا اساسی نظر دا دی چې لومړی د پوهې اساس یا ډیټابیس څخه اړونده معلومات ترلاسه کړئ، او بیا د ځواب تولید لپاره دا معلومات وکاروئ. دا طریقه LLMs ته اجازه ورکوي چې بهرنۍ پوهه وکاروي او ډیر دقیق او معلوماتي ځوابونه چمتو کړي.
** ولې د FastAPI او Django سره RAG وکاروئ؟**
FastAPI او Django دوه خورا مشهور ویب چوکاټونه دي چې د ویب غوښتنلیکونو جوړولو لپاره کارول کیږي. دوی د ویب غوښتنلیکونو جوړولو لپاره قوي او د توزیع وړ زیربنا چمتو کوي ، او د LLM وړتیاو لوړولو لپاره د RAG تخنیکونو سره په اسانۍ سره مدغم کیدی شي. FastAPI یو عصري ویب چوکاټ دی چې د ویب غوښتنلیکونو جوړولو لپاره ګړندۍ او مؤثره لاره چمتو کوي، پداسې حال کې چې جینګو د لوړې کچې ویب چوکاټ دی چې د قوي ویب غوښتنلیکونو جوړولو لپاره آرکیټیکچر، ټیمپلیټونه، او APIs چمتو کوي.
** د FastAPI سره د RAG پلي کول**
FastAPI د RAG تخنیکونو پلي کولو لپاره ساده او مؤثره لار وړاندې کوي. دلته د مثال کوډ بلاک دی چې د RAG پلي کولو لپاره د FastAPI کارولو څرنګوالی ښیې:
``پېتون د فاسټاپي واردولو څخه FastAPI د langchain وارداتو LLMCchain څخه له langchain.chains.openai څخه OpenAIApi وارد کړئ
اپلیکیشن = FastAPI()
@app.get("/rag") async def rag (پوښتنه: str):
llm_chain = LLMCچین(
llm=OpenAIApi(),
retrieval=LangChainRetrieval(
index=LangChainIndex(
نوم = "my_index"
اسناد=["doc1"، "doc2"، "doc3"]
)
)
)
# د LLM زنځیر په کارولو سره ځواب رامینځته کړئ
ځواب = llm_chain.run (پوښتنه)
بیرته ستنیدنه {"response": response}
``
په دې مثال کې، موږ د LangChain څخه د LLMCchain ټولګي په کارولو سره د LLM سلسله تعریفوو. موږ بیا د 'LangChainRetrieval' ټولګي په کارولو سره د بیرته ترلاسه کولو برخه تعریف کوو، کوم چې د پوهې اساس یا ډیټابیس څخه د اړونده معلوماتو ترلاسه کولو لپاره کارول کیږي. په نهایت کې ، موږ د LLM زنځیر په کارولو سره د ځواب رامینځته کولو لپاره د رن میتود کاروو.
** د جینګو سره د RAG پلي کول**
جینګو د لوړې کچې ویب چوکاټ چمتو کوي چې په اسانۍ سره د RAG تخنیکونو سره مدغم کیدی شي. دلته د مثال کوډ بلاک دی چې ښیې چې د RAG پلي کولو لپاره د جینګو کارولو څرنګوالی:
``پېتون د django.http څخه د JsonResponse وارد کړئ د langchain وارداتو LLMCchain څخه له langchain.chains.openai څخه OpenAIApi وارد کړئ
def rag (غوښتنه): # د LLM سلسله تعریف کړئ llm_chain = LLMCچین( llm=OpenAIApi(), retrieval=LangChainRetrieval( index=LangChainIndex( نوم = "my_index" اسناد=["doc1"، "doc2"، "doc3"] ) ) )
# د LLM زنځیر په کارولو سره ځواب رامینځته کړئ
ځواب = llm_chain.run(request.GET.get("پوښتنه"))
بیرته راشئ JsonResponse({"response": response})
``
په دې مثال کې، موږ د لید فنکشن 'rag' تعریف کوو چې یوه پوښتنه د ان پټ په توګه اخلي او د LLM زنځیر په کارولو سره ځواب تولیدوي.
** د LangChain سره د RAG تنظیم کول**
LangChain د RAG تخنیکونو آرکیسټریټ لپاره ساده او مؤثره لار وړاندې کوي. دلته د کوډ بلاک مثال دی چې ښیې چې څنګه د RAG تنظیم کولو لپاره LangChain وکاروئ:
``پېتون د langchain وارداتو LLMCchain څخه له langchain.chains.openai څخه OpenAIApi وارد کړئ
د LLM سلسله تعریف کړئ
llm_chain = LLMCچین( llm=OpenAIApi(), retrieval=LangChainRetrieval( index=LangChainIndex( نوم = "my_index" اسناد=["doc1"، "doc2"، "doc3"] ) ) )
د LLM زنځیر په کارولو سره ځواب رامینځته کړئ
ځواب = llm_chain.run("RAG څه شی دی؟")
چاپ (ځواب) ``
په دې مثال کې، موږ د LangChain څخه د LLMCchain ټولګي په کارولو سره د LLM سلسله تعریفوو. بیا موږ د LLM زنځیر په کارولو سره د ځواب رامینځته کولو لپاره د رن میتود کاروو.
غوره 5-10 ډیری کارول شوي کمانډونه / ټوټې
دلته د FastAPI او Django سره د RAG پلي کولو لپاره غوره 5-10 ډیری کارول شوي کمانډونه / ټوټې دي:
- ''له langchain واردولو LLMCchain'': له LangChain څخه ''LLMChain'' ټولګي وارد کړئ.
llm_chain = LLMCchain(llm=OpenAIApi(), retrieval=LangChainRetrieval(index=LangChainIndex(name="my_index", اسناد=["doc1", "doc2", "doc3"]))): د LLMC ټولګي په کارولو سره د LLM زنځیر تعریف کړئ.response = llm_chain.run(query): د LLM سلسلې په کارولو سره ځواب پیدا کړئ.- د فاسټاپي واردولو څخه FastAPI: د FastAPI څخه د FastAPI ټولګي وارد کړئ.
app = FastAPI(): د FastAPI غوښتنلیک تعریف کړئ.@app.get("/rag"): د RAG پای ټکی لپاره لاره تعریف کړئ.llm_chain = LLMCchain(llm=OpenAIApi(), retrieval=LangChainRetrieval(index=LangChainIndex(name="my_index", اسناد=["doc1", "doc2", "doc3"]))): د LLMC ټولګي په کارولو سره د LLM زنځیر تعریف کړئ.response = llm_chain.run(query): د LLM سلسلې په کارولو سره ځواب پیدا کړئ.from django.http د JsonResponse وارد کړئ: له Django څخهJsonResponseټولګي وارد کړئ.return JsonResponse({"response": response}): د پیدا شوي ځواب سره د JSON ځواب راوګرځوئ.
بصری کول
دلته د Chart.js په کارولو سره د RAG پایپ لاین لید دی:
json { "type": "افقي بار" "ډاټا": { "labels": ["ترلاسه کول"، "نسل"، "پوسټ پروسس کول"], "ډاټاسایټ": [ { "label": "RAG پایپ لاین", "ډاټا": [10, 20, 30], د پس منظر رنګ: [ "rgba(255, 99, 132, 0.2)", "rgba(54, 162, 235, 0.2)", "rgba(255, 206, 86, 0.2)" ]، "سرحد رنګ": [ "rgba(255, 99, 132, 1)", "rgba(54, 162, 235, 1)", "rgba(255, 206, 86, 1)" ]، "borderWidth": 1 } ] }، "اختیارونه": { "عنوان": { "ښکاره": ریښتیا، "text": "RAG پایپ لاین" }، "ترازې": { "yAxes": [ { "ticks": { "beginAtZero": ریښتیا } } ] } } }
دا لید د RAG پایپ لاین د دریو مرحلو سره ښیي: بیرته ترلاسه کول، تولید، او وروسته پروسس کول.
پایله
په دې مقاله کې، موږ په ویب غوښتنلیکونو کې د LLM وړتیاوو د لوړولو لپاره د FastAPI او Django په کارولو سره د RAG تخنیکونو پلي کول وپلټئ، په شمول د لینګ چین سره د بې ځایه ډاټا ترلاسه کولو او پروسس کولو لپاره آرکیسټریشن. موږ د FastAPI او Django سره د RAG پلي کولو لپاره عملي لارښود هم چمتو کړی ، پشمول د کوډ مثالونه او د RAG پایپ لاین لید. موږ امید لرو چې دا مقاله د پراختیا کونکو لپاره ګټوره سرچینه چمتو کړې چې د دوی په ویب غوښتنلیکونو کې د RAG تخنیکونو پلي کولو په لټه کې دي.