Ukudibanisa iRAG kunye neeLLM zeDynamic Software Architecture: IsiKhokelo esiSebenzayo | B4N1

Ukudibanisa iRAG kunye neeLLM zeDynamic Software Architecture: IsiKhokelo esiSebenzayo

8 months ago · b4n1 Tiempo de lectura: 3 min

Ukuhlanganisa iRAG kunye neeLLMs zeDynamic Software Architecture: Isikhokelo esiSebenzayo

Intshayelelo

Kwiminyaka yakutshanje, icandelo loyilo lwesoftware luye lwenziwa utshintsho olubalulekileyo ngokufika kweeModeli zoLwimi olukhulu (LLMs) kunye nobuchule bokubuyiswa kwe-Retrieval-Augmented Generation (RAG). Intsebenziswano phakathi kwezi teknoloji zimbini inamandla okuguqula indlela esiyila ngayo kunye nokuphuhlisa iinkqubo zesoftware. Kule nqaku, siza kuhlolisisa ukuhlanganiswa kwe-RAG kunye ne-LLM ye-architecture ye-software eguquguqukayo, kubandakanywa izicwangciso zokuphunyezwa usebenzisa izixhobo ze-orchestration ezifana neLangChain kunye ne-DSPy.

Yintoni iRAG?

I-RAG bubuchule obudibanisa amandla eemodeli ezisekelwe kwi-Retrieval kunye ne-Generation-based ukuvelisa iziphumo zetekisi ezikumgangatho ophezulu. Ingcamango esisiseko emva kwe-RAG kukusebenzisa imodeli yokubuyisela ukukhetha amaxwebhu afanelekileyo okanye iindinyana ezivela kwi-corpus enkulu, kwaye emva koko usebenzise imodeli yesizukulwana ukuvelisa itekisi esekelwe kula mavesi afunyenweyo. Le ndlela ibonise ukuphuculwa okuphawulekayo kwimisebenzi efana nokuphendula imibuzo, isishwankathelo sombhalo, kunye ne-AI yokuxoxa.

Yintoni iLLM?

Ii-LLM luhlobo lwemodeli yobukrelekrele eyenziweyo eqeqeshelwe ubuninzi bedatha yokubhaliweyo ukuvelisa iziphumo zolwimi ezifana nomntu. Le mizekelo ngokuqhelekileyo isekelwe kwi-architectures ye-transformer kwaye iphumelele kwiziphumo ze-state-of-the-art kuluhlu olubanzi lwemisebenzi yokucubungula ulwimi lwendalo. Ii-LLM zinezinto ezininzi ezininzi kwaye zinokusetyenziselwa imisebenzi efana nokuguqulela ulwimi, ukushwankathela okubhaliweyo, kunye nencoko ye-AI.

Kutheni uHlanganisa iRAG neeLLMs?

Ukudityaniswa kwe-RAG kunye ne-LLMs ibonelela ngeenzuzo ezininzi zoyilo lwesoftware eguqukayo:

  1. Ukuchaneka okuPhuculweyo: I-RAG inokunceda ii-LLMs ukuba zikhethe amaxwebhu afanelekileyo okanye iindinyana ezivela kwikophu enkulu, ekhokelela kwiziphumo zesicatshulwa ezichanekileyo nezinolwazi.
  2. UFanelo oloNgeziweyo: I-RAG inokunciphisa i-computational overhead ye-LLMs ngokukhetha kuphela awona maxwebhu okanye iindinyana ezifanelekileyo, okukhokelela kumaxesha okuphendula ngokukhawuleza.
  3. I-Enhanced Flexibility: I-RAG inokusetyenziselwa ukutshintsha izinto ezikhethwa ngumsebenzisi neemfuno, ivumela ii-LLMs ukuba zivelise iziphumo zombhalo ezifanelekileyo ngakumbi nezinika umdla.

IiNdlela zokuPhumeza

Kukho izicwangciso-qhinga zomiliselo zokudibanisa iRAG neeLLM, kuquka:

  1. ** LangChain **: I-LangChain yilayibrari evulekileyo enika i-API elula kunye ne-intuitive yokwakha imodeli esekelwe kwi-RAG. Ixhasa uluhlu olubanzi lwee-LLM kwaye ingasetyenziselwa ukuphumeza izakhiwo zeRAG ezinzima.
  2. I-DSPy: I-DSPy lithala leencwadi lePython elibonelela ngendlela elula nesebenzayo yokuphumeza imifuziselo esekwe kwiRAG. Ixhasa uluhlu olubanzi lwee-LLM kwaye ingasetyenziselwa ukuphumeza izakhiwo zeRAG ezinzima.

Umzekelo weKhowudi

Nanku umzekelo wekhowudi olula obonisa indlela yokusebenzisa iLangChain ukudibanisa iRAG neeLLM:

