Pangani RAG | B4N1

Pangani RAG

3 months ago · b4n1 Read time: 4 min

** Kugwiritsa Ntchito Zida Zoyimba Pamapangidwe a Mapulogalamu a AI-Powered**

Chiyambi

Kuwonjezeka kwa kuchuluka kwa mapangidwe a mapulogalamu oyendetsedwa ndi AI kwadzetsa kupangidwa kwa zida zosiyanasiyana zoyimba zomwe zimatheketsa kuphatikiza luso la Artificial Intelligence (AI) ndi Machine Learning (ML) m'mapulogalamu apulogalamu. M'nkhaniyi, tiwona kukhazikitsidwa kwa mapangidwe a mapulogalamu oyendetsedwa ndi AI pogwiritsa ntchito zida za orchestration monga LangChain ndi DSPy, ndi cholinga chophatikiza RAG (Kukambitsirana ndi Action Graph) ndi LLM (Large Language Model) kuti apititse patsogolo scalability, ntchito, ndi chitetezo.

Zida za Orchestration ndi chiyani?

Zida za orchestration ndi machitidwe a mapulogalamu omwe amathandizira kuti pakhale zovuta zogwirira ntchito ndi machitidwe pophatikiza mautumiki angapo, mapulogalamu, ndi machitidwe. Amapereka nsanja yapakati yoyang'anira ndikugwirizanitsa kuyanjana pakati pa zigawo zosiyanasiyana, kuwonetsetsa kuti ntchito zikugwira ntchito moyenera komanso mowopsa.

LangChain: Chida Choyimba Chokhazikitsidwa ndi Python

LangChain ndi laibulale ya Python yotseguka yomwe imapereka ndondomeko yokwanira yomangira mapulogalamu a AI-powered software. Imakhala ndi zinthu zingapo, kuphatikiza:

  • ** RAG (Kukambitsirana ndi Ntchito Graph) Integration **: LangChain imapereka kukhazikitsidwa kwa RAG komwe kumapangidwira, kumapangitsa kuti pakhale malingaliro ovuta komanso ma grafu ochitapo kanthu omwe angagwiritsidwe ntchito kuwonetsera ndi kuyendetsa ntchito zoyendetsedwa ndi AI.
  • **LLM (Large Language Model) Integration **: LangChain imathandizira kuphatikizika kwa LLMs, monga LLaMA ndi BERT, pokonza chilankhulo chachilengedwe ndi ntchito za m'badwo.
  • Scalability and Performance: LangChain idapangidwa kuti izigwira ntchito zazikuluzikulu za AI, kupereka magwiridwe antchito bwino komanso owopsa.

Kukhazikitsa Zomangamanga zamapulogalamu a AI ndi LangChain

Kuti tiwonetse kukhazikitsidwa kwa kamangidwe ka mapulogalamu oyendetsedwa ndi AI pogwiritsa ntchito LangChain, tiyeni tiwone chitsanzo chosavuta cha chatbot chomwe chimagwiritsa ntchito RAG kulingalira za mafunso a ogwiritsa ntchito ndikupanga mayankho.

import langchain
kuchokera ku langchain.chains import llm


chiguduli = langchain.RAG(
    dzina = "chatbot_rag",
    mfundo =[
        {"name": "greeting", "text": "Moni, ndingakuthandizeni bwanji?"},
        {"name": "zabwino", "text": "Tsopano, zinali zabwino kucheza nanu."},
    ],
    m'mphepete =[
        {"from": "greeting", "to": "za bwino", "condition": "user_says_goodbye"},
    ],
)

# Pangani LLM
llm = llm.LLM (
    dzina = "chatbot_llm",
    model="llama",
    max_tokens=100,
)

# Pangani chatbot chat
unyolo = langchain.Chain(
    dzina="chatbot_chain",
    llm=llm,
    chiguduli = chiguduli,
)

# Yesani chatbot
user_input = "Moni, muli bwanji?"
yankho = chain.run(user_input)
sindikiza (yankho)

DSPy: Chida Choyimba Chotengera Dzimbiri

DSPy ndi chida cha Rust-based orchestration chomwe chimapereka mawonekedwe apamwamba komanso owopsa pomanga mapangidwe apulogalamu oyendetsedwa ndi AI. Imakhala ndi zinthu zingapo, kuphatikiza:

  • ** RAG (Kukambitsirana ndi Ntchito Graph) Kuphatikiza **: DSPy imapereka kukhazikitsidwa kwa RAG komwe kumapangidwira, kumathandizira kupanga malingaliro ovuta komanso ma grafu ochitapo kanthu omwe angagwiritsidwe ntchito kuwonetsa ndikuchita mayendedwe oyendetsedwa ndi AI.
  • **LLM (Large Language Model) Integration **: DSPy imathandizira kuphatikizika kwa ma LLM, monga LLaMA ndi BERT, pokonza zilankhulo zachilengedwe ndi ntchito za m'badwo.
  • Scalability and Performance: DSPy idapangidwa kuti izigwira ntchito zazikuluzikulu za AI, kupereka magwiridwe antchito bwino komanso owopsa.

Kukhazikitsa Zomangamanga zamapulogalamu a AI ndi DSPy

Kuti tiwonetse kukhazikitsidwa kwa kamangidwe ka mapulogalamu oyendetsedwa ndi AI pogwiritsa ntchito DSPy, tiyeni tilingalire chitsanzo chosavuta cha chatbot chomwe chimagwiritsa ntchito RAG kulingalira za mafunso a ogwiritsa ntchito ndikupanga mayankho.

gwiritsani ntchito dSpy :: unyolo;
gwiritsani ntchito dSpy::llm;

// Pangani RAG
lolani chiguduli = unyolo::RAG::chatsopano(
    "chatbot_rag",
    izi![
        chain::Node::new("moni", "Moni, ndingakuthandizeni bwanji?"),
        chain::Node::new("tatsala pang'ono", "Tsala bwino, zinali zabwino kucheza nanu."),
    ],
    izi![
        unyolo::Edge::zatsopano("moni", "tsazikana", "user_says_goodbye"),
    ],
);

// Pangani LLM
let llm = llm::LLM::new(
    "chatbot_llm",
    "lama",
    100,
);

// Pangani chatbot chat
let chain = unyolo::Chain::chatsopano(
    "chatbot_chain",
    llm,
    chiguduli,
);

// Yesani chatbot
lolani user_input = "Moni, muli bwanji?";
lolani yankho = chain.run (user_input);
println!("{}", yankho);

**Malamulo/Zidutswa Zapamwamba za 5-10 **

Nawa ena mwa malamulo omwe amagwiritsidwa ntchito kwambiri ndi mawu a LangChain ndi DSPy:

  • LangChain:
    • langchain.RAG(): Imapanga mtundu watsopano wa RAG.
    • langchain.LLM(): Imapanga chitsanzo chatsopano cha LLM.
    • langchain.Chain(): Amapanga chitsanzo chatsopano.
    • rag.run(): Imayendetsa RAG ndikupanga yankho.
    • llm.run(): Imayendetsa LLM ndikupanga yankho. *DSPy:
    • dspy::chain::RAG::new(): Imapanga chochitika chatsopano cha RAG.
    • dspy::llm::LLM::new(): Imapanga chochitika chatsopano cha LLM.
    • dspy::chain::Chain::new(): Imapanga chitsanzo chatsopano.
    • chain.run(): Imayendetsa unyolo ndikupanga yankho.

**Kuwona **

Nayi chithunzithunzi chosavuta cha kuthekera kwa RAG ndi LLM pogwiritsa ntchito Chart.js:

const ctx = document.getElementById('myChart').getContext('2d');
const chart = Tchati chatsopano (ctx, {
    mtundu: 'bar',
    zambiri: {
        zolemba: ['RAG', 'LLM'],
        zolemba: [{
            chizindikiro: 'Maluso',
            Zambiri: [10, 20],
            mtundu wakumbuyo: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
            ],
            BorderColor: [
                'rgba(255, 99, 132, 1)',
                'rgba(54, 162, 235, 1)',
            ],
            BorderWidth: 1
        }]
    },
    zosankha: {
        masikelo: {
            y: {
                startAtZero: zoona
            }
        }
    }
});

Mapeto

Pomaliza, LangChain ndi DSPy ndi zida zamphamvu zoyimba zomwe zimathandiza kukhazikitsa mapulogalamu oyendetsedwa ndi AI pogwiritsa ntchito luso la RAG ndi LLM. Pogwiritsa ntchito zida izi, opanga amatha kupanga mapulogalamu owopsa, ochita bwino, komanso otetezeka omwe amatha kuthana ndi zovuta za AI. Pogwiritsa ntchito mosavuta komanso kusinthasintha, LangChain ndi DSPy ndi zosankha zabwino zomangira mapulogalamu opangidwa ndi AI.

Ndemanga

Kutengera ndi zomwe takambirana m'nkhaniyi, nazi malingaliro ena kwa opanga omwe akufuna kukhazikitsa mapulogalamu oyendetsedwa ndi AI pogwiritsa ntchito LangChain ndi DSPy:

  • Yambani pophunzira zoyambira za LangChain ndi DSPy, kuphatikiza luso lawo la RAG ndi LLM.
  • Yesani ndi zitsanzo zosavuta, monga chatbot, kuti mumve momwe zida zimagwirira ntchito.
  • Pang’ono ndi pang’ono pitirizani kuchita zinthu zovuta kwambiri, monga kumanga njira yolangizira kapena njira yopangira zilankhulo zachilengedwe.
  • Gwiritsani ntchito gawo la Malamulo/Zidutswa Zapamwamba za 5-10 monga chiwongolero cha malamulo wamba ndi mawu osavuta.
  • Onani m'maganizo mwanu kuthekera kwanu kwa RAG ndi LLM pogwiritsa ntchito Chart.js kuti mumvetsetse bwino ubale womwe ulipo pakati pa zigawo zosiyanasiyana.

Potsatira malangizowa, omanga angathe kutsegula mphamvu zonse za LangChain ndi DSPy ndi kupanga mapangidwe a mapulogalamu a AI omwe amatha kugwira ntchito zovuta komanso kupereka ntchito yapadera komanso scalability.


Have Questions?

Let's Talk

Contact me on LinkedIn