Vytvorte RAG | B4N1

Vytvorte RAG

3 months ago · b4n1 Read time: 4 min

Využitie nástrojov na organizáciu pre softvérovú architektúru poháňanú AI

Úvod

Zvyšujúci sa dopyt po softvérovej architektúre poháňanej AI viedol k vývoju rôznych nástrojov na orchestráciu, ktoré umožňujú bezproblémovú integráciu funkcií umelej inteligencie (AI) a strojového učenia (ML) do softvérových systémov. V tomto článku preskúmame implementáciu softvérovej architektúry riadenej AI pomocou nástrojov na orchestráciu, ako sú LangChain a DSPy, so zameraním na integráciu funkcií RAG (Reasoning and Action Graph) a LLM (Large Language Model) pre lepšiu škálovateľnosť, výkon a bezpečnosť.

Čo sú nástroje orchestrácie?

Orchestračné nástroje sú softvérové rámce, ktoré umožňujú automatizáciu zložitých pracovných tokov a procesov integráciou viacerých služieb, aplikácií a systémov. Poskytujú centralizovanú platformu na riadenie a koordináciu interakcií medzi rôznymi komponentmi, čím zabezpečujú efektívne a škálovateľné vykonávanie úloh.

LangChain: Orchestračný nástroj založený na Pythone

LangChain je open-source Python knižnica, ktorá poskytuje komplexný rámec pre budovanie softvérovej architektúry poháňanej AI. Ponúka celý rad funkcií vrátane:

  • Integrácia RAG (Reasoning and Action Graph): LangChain poskytuje vstavanú implementáciu RAG, ktorá umožňuje vytvárať komplexné grafy uvažovania a akcií, ktoré možno použiť na modelovanie a vykonávanie pracovných tokov riadených AI.
  • Integrácia LLM (Large Language Model): LangChain podporuje integráciu LLM, ako sú LLaMA a BERT, pre úlohy spracovania a generovania prirodzeného jazyka.
  • Škálovateľnosť a výkon: LangChain je navrhnutý tak, aby zvládal rozsiahle pracovné zaťaženie AI, pričom poskytuje efektívne a škálovateľné vykonávanie úloh.

Implementácia softvérovej architektúry riadenej AI pomocou LangChain

Aby sme demonštrovali implementáciu softvérovej architektúry riadenej AI pomocou LangChain, uvažujme o jednoduchom príklade chatbota, ktorý používa RAG na uvažovanie o používateľských dopytoch a generovanie odpovedí.

importovať langchain
z langchain.chains import llm


handra = langchain.RAG(
    name="chatbot_rag",
    uzly=[
        {"name": "pozdrav", "text": "Dobrý deň, ako vám môžem pomôcť?"},
        {"name": "goodbye", "text": "Dovidenia, bolo príjemné s vami četovať."},
    ],
    hrany=[
        {"from": "pozdrav", "to": "dovidenia", "condition": "user_says_goodbye"},
    ],
)

# Vytvorte LLM
llm = llm.LLM(
    name="chatbot_llm",
    model="lama",
    max_tokens=100,
)

# Vytvorte reťazec chatbotov
reťazec = langchain.Chain(
    name="chatbot_chain",
    llm=llm,
    handra = handra,
)

# Otestujte chatbota
user_input = "Ahoj, ako sa máš?"
odozva = chain.run(user_input)
vytlačiť (odpoveď)

DSPy: Orchestration Tool na báze hrdze

DSPy je nástroj na orchestráciu založený na Ruste, ktorý poskytuje vysokovýkonný a škálovateľný rámec na budovanie softvérovej architektúry poháňanej AI. Ponúka celý rad funkcií vrátane:

  • Integrácia RAG (Reasoning and Action Graph): DSPy poskytuje vstavanú implementáciu RAG, ktorá umožňuje vytvárať komplexné grafy uvažovania a akcií, ktoré možno použiť na modelovanie a vykonávanie pracovných tokov riadených AI.
  • Integrácia LLM (Large Language Model): DSPy podporuje integráciu LLM, ako sú LLaMA a BERT, pre úlohy spracovania a generovania prirodzeného jazyka.
  • Škálovateľnosť a výkon: DSPy je navrhnutý tak, aby zvládal rozsiahle pracovné zaťaženie AI a poskytoval efektívne a škálovateľné vykonávanie úloh.

Implementácia softvérovej architektúry riadenej AI pomocou DSPy

Aby sme demonštrovali implementáciu softvérovej architektúry riadenej AI pomocou DSPy, uvažujme o jednoduchom príklade chatbota, ktorý používa RAG na uvažovanie o používateľských dopytoch a generovanie odpovedí.

