Kreu ĉifonon | B4N1

Kreu ĉifonon

7 months ago · b4n1 Tiempo de lectura: 4 min

Utiligante Orkestradajn Ilojn por AI-Powered Software Architecture

Enkonduko

La kreskanta postulo je AI-funkciigita softvararkitekturo kaŭzis la evoluon de diversaj instrumentaj iloj kiuj ebligas senjuntan integriĝon de Artefarita Inteligenteco (AI) kaj Maŝinlernado (ML) kapabloj en softvarsistemojn. En ĉi tiu artikolo, ni esploros la efektivigon de AI-movita programaro-arkitekturo uzante instrumentajn ilojn kiel LangChain kaj DSPy, kun fokuso pri integrigado de kapabloj RAG (Reasoning and Action Graph) kaj LLM (Large Language Model) por plibonigita skaleblo, rendimento kaj sekureco.

Kio estas Orkestraj Iloj?

Instrumentaj iloj estas programaraj kadroj, kiuj ebligas aŭtomatigon de kompleksaj laborfluoj kaj procezoj per integrado de multoblaj servoj, aplikoj kaj sistemoj. Ili provizas centralizitan platformon por administri kaj kunordigi la interagojn inter malsamaj komponentoj, certigante efikan kaj skaleblan plenumon de taskoj.

LangChain: Python-Bazita Orkestra Ilo

LangChain estas malfermfonta Python-biblioteko kiu disponigas ampleksan kadron por konstrui AI-funkciigitan programaran arkitekturon. Ĝi ofertas gamon da funkcioj, inkluzive de:

  • RAG (Rezonado kaj Agado-Grafiko) Integriĝo: LangChain disponigas enkonstruitan RAG-efektivigon, ebligante la kreadon de kompleksaj rezonadoj kaj agaj grafikaĵoj, kiuj povas esti uzataj por modeligi kaj efektivigi AI-movitajn laborfluojn.
  • LLM (Granda Lingva Modelo) Integriĝo: LangChain subtenas la integriĝon de LLMoj, kiel LLaMA kaj BERT, por naturlingva prilaborado kaj generaciaj taskoj.
  • Skalebleco kaj Efikeco: LangChain estas desegnita por trakti grandskalajn AI-laborŝarĝojn, provizante efikan kaj skaleblan plenumon de taskoj.

Efektivigo de AI-Instruita Programaro-Arkitekturo kun LangChain

Por pruvi la efektivigon de AI-movita programara arkitekturo uzante LangChain, ni konsideru simplan ekzemplon de babilejo, kiu uzas RAG por rezoni pri uzantdemandoj kaj generi respondojn.

import langchain
el langchain.chains import llm


ĉifono = langĉeno.RAG (
    nomo = "chatbot_rag",
    nodoj=[
        {"name": "saluton", "text": "Saluton, kiel mi povas helpi vin?"},
        {"name": "adiaŭ", "text": "Adiaŭ, estis agrable babili kun vi."},
    ],
    randoj=[
        {"de": "saluton", "al": "adiaŭ", "condition": "uzanto_diris_adiaŭ"},
    ],
)

# Kreu LLM
llm = llm.LLM(
    nomo="chatbot_llm",
    modelo = "lama",
    max_tokens=100,
)

# Kreu babilbotĉenon
ĉeno = langĉeno.Ĉeno (
    nomo = "chatbot_chain",
    llm=llm,
    ĉifono=ĉifono,
)

# Provu la babilejon
user_input = "Saluton, kiel vi fartas?"
respondo = ĉeno.run (uzanto_enigo)
presi (respondo)

DSPy: Rust-Bazita Orkestra Ilo

DSPy estas Rust-bazita instrumenta ilo kiu provizas alt-efikan kaj skaleblan kadron por konstrui AI-funkciigitan programaran arkitekturon. Ĝi ofertas gamon da funkcioj, inkluzive de:

  • RAG (Rezonado kaj Agado-Grafiko) Integriĝo: DSPy disponigas enkonstruitan RAG-efektivigon, ebligante la kreadon de kompleksaj rezonado- kaj agadgrafoj kiuj povas esti uzataj por modeligi kaj efektivigi AI-movitajn laborfluojn.
  • Integriĝo de LLM (Granda Lingva Modelo): DSPy subtenas la integriĝon de LLMoj, kiel LLaMA kaj BERT, por naturlingva prilaborado kaj generaciaj taskoj.
  • Skalebleco kaj Efikeco: DSPy estas dizajnita por trakti grandskalajn AI-laborkvantojn, provizante efikan kaj skaleblan plenumon de taskoj.

Efektivigo de AI-Instruita Programaro-Arkitekturo kun DSPy

Por pruvi la efektivigon de AI-movita programara arkitekturo uzante DSPy, ni konsideru simplan ekzemplon de babilejo, kiu uzas RAG por rezoni pri uzantdemandoj kaj generi respondojn.

uzi dspy::ĉeno;
uzi dspy::llm;

// Kreu ĉifonon
lasu ĉifonon = ĉeno::ĈIFONO::nova (
    "chatbot_rag",
    vec![
        chain::Node::new("saluton", "Saluton, kiel mi povas helpi vin?"),
        chain::Node::new ("adiaŭ", "Adiaŭ, estis agrable babili kun vi.")
    ],
    vec![
        ĉeno::Edge::new ("saluton", "adiaŭ", "uzanto_diris_adiaŭ"),
    ],
);

// Kreu LLM
lasu llm = llm::LLM::nova(
    "chatbot_llm",
    "lamamo",
    100,
);

// Kreu babilbotĉenon
lasu ĉenon = ĉeno::Ĉeno::nova (
    "chatbot_ĉeno",
    llm,
    ĉifono,
);

// Testu la babilejon
let user_input = "Saluton, kiel vi fartas?";
lasu respondon = ĉeno.run (uzanto_enigo);
println!("{}", respondo);

Supro 5-10 Plej Uzitaj Komandoj/Fragmentoj

Jen kelkaj el la plej ofte uzataj komandoj kaj fragmentoj por LangChain kaj DSPy:

  • LangChain:
    • langchain.RAG(): Kreas novan RAG-okazaĵon.
    • langchain.LLM(): Kreas novan LLM-okazaĵon.
    • langchain.Chain(): Kreas novan ĉenkazaĵon.
    • rag.run(): Rulas la RAG kaj generas respondon.
    • llm.run(): Rulas la LLM kaj generas respondon.
  • DSPy:
    • dspy::chain::RAG::new(): Kreas novan RAG-okazaĵon.
    • dspy::llm::LLM::new(): Kreas novan LLM-okazaĵon.
    • dspy::chain::Chain::new(): Kreas novan ĉenkazaĵon.
    • chain.run(): Rulas la ĉenon kaj generas respondon.

Vidigo

Jen simpla bildigo de la kapabloj de RAG kaj LLM uzante Chart.js:

const ctx = document.getElementById('myChart').getContext('2d');
const diagramo = nova Diagramo (ctx, {
    tajpu: 'trinkejo',
    datumoj: {
        etikedoj: ['ĈIFONO', 'LLM'],
        datumaroj: [{
            etikedo: 'Kapabloj',
            datumoj: [10, 20],
            fonkoloro: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
            ],
            borderColor: [
                'rgba(255, 99, 132, 1)',
                'rgba(54, 162, 235, 1)',
            ],
            BordoLarĝo: 1
        }]
    },
    opcioj: {
        skaloj: {
            y: {
                beginAtZero: vera
            }
        }
    }
});

Konkludo

LangChain kaj DSPy estas potencaj instrumentaj iloj, kiuj ebligas la efektivigon de AI-movita programara arkitekturo uzante RAG kaj LLM-kapablojn. Utiligante ĉi tiujn ilojn, programistoj povas krei skaleblajn, efikajn kaj sekurajn programajn sistemojn, kiuj povas trakti kompleksajn AI-laborŝarĝojn. Kun ilia facileco de uzado kaj fleksebleco, LangChain kaj DSPy estas idealaj elektoj por konstrui programaran arkitekturon funkciigitan de AI.

Rekomendoj

Surbaze de la diskuto en ĉi tiu artikolo, jen kelkaj rekomendoj por programistoj, kiuj volas efektivigi programaran arkitekturon de AI per LangChain kaj DSPy:

  • Komencu lernante la bazaĵojn de LangChain kaj DSPy, inkluzive de iliaj RAG kaj LLM-kapabloj.
  • Eksperimentu kun simplaj ekzemploj, kiel ekzemple babilbot-ekzemplo, por kompreni kiel funkcias la iloj.
  • Iom post iom transiru al pli kompleksaj projektoj, kiel konstrui rekomendan sistemon aŭ naturlingvan pritraktadon.
  • Uzu la Supraj 5-10 Plej Uzitaj Komandoj/Fragmentoj sekcio kiel referencgvidilo por oftaj komandoj kaj fragmentoj.
  • Vidigu viajn RAG kaj LLM-kapablojn uzante Chart.js por akiri pli bonan komprenon pri la rilatoj inter malsamaj komponantoj.

Sekvante ĉi tiujn rekomendojn, programistoj povas malŝlosi la plenan potencialon de LangChain kaj DSPy kaj konstrui programaran arkitekturon funkciigitan de AI, kiu povas trakti kompleksajn laborŝarĝojn kaj provizi esceptan rendimenton kaj skaleblon.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn