Búðu til RAG | B4N1

Búðu til RAG

7 months ago · b4n1 Tiempo de lectura: 4 min

Nýta hljómsveitarverkfæri fyrir gervigreindarhugbúnaðararkitektúr

Kynning

Aukin eftirspurn eftir gervigreind-knúnum hugbúnaðararkitektúr hefur leitt til þróunar á ýmsum hljómsveitarverkfærum sem gera óaðfinnanlega samþættingu gervigreindar (AI) og vélanáms (ML) getu inn í hugbúnaðarkerfi. Í þessari grein munum við kanna útfærslu á gervigreindardrifnum hugbúnaðararkitektúr með því að nota hljómsveitarverkfæri eins og LangChain og DSPy, með áherslu á að samþætta RAG (Reasoning and Action Graph) og LLM (Large Language Model) getu til að auka sveigjanleika, frammistöðu og öryggi.

Hvað eru hljómsveitarverkfæri?

Skipulagsverkfæri eru hugbúnaðarramma sem gerir sjálfvirkni flókins verkflæðis og ferla kleift með því að samþætta margar þjónustur, forrit og kerfi. Þau bjóða upp á miðlægan vettvang til að stjórna og samræma samskipti milli mismunandi þátta, sem tryggja skilvirka og stigstærða framkvæmd verkefna.

LangChain: Python-undirstaða hljómsveitarverkfæri

LangChain er opinn uppspretta Python bókasafn sem býður upp á alhliða ramma til að byggja upp AI-knúinn hugbúnaðararkitektúr. Það býður upp á úrval af eiginleikum, þar á meðal:

  • RAG (Reasoning and Action Graph) samþætting: LangChain býður upp á innbyggða RAG útfærslu, sem gerir kleift að búa til flókin rökhugsun og aðgerðargraf sem hægt er að nota til að líkana og framkvæma gervigreindardrifið verkflæði.
  • LLM (Large Language Model) samþætting: LangChain styður samþættingu LLM, eins og LLaMA og BERT, fyrir náttúrulega málvinnslu og kynslóðarverkefni.
  • Skalanleiki og árangur: LangChain er hannað til að takast á við stórfellt gervigreind vinnuálag, sem veitir skilvirka og stigstærða framkvæmd verkefna.

Að innleiða gervigreind-drifinn hugbúnaðararkitektúr með LangChain

Til að sýna fram á útfærslu gervigreindardrifinnar hugbúnaðararkitektúrs með því að nota LangChain skulum við íhuga einfalt dæmi um spjallbot sem notar RAG til að rökræða um notendafyrirspurnir og búa til svör.

flytja inn langkeðju
frá langchain.chains import llm


rag = langchain.RAG(
    name="chatbot_rag",
    hnútar=[
        {"name": "greeting", "text": "Halló, hvernig get ég hjálpað þér?"},
        {"name": "bless", "text": "Bless, það var gaman að spjalla við þig."},
    ],
    brúnir=[
        {"from": "kveðja", "to": "bless", "condition": "user_says_goodbye"},
    ],
)

# Búðu til LLM
llm = llm.LLM(
    name="chatbot_llm",
    model="llama",
    max_tokens=100,
)

# Búðu til spjallbotnakeðju
keðja = langkeðja.keðja(
    name="chatbot_chain",
    llm=llm,
    tuska = tuska,
)

# Prófaðu spjallbotninn
user_input = "Halló, hvernig hefurðu það?"
svar = chain.run(user_input)
prenta (svar)

DSPy: Ryðbundið hljómsveitarverkfæri

DSPy er Rust-undirstaða hljómsveitarverkfæri sem veitir afkastamikinn og stigstærðan ramma til að byggja upp gervigreind-knúinn hugbúnaðararkitektúr. Það býður upp á úrval af eiginleikum, þar á meðal:

  • RAG (Röksemda- og aðgerðargraf) samþætting: DSPy býður upp á innbyggða RAG-útfærslu, sem gerir kleift að búa til flókin rökhugsunar- og aðgerðargraf sem hægt er að nota til að líkana og framkvæma gervigreindardrifið verkflæði.
  • LLM (Large Language Model) samþætting: DSPy styður samþættingu LLM, eins og LLaMA og BERT, fyrir náttúrulega málvinnslu og kynslóðarverkefni.
  • Skalanleiki og árangur: DSPy er hannað til að takast á við stórfellt gervigreind vinnuálag, sem veitir skilvirka og stigstærða framkvæmd verkefna.

Að innleiða gervigreind-drifinn hugbúnaðararkitektúr með DSPy