použite dspy::chain;
použite dspy::llm;

// Vytvorte RAG
nech handra = reťaz::HARA::nová(
    "chatbot_rag",
    vec![
        chain::Node::new("pozdrav", "Dobrý deň, ako vám môžem pomôcť?"),
        chain::Node::new("zbohom", "Dovidenia, bolo príjemné s tebou chatovať."),
    ],
    vec![
        chain::Edge::new("pozdrav", "zbohom", "user_says_goodbye"),
    ],
);

// Vytvorte LLM
nech llm = llm::LLM::new(
    "chatbot_llm",
    "lama",
    100,
);

// Vytvorte reťazec chatbotov
nech reťaz = reťaz::Reťaz::nový(
    "chatbot_chain",
    llm,
    handra,
);

// Otestujte chatbota
let user_input = "Ahoj, ako sa máš?";
nech odpoveď = chain.run(user_input);
println!("{}", odpoveď);

Najlepších 5 až 10 najpoužívanejších príkazov/úryvkov

Tu sú niektoré z najčastejšie používaných príkazov a úryvkov pre LangChain a DSPy:

  • LangChain:
    • langchain.RAG(): Vytvorí novú inštanciu RAG.
    • langchain.LLM(): Vytvorí novú inštanciu LLM.
    • langchain.Chain(): Vytvorí novú inštanciu reťazca.
    • rag.run(): Spustí RAG a vygeneruje odpoveď.
    • llm.run(): Spustí LLM a vygeneruje odpoveď.
  • DSPy:
    • dspy::chain::RAG::new(): Vytvorí novú inštanciu RAG.
    • dspy::llm::LLM::new(): Vytvorí novú inštanciu LLM.
    • dspy::chain::Chain::new(): Vytvorí novú inštanciu reťazca.
    • chain.run(): Spustí reťazec a vygeneruje odpoveď.

Vizualizácia

Tu je jednoduchá vizualizácia možností RAG a LLM pomocou Chart.js:

const ctx = document.getElementById('myChart').getContext('2d');
const chart = new Chart(ctx, {
    typ: 'bar',
    údaje: {
        štítky: ['RAG', 'LLM'],
        množiny údajov: [{
            štítok: 'Schopnosti',
            údaje: [10, 20],
            farba pozadia: [
                'rgba(255, 99, 132, 0,2)“,
                'rgba(54, 162, 235, 0,2)“,
            ],
            Farba okraja: [
                „rgba(255, 99, 132, 1)“,
                „rgba(54, 162, 235, 1)“,
            ],
            Šírka okraja: 1
        }]
    },
    možnosti: {
        váhy: {
            y: {
                beginAtZero: pravda
            }
        }
    }
});

Záver

Na záver, LangChain a DSPy sú výkonné nástroje na orchestráciu, ktoré umožňujú implementáciu softvérovej architektúry riadenej AI pomocou funkcií RAG a LLM. Využitím týchto nástrojov môžu vývojári vytvárať škálovateľné, výkonné a bezpečné softvérové ​​systémy, ktoré dokážu zvládnuť zložité pracovné zaťaženie AI. Vďaka jednoduchému použitiu a flexibilite sú LangChain a DSPy ideálnou voľbou pre budovanie softvérovej architektúry poháňanej AI.

Odporúčania

Na základe diskusie v tomto článku uvádzame niekoľko odporúčaní pre vývojárov, ktorí chcú implementovať softvérovú architektúru riadenú AI pomocou LangChain a DSPy:

  • Začnite učením sa základov LangChain a DSPy, vrátane ich schopností RAG a LLM.
  • Experimentujte s jednoduchými príkladmi, ako je príklad chatbota, aby ste získali predstavu o tom, ako nástroje fungujú.
  • Postupne prejdite na zložitejšie projekty, ako je budovanie systému odporúčaní alebo potrubia na spracovanie prirodzeného jazyka.
  • Ako referenčnú príručku pre bežné príkazy a úryvky použite časť 5-10 najpoužívanejších príkazov/úryvkov.
  • Vizualizujte svoje schopnosti RAG a LLM pomocou Chart.js, aby ste lepšie porozumeli vzťahom medzi rôznymi komponentmi.

Dodržiavaním týchto odporúčaní môžu vývojári odomknúť plný potenciál LangChain a DSPy a vybudovať softvérovú architektúru poháňanú AI, ktorá zvládne zložité pracovné zaťaženie a poskytne výnimočný výkon a škálovateľnosť.


Have Questions?

Let's Talk

Contact me on LinkedIn