Dala i-RAG | B4N1

Dala i-RAG

7 months ago · b4n1 Read time: 3 min

Ukusebenzisa Amathuluzi E-Orchestration E-AI-Powered Software Architecture

Isingeniso

Isidingo esikhulayo sokwakhiwa kwesofthiwe enikwe amandla yi-AI siholele ekuthuthukisweni kwamathuluzi ahlukahlukene omculo avumela ukuhlanganiswa okungenamthungo kwamakhono obuhlakani be-Artificial Intelligence (AI) kanye Nokufunda Ngomshini (ML) ezinhlelweni zesofthiwe. Kulesi sihloko, sizohlola ukuqaliswa kwesakhiwo sesofthiwe esiqhutshwa yi-AI sisebenzisa amathuluzi omculo we-orchestration afana ne-LangChain ne-DSPy, ngokugxila ekuhlanganiseni amakhono e-RAG (Reasoning and Action Graph) kanye ne-LLM (Large Language Model) ukuze kuthuthukiswe ukukala, ukusebenza, nokuphepha.

Ayini Amathuluzi E-Orchestration?

Amathuluzi e-Orchestration izinhlaka zesofthiwe ezivumela ukuzenzekelayo kokugeleza komsebenzi nezinqubo ngokuhlanganisa izinsiza eziningi, izinhlelo zokusebenza, nezinhlelo. Bahlinzeka ngenkundla ephakathi nendawo yokuphatha kanye nokuxhumanisa ukusebenzisana phakathi kwezingxenye ezihlukene, ukuqinisekisa ukwenziwa kwemisebenzi okuphumelelayo nokunokwehla.

I-LangChain: Ithuluzi Lomculo Elisuselwa kuPython

I-LangChain iyilabhulali ye-Python enomthombo ovulekile ehlinzeka ngohlaka olubanzi lokwakha i-AI-powered software architecture. Inikeza uhla lwezici, okuhlanganisa:

  • I-RAG (Igrafu Yokubonisana Nesenzo) Ukuhlanganiswa: I-LangChain inikeza ukuqaliswa kwe-RAG eyakhelwe ngaphakathi, okuvumela ukudalwa kokucabanga okuyinkimbinkimbi namagrafu esenzo angasetshenziswa ukwenza imodeli nokwenza ukuhamba komsebenzi okushayelwa yi-AI.
  • LLM (Imodeli Yolimi Olukhulu) Ukuhlanganiswa: I-LangChain isekela ukuhlanganiswa kwama-LLM, njenge-LLaMA kanye ne-BERT, ukuze kucutshungulwe ulimi lwemvelo nemisebenzi yokukhiqiza.
  • Ukukala Nokusebenza: I-LangChain yakhelwe ukuphatha imithwalo yemisebenzi emikhulu ye-AI, inikeze ukwenziwa kwemisebenzi okuphumelelayo nokunokwehla.

Ukusebenzisa i-AI-Driven Software Architecture nge-LangChain

Ukubonisa ukuqaliswa kokwakhiwa kwesofthiwe eshayelwa yi-AI kusetshenziswa i-LangChain, ake sicabangele isibonelo esilula se-chatbot esebenzisa i-RAG ukuze sicabange ngemibuzo yomsebenzisi futhi sikhiqize izimpendulo.

ngenisa i-langchain
kusuka ku-langchain.chains ukungenisa llm


iragi = langchain.RAG(
    igama="chatbot_rag",
    izindawo=[
        {"name": "greeting", "text": "Sawubona, ngingakusiza ngani?"},
        {"name": "sala kahle", "text": "Usale kahle, bekumnandi ukuxoxa nawe."},
    ],
    imiphetho=[
        {"from": "greeting", "to": "sala kahle", "condition": "user_says_goodbye"},
    ],
)

# Dala i-LLM
llm = llm.LLM(
    igama="chatbot_llm",
    imodeli="llama",
    max_tokens=100,
)

# Dala uchungechunge lwe-chatbot
iketango = langchain.Chain(
    igama="chatbot_chain",
    llm=llm,
    udweshu=indwangu,
)

# Hlola i-chatbot
user_input = "Sawubona, unjani?"
impendulo = chain.run(ukufaka_komsebenzisi)
phrinta (impendulo)

I-DSPy: Ithuluzi Le-Orchestration Elisekelwe Ukugqwala

I-DSPy iyithuluzi le-orchestration elisekelwe ku-Rust elihlinzeka ngohlaka olusebenza kahle kakhulu nolukalekayo lokwakha i-AI-powered software architecture. Inikeza uhla lwezici, okuhlanganisa:

  • I-RAG (Igrafu Yokubonisana Nesenzo) Ukuhlanganiswa: I-DSPy inikeza ukusetshenziswa kwe-RAG eyakhelwe ngaphakathi, okuvumela ukudalwa kokucabanga okuyinkimbinkimbi namagrafu esenzo angasetshenziswa ukwenza imodeli nokwenza ukuhamba komsebenzi okushayelwa yi-AI.
  • LLM (Imodeli Yolimi Olukhulu) Ukudidiyelwa: I-DSPy isekela ukuhlanganiswa kwama-LLM, njenge-LLaMA kanye ne-BERT, ukuze kucutshungulwe ulimi lwemvelo nemisebenzi yokukhiqiza.
  • Ukukala Nokusebenza: I-DSPy yakhelwe ukuphatha imithwalo yemisebenzi emikhulu ye-AI, inikeze ukwenziwa kwemisebenzi okuphumelelayo nokunyukayo.

Ukusebenzisa i-AI-Driven Software Architecture nge-DSPy

Ukubonisa ukuqaliswa kokwakhiwa kwesofthiwe eshayelwa yi-AI kusetshenziswa i-DSPy, ake sicabangele isibonelo esilula se-chatbot esebenzisa i-RAG ukuze sicabange ngemibuzo yomsebenzisi futhi sikhiqize izimpendulo.

sebenzisa i-dspy ::chain;
sebenzisa i-dspy::llm;

// Dala i-RAG
let rag = chain::RAG::new(
    "chatbot_rag",
    vec![
        chain::Node::new("sawubona", "Sawubona, ngingakusiza ngani?"),
        chain::Node::new("usale kahle", "Usale kahle, bekumnandi ukuxoxa nawe."),
    ],
    vec![
        chain::Edge::new("isibingelelo", "sala kahle", "umsebenzisi_uthi_valelisa"),
    ],
);

// Dala i-LLM
let llm = llm::LLM::new(
    "chatbot_llm",
    "Lama",
    100,
);

// Dala iketango le-chatbot
let chain = chain::Chain::new(
    "chatbot_chain",
    llm,
    indwangu,
);

// Hlola i-chatbot
let user_input = "Sawubona, unjani?";
vumela impendulo = chain.run(user_input);
println!("{}", impendulo);

Imiyalo/Amazwibela Aphezulu Okuyi-5-10

Nansi eminye yemiyalo evame ukusetshenziswa kakhulu namazwibela we-LangChain ne-DSPy:

  • LangChain:
    • langchain.RAG(): Idala isenzakalo se-RAG esisha.
    • langchain.LLM(): Idala isenzakalo se-LLM esisha.
    • langchain.Chain(): Idala isiqephu esisha sochungechunge.
    • rag.run(): Isebenzisa i-RAG futhi ikhiqize impendulo.
    • llm.run(): Isebenzisa i-LLM futhi ikhiqize impendulo.
  • I-DSPy:
    • dspy::chain::RAG::new(): Idala isenzakalo se-RAG esisha.
    • dspy::llm::LLM::new(): Idala isenzakalo se-LLM esisha.
    • dspy::chain::Chain::new(): Idala isiqephu esisha sochungechunge.
    • chain.run(): Isebenzisa iketango futhi ikhiqize impendulo.

Ukubona

Nakhu ukubuka ngeso okulula kwamakhono we-RAG kanye ne-LLM usebenzisa i-Chart.js:

const ctx = document.getElementById('myChart').getContext('2d');
const chart = Ishadi elisha(ctx, {
    uhlobo: 'ibha',
    idatha: {
        amalebula: ['RAG', 'LLM'],
        idathasethi: [{
            ilebula: 'Amakhono',
            idatha: [10, 20],
            Umbala wangemuva: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
            ],
            Umbala womngcele: [
                'rgba(255, 99, 132, 1)',
                'rgba(54, 162, 235, 1)',
            ],
            Ububanzi bomngcele: 1
        }]
    },
    izinketho: {
        isikali: {
            y: {
                startAtZero: kuyiqiniso
            }
        }
    }
});

Isiphetho

I-LangChain ne-DSPy angamathuluzi e-orchestration anamandla anika amandla ukuqaliswa kokwakhiwa kwesofthiwe eqhutshwa yi-AI kusetshenziswa amakhono e-RAG ne-LLM. Ngokusebenzisa lawa mathuluzi, abathuthukisi bangakha amasistimu esoftware angakala, asebenzayo, futhi avikelekile akwazi ukusingatha imithwalo enzima ye-AI. Ngokusebenziseka kalula nokuvumelana nezimo, i-LangChain ne-DSPy yizinqumo ezikahle zokwakha izakhiwo zesoftware esebenza ngamandla e-AI.

Izincomo

Ngokusekelwe engxoxweni ekulesi sihloko, nazi ezinye izincomo zonjiniyela abafuna ukusebenzisa ukwakhiwa kwesoftware eqhutshwa yi-AI besebenzisa i-LangChain ne-DSPy:

  • Qala ngokufunda izisekelo ze-LangChain ne-DSPy, okuhlanganisa namakhono abo e-RAG nawe-LLM.
  • Linga ngezibonelo ezilula, njengesibonelo se-chatbot, ukuze uthole ukuzwa ukuthi amathuluzi asebenza kanjani.
  • Kancane kancane qhubekela kumaphrojekthi ayinkimbinkimbi, njengokwakha uhlelo lokuncoma noma ipayipi lokucubungula ulimi lwemvelo.
  • Sebenzisa isigaba seMiyalo/Amazwibela Asetshenziswa Kakhulu Emi-5-10 njengenkomba yemiyalo evamile namazwibela.
  • Bona ngeso lengqondo amakhono akho e-RAG nawe-LLM usebenzisa i-Chart.js ukuze uthole ukuqonda kangcono ubudlelwano phakathi kwezingxenye ezahlukahlukene.

Ngokulandela lezi zincomo, abathuthukisi bangakwazi ukuvula amandla aphelele e-LangChain ne-DSPy futhi bakhe izakhiwo zesofthiwe enikwe amandla yi-AI engakwazi ukusingatha imithwalo yemisebenzi eyinkimbinkimbi futhi inikeze ukusebenza okungavamile kanye nokulinganisa.


Have Questions?

Let's Talk

Contact me on LinkedIn