RAG (ئەسلىگە كەلتۈرۈش-كۈچەيتىلگەن ئەۋلاد) نى زامانىۋى تور رامكىسى بىلەن بىرلەشتۈرۈش: ئەمەلىي قوللانما | B4N1

RAG (ئەسلىگە كەلتۈرۈش-كۈچەيتىلگەن ئەۋلاد) نى زامانىۋى تور رامكىسى بىلەن بىرلەشتۈرۈش: ئەمەلىي قوللانما

9 months ago · b4n1 Read time: 4 min

RAG (يىغىۋېلىش-كۈچەيتىلگەن ئەۋلاد) نى زامانىۋى تور رامكىسى بىلەن بىرلەشتۈرۈش: ئەمەلىي قوللانما

تونۇشتۇرۇش

يېقىنقى يىللاردىن بۇيان ، تەبىئىي تىل بىر تەرەپ قىلىش ساھەسى (NLP) چوڭ تىل مودېللىرى (LLMs) نىڭ تەرەققىي قىلىشى ۋە ئۇلارنىڭ ھەرقايسى ساھەدە قوللىنىلىشىدا كۆرۈنەرلىك شىددەت بىلەن ئاشتى. قانداقلا بولمىسۇن ، LLMs نىڭ ئاساسلىق چەكلىمىلىرىنىڭ بىرى ئۇلارنىڭ ئىنكاسىغا تاشقى بىلىملەرنى قايتۇرالماسلىق ۋە سىڭدۈرەلمەسلىك. Retrieval-Augmented Generation (RAG) تېخنىكىسى مۇشۇ يەردە مەيدانغا كېلىدۇ. بۇ ماقالىدە بىز FastAPI ۋە Django ئارقىلىق RAG تېخنىكىسىنىڭ يولغا قويۇلۇشى ئۈستىدە ئىزدىنىپ ، تور قوللىنىشچان پروگراممىلىرىدا LLM ئىقتىدارىنى يۇقىرى كۆتۈرىمىز ، مەسىلەن LangChain بىلەن ئوركېستىرلاش ئارقىلىق سانلىق مەلۇماتلارنى يىغىش ۋە بىر تەرەپ قىلىش.

RAG دېگەن نېمە؟

RAG Retrieval ۋە ئەۋلاد مودېللىرىنىڭ ئارتۇقچىلىقىنى بىرلەشتۈرگەن تېخنىكا بولۇپ ، تېخىمۇ توغرا ۋە مەزمۇنلۇق جاۋاب بېرىدۇ. RAG نىڭ ئارقىسىدىكى ئاساسلىق ئىدىيە ئالدى بىلەن مۇناسىۋەتلىك ئۇچۇرلارنى بىلىم ئامبىرى ياكى سانداندىن ئېلىش ، ئاندىن بۇ ئۇچۇرلارنى ئىشلىتىپ جاۋاب قايتۇرۇش. بۇ خىل ئۇسۇل LLM لارنىڭ تاشقى بىلىملەردىن پايدىلىنىپ ، تېخىمۇ توغرا ۋە مەزمۇنلۇق جاۋاب بىلەن تەمىنلەيدۇ.

نېمىشقا FastAPI ۋە Django بىلەن RAG نى ئىشلىتىسىز؟

FastAPI ۋە Django تور قوللىنىشچان پروگراممىلىرىنى ياساشتا ئىشلىتىلىدىغان ئەڭ مودا تور رامكىسىدىن ئىككىسى. ئۇلار تور قوللىنىشچان پروگراممىلىرىنى قۇرۇش ئۈچۈن پۇختا ۋە كېڭەيتكىلى بولىدىغان ئۇل ئەسلىھە بىلەن تەمىنلەيدۇ ، RAG تېخنىكىسى بىلەن ئاسانلا بىرلەشتۈرۈلۈپ LLM ئىقتىدارىنى ئۆستۈرىدۇ. FastAPI تور قوللىنىشچان پروگراممىلىرىنى تېز ۋە ئۈنۈملۈك ئۇسۇل بىلەن تەمىنلەيدىغان زامانىۋى تور رامكىسى ، Django بولسا يۇقىرى دەرىجىلىك تور رامكىسى بولۇپ ، كۈچلۈك تور قوللىنىشچان پروگراممىلىرىنى قۇرۇش ئۈچۈن بىناكارلىق ، قېلىپ ۋە API لار بىلەن تەمىنلەيدۇ.

FastAPI بىلەن RAG نى يولغا قويۇش

FastAPI RAG تېخنىكىسىنى يولغا قويۇشنىڭ ئاددىي ۋە ئۈنۈملۈك ئۇسۇلى بىلەن تەمىنلەيدۇ. بۇ يەردە RAG نى ئىجرا قىلىشتا FastAPI نى قانداق ئىشلىتىشنى كۆرسىتىپ بېرىدىغان بىر مىسال كود توپى:

`` python fastapi ئەكىرىشتىن FastAPI langchain import LLMChain langchain.chains.openai دىن OpenAIApi ئىمپورت قىلىدۇ

app = FastAPI ()

@ app.get ("/ rag") async def rag (سوئال: str):

llm_chain = LLMChain (
    llm = OpenAIApi (),
    Retrieval = LangChainRetrieval (
        index = LangChainIndex (
            name = "my_index",
            ھۆججەتلەر = ["doc1", "doc2", "doc3"]
        )
    )
)

# LLM زەنجىرى ئارقىلىق ئىنكاس ھاسىل قىلىڭ
response = llm_chain.run (سوئال)

return {"ئىنكاس": جاۋاب}

`` `

بۇ مىسالدا ، بىز LangChain دىكى «LLMChain» سىنىپى ئارقىلىق LLM زەنجىرىنى ئېنىقلايمىز. ئاندىن «LangChainRetrieval» سىنىپى ئارقىلىق يىغىۋېلىش زاپچاسلىرىغا ئېنىقلىما بېرىمىز ، بۇ بىلىملەر ئاساسى ياكى سانداندىن مۇناسىۋەتلىك ئۇچۇرلارنى ئېلىشقا ئىشلىتىلىدۇ. ئاخىرىدا ، بىز «run» ئۇسۇلىنى ئىشلىتىپ LLM زەنجىرى ئارقىلىق ئىنكاس ھاسىل قىلىمىز.

Django بىلەن RAG نى يولغا قويۇش

Django يۇقىرى دەرىجىدىكى تور رامكىسى بىلەن تەمىنلەيدۇ ، ئۇنى RAG تېخنىكىسى بىلەن ئاسانلا بىرلەشتۈرگىلى بولىدۇ. بۇ يەردە Django نى ئىشلىتىپ RAG نى قانداق ئىشلىتىشنى كۆرسىتىپ بېرىدىغان بىر مىسال كود توپى:

`` python django.http دىن ئىمپورت JsonResponse langchain import LLMChain langchain.chains.openai دىن OpenAIApi ئىمپورت قىلىدۇ

def rag (تەلەپ): # LLM زەنجىرىنى ئېنىقلاڭ llm_chain = LLMChain ( llm = OpenAIApi (), Retrieval = LangChainRetrieval ( index = LangChainIndex ( name = "my_index", ھۆججەتلەر = ["doc1", "doc2", "doc3"] ) ) )

# LLM زەنجىرى ئارقىلىق ئىنكاس ھاسىل قىلىڭ
response = llm_chain.run (request.GET.get ("سوئال"))

return JsonResponse ({"ئىنكاس": جاۋاب})

`` `

بۇ مىسالدا ، بىز بىر سوئالنى كىرگۈزۈش دەپ قارايدىغان ۋە LLM زەنجىرى ئارقىلىق ئىنكاس ھاسىل قىلىدىغان «rag» فۇنكسىيەسىنى ئېنىقلايمىز.

LangChain بىلەن RAG نى تەشكىللەش

LangChain RAG تېخنىكىسىنى تەشكىللەشنىڭ ئاددىي ۋە ئۈنۈملۈك ئۇسۇلى بىلەن تەمىنلەيدۇ. بۇ يەردە LangChain نى ئىشلىتىپ RAG نى قانداق تەشكىل قىلىدىغانلىقىنى كۆرسىتىپ بېرىدىغان بىر مىسال كود توپى:

`` python langchain import LLMChain langchain.chains.openai دىن OpenAIApi ئىمپورت قىلىدۇ

LLM زەنجىرىنى ئېنىقلاڭ

llm_chain = LLMChain ( llm = OpenAIApi (), Retrieval = LangChainRetrieval ( index = LangChainIndex ( name = "my_index", ھۆججەتلەر = ["doc1", "doc2", "doc3"] ) ) )

LLM زەنجىرى ئارقىلىق ئىنكاس ھاسىل قىلىڭ

response = llm_chain.run ("RAG دېگەن نېمە؟")