Til að sýna fram á útfærslu gervigreindardrifinnar hugbúnaðararkitektúrs með því að nota DSPy skulum við íhuga einfalt dæmi um spjallbot sem notar RAG til að rökræða um notendafyrirspurnir og búa til svör.

notaðu dspy::keðju;
notaðu dspy::llm;

// Búðu til RAG
láta rag = keðja::RAG::nýtt(
    "chatbot_rag",
    vec![
        chain::Node::new("kveðja", "Halló, hvernig get ég hjálpað þér?"),
        chain::Node::new("bless", "Bless, það var gaman að spjalla við þig."),
    ],
    vec![
        keðja::Edge::new("kveðja", "bless", "notandi_segir_bless"),
    ],
);

// Búðu til LLM
láttu llm = llm::LLM::nýtt(
    "chatbot_llm",
    "llama",
    100,
);

// Búðu til spjallbotnakeðju
láta keðju = keðja::Keðja::ný(
    "chatbot_chain",
    llm,
    tuska,
);

// Prófaðu spjallbotninn
let user_input = "Halló, hvernig hefurðu það?";
láta svar = chain.run(notandi_inntak);
println!("{}", svar);

Top 5-10 mest notuðu skipanir/bútar

Hér eru nokkrar af algengustu skipunum og bútunum fyrir LangChain og DSPy:

  • Langkeðja:
    • langchain.RAG(): Býr til nýtt RAG tilvik.
    • langchain.LLM(): Býr til nýtt LLM tilvik.
    • langchain.Chain(): Býr til nýtt keðjutilvik.
    • rag.run(): Keyrir RAG og býr til svar.
    • llm.run(): Keyrir LLM og býr til svar. *DSPy:
    • dspy::chain::RAG::new(): Býr til nýtt RAG tilvik.
    • dspy::llm::LLM::new(): Býr til nýtt LLM tilvik.
    • dspy::chain::Chain::new(): Býr til nýtt keðjutilvik.
    • chain.run(): Keyrir keðjuna og býr til svar.

Sjónræn

Hér er einföld mynd af RAG og LLM getu með Chart.js:

const ctx = document.getElementById('myChart').getContext('2d');
const graf = ný mynd (ctx, {
    tegund: 'bar',
    gögn: {
        merki: ['RAG', 'LLM'],
        gagnasöfn: [{
            merki: 'Getu',
            gögn: [10, 20],
            bakgrunnslitur: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
            ],
            borderLitur: [
                'rgba(255, 99, 132, 1)',
                'rgba(54, 162, 235, 1)',
            ],
            landamæriBreidd: 1
        }]
    },
    valkostir: {
        vog: {
            y: {
                beginAtZero: satt
            }
        }
    }
});

Niðurstaða

LangChain og DSPy eru öflug hljómsveitarverkfæri sem gera kleift að innleiða gervigreindardrifinn hugbúnaðararkitektúr með því að nota RAG og LLM getu. Með því að nýta þessi verkfæri geta verktaki búið til stigstærð, árangursrík og örugg hugbúnaðarkerfi sem geta séð um flókið gervigreind vinnuálag. Með auðveldri notkun og sveigjanleika eru LangChain og DSPy tilvalin kostur til að byggja upp gervigreind-knúinn hugbúnaðararkitektúr.

Meðmæli

Byggt á umræðunni í þessari grein eru hér nokkrar ráðleggingar fyrir forritara sem vilja innleiða gervigreindardrifinn hugbúnaðararkitektúr með LangChain og DSPy:

  • Byrjaðu á því að læra grunnatriði LangChain og DSPy, þar á meðal RAG og LLM getu þeirra.
  • Gerðu tilraunir með einföld dæmi, eins og spjallbot-dæmið, til að fá tilfinningu fyrir því hvernig verkfærin virka.
  • Farðu smám saman yfir í flóknari verkefni, eins og að byggja upp meðmælakerfi eða náttúruleg málvinnsluleiðsla.
  • Notaðu 5-10 mest notuðu skipanir/búta hlutann sem viðmiðunarleiðbeiningar fyrir algengar skipanir og búta.
  • Sjáðu fyrir þér RAG og LLM getu þína með því að nota Chart.js til að öðlast betri skilning á tengslum mismunandi íhluta.

Með því að fylgja þessum ráðleggingum geta verktaki opnað alla möguleika LangChain og DSPy og smíðað gervigreindarhugbúnaðararkitektúr sem ræður við flókið vinnuálag og veitir framúrskarandi afköst og sveigjanleika.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn