Ukuhlanganisa i-RAG nama-LLM Okuthuthukisa Ukugeleza Kwesoftware Okuthuthukisiwe | B4N1

Ukuhlanganisa i-RAG nama-LLM Okuthuthukisa Ukugeleza Kwesoftware Okuthuthukisiwe

9 months ago · b4n1 Read time: 3 min

Ukuhlanganisa i-RAG nama-LLM Okuthuthukisa Ukugeleza Kwesoftware Okuthuthukisiwe

Isingeniso

Isimo sokuthuthukiswa kwesoftware sithuthuka ngokushesha, siqhutshwa intuthuko kwezobuhlakani bokwenziwa (AI), ukufunda ngomshini (ML), kanye nokucubungula ulimi lwemvelo (NLP). Ubuchwepheshe obubili obubalulekile obushintsha indlela esenza ngayo isofthiwe i-Retrieval-Augmented Generation (RAG) kanye namamodeli olimi amakhulu (LLMs). Kulesi sihloko, sizohlola ukuhlanganiswa kwe-RAG nama-LLM ukuze siqondise izinqubo zobunjiniyela besofthiwe, sithuthukise ukukhiqizwa kwekhodi, futhi sithuthukise ukukhiqiza konjiniyela.

Siyini i-Retrieval-Augmented Generation (RAG)?

I-RAG yindlela ehlanganisa amandla ezindlela ezisuselwe ekubuyiseni nezisekelwe esizukulwaneni ku-NLP. Kubandakanya ukubuyisa ulwazi olufanele kuqoqo elikhulu lombhalo nokulusebenzisela ukukhulisa ukukhiqizwa kombhalo omusha. Le ndlela iboniswe ukuthi iphumelela kakhulu emisebenzini ehlukahlukene ye-NLP, okuhlanganisa ukuphendula imibuzo, ukufingqa kombhalo, nokukhiqizwa kwekhodi.

Ayini Amamodeli Olimi Amakhulu (ama-LLM)?

Ama-LLM awuhlobo lwenethiwekhi ye-neural eklanyelwe ukucubungula futhi ikhiqize ulimi olufana nomuntu. Ngokuvamile baqeqeshelwa amasethi edatha amakhulu ombhalo futhi bangalungiselelwa imisebenzi ethile njengokuhumusha ulimi, ukufinyezwa kombhalo, nokwenza ikhodi. Ama-LLM athole imiphumela esezingeni eliphezulu emisebenzini eminingi ye-NLP futhi asetshenziswa kakhulu ezinhlelweni zokusebenza ezifana nama-chatbots, abasizi ababonakalayo, nezinhlelo zokuhumusha ulimi.

Ukuhlanganisa i-RAG nama-LLM Okuthuthukisa Ukugeleza Kwesoftware Okuthuthukisiwe

Ukuhlanganiswa kwe-RAG nama-LLM kunamandla okuguqula indlela esithuthukisa ngayo isofthiwe. Ngokuhlanganisa amandla ezindlela ezisuselwe ekubuyiseni nezisekelwe esizukulwaneni, i-RAG ingasiza ama-LLM ukuthi enze ikhodi enembe kakhulu nefanele. Lokhu kungaholela ekuthuthukisweni okuphawulekayo ekukhiqizeni konjiniyela, ikhwalithi yekhodi, kanye nokugeleza komsebenzi wokuthuthukiswa kwesofthiwe kukonke.

Amathuluzi e-Orchestration: I-LangChain ne-DSPy

Ukuze sihlanganise i-RAG nama-LLM, sidinga amathuluzi e-orchestration angalawula ukuhamba kwedatha futhi alawule ukusetshenziswa kwezingxenye ze-RAG ne-LLM. Amathuluzi amabili okucula adumile angasetshenziselwa le njongo iLangChain ne-DSPy.

LangChain

I-LangChain iyilabhulali ye-Python yomthombo ovulekile ehlinzeka nge-API elula nenembile yokwakha izinhlelo zokusebenza ezisekelwe ku-RAG. Ivumela abathuthukisi ukuthi bahlanganise kalula i-RAG nama-LLM nezinye izingxenye ze-NLP ukuze bakhe ukugeleza komsebenzi wokuthuthukiswa kwesofthiwe okunamandla.

DSPy

I-DSPy ingenye ilabhulali ye-Python yomthombo ovulekile ehlinzeka nge-API yezinga eliphezulu yokwakha izinhlelo zokusebenza ezisekelwe ku-RAG. Iklanyelwe ukusebenza ngaphandle komthungo nama-LLM nezinye izingxenye ze-NLP, okuyenza ibe inketho ekahle yokuhlanganisa i-RAG nama-LLM.

Isibonelo Sekhodi: Ukuhlanganisa i-RAG nama-LLM kusetshenziswa i-LangChain

Nasi isibonelo sekhodi esilula esibonisa indlela yokuhlanganisa i-RAG nama-LLM usebenzisa i-LangChain:

ngenisa i-langchain
kusuka ku-langchain.chains ngenisa i-RAGChain


rag_model = langchain.RAG(
    index=langchain.Index(
        igama="inkomba_yami",
        imibhalo=["idokhumenti1", "idokhumenti2", "idokhumenti3"],
    ),
    i-retriever=langchain.Retriever(
        igama="my_retriever",
        imodeli="my_retriever_model",
    ),
    ijeneretha=langchain.Generator(
        igama="my_generator",
        imodeli="my_generator_model",
    ),
)

# Chaza imodeli ye-LLM
llm_model = langchain.LLM(
    igama = "my_llm",
    imodeli="my_llm_model",
)

# Dala iketango le-RAG
rag_chain = RAGChain(
    igama="my_rag_chain",
    imodeli=imodeli_ye-rag,
    llm=llm_imodeli,
)

# Sebenzisa iketango le-RAG ukwenza ikhodi
ikhodi = rag_chain.generate(
    input_text="Bhala umsebenzi othatha izinombolo ezimbili njengokufaka bese ubuyisela isamba sawo",
)

phrinta(ikhodi)

Lesi sibonelo sekhodi sibonisa indlela yokuchaza imodeli ye-RAG usebenzisa i-LangChain, chaza imodeli ye-LLM, udale uchungechunge lwe-RAG, futhi usebenzise iketanga ukukhiqiza ikhodi.

Imiyalo/Amazwibela Aphezulu Okuyi-5-10

Nansi imiyalo/izifinyezo ezisetshenziswa kakhulu eziyi-5-10 zokuhlanganisa i-RAG nama-LLM kusetshenziswa i-LangChain ne-DSPy:

  1. langchain.RAG(): Idala imodeli ye-RAG.
  2. langchain.Index(): Idala isibonelo senkomba sokugcina nokukhipha amadokhumenti.
  3. langchain.Retriever(): Idala isibonelo sokubuyisa ukuze kutholwe amadokhumenti afanelekile.
  4. langchain.Generator(): Idala isibonelo sokukhiqiza sokukhiqiza umbhalo omusha.
  5. langchain.LLM(): Idala imodeli ye-LLM.
  6. RAGChain(): Idala isibonelo se-RAG chain.
  7. rag_chain.generate(): Isebenzisa iketango le-RAG ukwenza ikhodi.
  8. llm_model.generate(): Isebenzisa imodeli ye-LLM ukwenza ikhodi.
  9. inkomba.add_document(): Yengeza idokhumenti kunkomba.
  10. retriever.retrieve(): Ilanda amadokhumenti afanele kusetshenziswa i-retriever.

Ukubona

Nakhu ukubuka ngeso kwezingxenye ze-RAG ne-LLM kusetshenziswa i-Chart.js:

{
  "type": "bar",
  "idatha": {
    "labels": ["RAG", "LLM"],
    "idathasethi": [
      {
        "ilebula": "Izingxenye",
        "idatha": [10, 20],
        "backgroundColor": ["#4CAF50", "#FF9800"]
      }
    ]
  },
  "izinketho": {
    "isihloko": {
      "Display": iqiniso,
      "text": "RAG kanye ne-LLM Components"
    },
    "izikali": {
      "yAxes": [
        {
          "Display": iqiniso,
          "beginAtZero": kuyiqiniso
        }
      ]
    }
  }
}

Lokhu kuboniswa kubonisa inani lezingxenye kumamodeli we-RAG kanye ne-LLM.

Isiphetho

Ukuhlanganiswa kwe-RAG nama-LLM kunamandla okuguqula indlela esithuthukisa ngayo isofthiwe. Ngokuhlanganisa amandla ezindlela ezisuselwe ekubuyiseni nezisekelwe esizukulwaneni, i-RAG ingasiza ama-LLM ukuthi enze ikhodi enembe kakhulu nefanele. Lokhu kungaholela ekuthuthukisweni okuphawulekayo ekukhiqizeni konjiniyela, ikhwalithi yekhodi, kanye nokugeleza komsebenzi wokuthuthukiswa kwesofthiwe kukonke. Ngamathuluzi omculo we-orchestration afana ne-LangChain ne-DSPy, abathuthukisi bangahlanganisa kalula i-RAG nama-LLM nezinye izingxenye ze-NLP ukuze bakhe ukugeleza komsebenzi wokuthuthukiswa kwesofthiwe okunamandla.


Have Questions?

Let's Talk

Contact me on LinkedIn