بېسىش (جاۋاب) `` `

بۇ مىسالدا ، بىز LangChain دىكى «LLMChain» سىنىپى ئارقىلىق LLM زەنجىرىنى ئېنىقلايمىز. ئاندىن بىز «run» ئۇسۇلىنى ئىشلىتىپ LLM زەنجىرى ئارقىلىق ئىنكاس ھاسىل قىلىمىز.

ئەڭ كۆپ ئىشلىتىلىدىغان 5-10 بۇيرۇق / ئۈزۈندىلەر

بۇ يەردە FastAPI ۋە Django بىلەن RAG نى يولغا قويۇشتا ئەڭ كۆپ ئىشلىتىلگەن 5-10 بۇيرۇق / ئۈزۈندىلەر:

  1. langchain import LLMChain`: LangChain دىن LLMChain سىنىپىنى ئەكىرىڭ. .
  2. response = llm_chain.run (سوئال): LLM زەنجىرى ئارقىلىق جاۋاب ھاسىل قىلىڭ.
  3. fastapi import FastAPI: FastAPI دىن FastAPI سىنى ئەكىرىڭ.
  4. app = FastAPI (): FastAPI قوللىنىشچان پروگراممىسىغا ئېنىقلىما بېرىڭ.
  5. "@ app.get (" / rag ")`: RAG ئاخىرقى نۇقتىسىنىڭ يولىنى بەلگىلەڭ. .
  6. response = llm_chain.run (query): LLM زەنجىرى ئارقىلىق جاۋاب ھاسىل قىلىڭ.
  7. Django.http دىن JsonResponse نى ئىمپورت قىلىڭ: Django دىن «JsonResponse» سىنىپىنى ئەكىرىڭ.
  8. JsonResponse ({"ئىنكاس": جاۋاب}) نى قايتۇرۇڭ: ھاسىل قىلىنغان جاۋاب بىلەن JSON ئىنكاسىنى قايتۇرۇڭ.

Visualization

بۇ يەردە Chart.js ئارقىلىق RAG تۇرۇبا يولىنىڭ كۆرۈنۈشى:

json { "type": "horizontalBar", "data": { "بەلگە": ["ئەسلىگە كەلتۈرۈش" ، "ئەۋلاد" ، "كېيىنكى پىششىقلاپ ئىشلەش"], "datasets": [ { "label": "RAG تۇرۇبا يولى", "data": [10, 20, 30], "backgroundColor": [ "rgba (255, 99, 132, 0.2)", "rgba (54, 162, 235, 0.2)", "rgba (255, 206, 86, 0.2)" ], "borderColor": [ "rgba (255, 99, 132, 1)", "rgba (54, 162, 235, 1)", "rgba (255, 206, 86, 1)" ], "borderWidth": 1 } ] }, "options": { "title": { "display": true, "text": "RAG تۇرۇبا يولى" }, "تارازا": { "yAxes": [ { "ticks": { "startAtZero": راست } } ] } } } `

بۇ كۆرۈنۈشتە RAG تۇرۇبا يولى ئەسلىگە كەلتۈرۈش ، ئەۋلاد ۋە كېيىنكى پىششىقلاپ ئىشلەشتىن ئىبارەت ئۈچ باسقۇچنى ئۆز ئىچىگە ئالىدۇ.

خۇلاسە

بۇ ماقالىدە ، FastAPI ۋە Django ئارقىلىق RAG تېخنىكىسىنىڭ يولغا قويۇلۇشى ئۈستىدە ئىزدىنىپ ، تور قوللىنىشچان پروگراممىلىرىدا LLM ئىقتىدارىنى يۇقىرى كۆتۈردۇق ، مەسىلەن LangChain بىلەن ئوركېستىرلاش ئارقىلىق سانلىق مەلۇماتلارنى يىغىش ۋە بىر تەرەپ قىلىش. بىز يەنە FastAPI ۋە Django بىلەن RAG نى يولغا قويۇشنىڭ ئەمەلىي قوللانمىسى بىلەن تەمىنلىدۇق ، بۇلار كود مىسالى ۋە RAG تۇرۇبا يولىنى تەسۋىرلەش قاتارلىقلارنى ئۆز ئىچىگە ئالىدۇ. بىز بۇ ماقالىنىڭ تور قوللىنىشچان پروگراممىلىرىدا RAG تېخنىكىسىنى يولغا قويماقچى بولغان پروگراممېرلارنى پايدىلىق مەنبە بىلەن تەمىنلىشىنى ئۈمىد قىلىمىز.


Have Questions?

Let's Talk

Contact me on LinkedIn