ngenisa i-langchain
ukusuka langchain.chains ukungenisa iRAGChain
ukusuka langchain.llms ukungenisa LLaMA


llama = LLaMA ()

# Yenza imodeli yeRAGChain
rag_chain = RAGChain(llama, retrieval_model = "t5-encinci")

# Chaza umyalezo
ngokukhawuleza = "Yintoni i-capital yaseFransi?"

# Yenza imveliso yombhalo
imveliso = rag_chain.run (ukukhawuleza)

shicilela(imveliso)

Lo mzekelo wekhowudi ubonisa indlela yokusebenzisa iLangChain ukudala imodeli ye-RAGChain edibanisa imodeli ye-LLaMA kunye nemodeli yokubuyisela. Imodeli ye-RAGChain isetyenziselwa ukuvelisa imveliso yombhalo ngokusekelwe kwi-prompt.

Ephezulu 5-10 Eyeyona Isetyenziswayo Imiyalelo/iziqwengana

Nantsi eyona miyalelo/iziqwengana eziphezulu ezi-5-10 zokudibanisa iRAG neeLLM:

  1. langchain.RAGChain(llama, retrieval_model="t5-small"): Yenza imodeli yeRAGChain edibanisa imodeli yeLLaMA kunye nemodeli yokubuyisela.
  2. llama.run(ukukhawuleza): Yenza imveliso yokubhaliweyo ngokusekwe kwisilumkiso kusetyenziswa imodeli yeLLaMA.
  3. rag_chain.run(i-prompt): Ivelisa imveliso yeteksti esekelwe kwi-prompt usebenzisa imodeli ye-RAGChain.
  4. langchain.chains.RAGChain(llama, retrieval_model="t5-small", max_length=1024): Yenza imodeli yeRAGChain edibanisa imodeli ye-LLaMA kunye nemodeli yokubuyisela kwaye isete ubude bobude besicatshulwa esiphumayo.
  5. llama.get_input(prompt): Ibuyisela umbhalo ofakiweyo wemodeli yeLLaMA.
  6. rag_chain.get_output(prompt): Ibuyisela umbhalo wemveliso wemodeli yeRAGChain.
  7. langchain.chains.RAGChain(llama, retrieval_model="t5-small", batch_size=32): Yenza imodeli yeRAGChain edibanisa imodeli ye-LLaMA kunye nemodeli yokubuyisela kwaye isete ubungakanani bebhetshi.
  8. llama.get_output(prompt): Ibuyisela umbhalo wemveliso wemodeli yeLLaMA.
  9. rag_chain.get_input(prompt): Ibuyisela umbhalo wegalelo wemodeli yeRAGChain.
  10. langchain.chains.RAGChain(llama, retrieval_model="t5-small", device="cuda"): Yenza imodeli yeRAGChain edibanisa imodeli yeLLaMA kunye nemodeli yokubuyisela kwaye isete isixhobo kwiCUDA.

Umbono

Nantsi imbonakalo elula yemodeli yeRAGChain usebenzisa iChart.js:

{
  "type": "bar",
  "idatha": {
    "labels": ["LLaMA", "RAGChain"],
    "iiseti zedatha": [
      {
        "label": "Ukuchaneka",
        "idatha": [0.8, 0.9],
        "backgroundColor": ["#FF6384", "#36A2EB"]
      }
    ]
  },
  "iinketho": {
    "isihloko": {
      "bonisa": yinyani,
      "text": "RAGChain Model Ukuchaneka"
    },
    "izikali": {
      "yAxes": [
        {
          "amanqaku": {
            "beginAtZero": yinyani
          }
        }
      ]
    }
  }
}

Lo mboniso ubonisa ukuchaneka kwemodeli ye-LLaMA kunye nemodeli ye-RAGChain.

Isiphelo

ukudityaniswa kwe-RAG nee-LLMs kubonelela ngeenzuzo ezininzi zoyilo lwesoftware eguqukayo, kubandakanywa ukuchaneka okuphuculweyo, ukusebenza kakuhle, kunye nokuguquguquka okwandisiweyo. I-LangChain kunye ne-DSPy zizixhobo ezibini ze-orchestration ezidumileyo ezingasetyenziselwa ukuphumeza iimodeli ezisekelwe kwi-RAG. Ngokulandela izicwangciso zokuphunyezwa kunye nemizekelo yekhowudi enikwe kweli nqaku, abaphuhlisi banokudala izakhiwo eziyinkimbinkimbi zeRAG ezidibanisa ii-LLM kunye neemodeli zokubuyisela. Ezona ziphezulu 5-10 zisetyenziswa kakhulu imiyalelo/iziqwengana zokudibanisa iRAG neeLLM nazo zibonelelwe ngereferensi.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn