Saugios ir keičiamo dydžio dirbtiniu intelektu pagrįstos programinės įrangos architektūros diegimas su orkestravimo įrankiais | B4N1

Saugios ir keičiamo dydžio dirbtiniu intelektu pagrįstos programinės įrangos architektūros diegimas su orkestravimo įrankiais

6 months ago · b4n1 Read time: 4 min

Įvadas

Dirbtinio intelekto (DI) integravimas į programinės įrangos programas pakeitė mūsų požiūrį į problemų sprendimą, sprendimų priėmimą ir automatizavimą. Tačiau, kadangi dirbtinio intelekto valdomos programos tampa vis sudėtingesnės, saugios ir keičiamo dydžio architektūros poreikis tapo neatidėliotina problema. Šiame straipsnyje mes išnagrinėsime AI, programinės įrangos inžinerijos ir „DevOps“ sankirtą, ypatingą dėmesį skirdami orkestravimo įrankių, tokių kaip DSPy ir LangChain, naudojimui, kad AI agentai būtų integruoti į „DevOps“ vamzdynus.

AI pagrįstos programinės įrangos architektūros iššūkiai

Dirbtinio intelekto valdomos programinės įrangos programos kelia unikalių iššūkių programinės įrangos inžinieriams ir „DevOps“ komandoms. Kai kurie iš pagrindinių iššūkių yra šie:

  • Mastelio keitimas: AI modeliams reikalingi dideli skaičiavimo ištekliai, todėl gamybos aplinkoje gali kilti mastelio problemų.
  • Sauga: AI modeliai gali būti pažeidžiami atakų, pvz., duomenų apsinuodijimo ir modelio inversijos atakų.
  • Integravimas: AI modeliai turi būti integruoti su esamomis programinės įrangos sistemomis, o tai gali būti sudėtinga užduotis.
  • Stebėjimas ir priežiūra: AI modelius reikia nuolat stebėti ir prižiūrėti, kad jie išliktų tikslūs ir patikimi.

Orkestravimo įrankiai: DSPy ir LangChain

Orkestravimo įrankiai, tokie kaip DSPy ir LangChain, išsprendžia šiuos iššūkius, įgalindami integruoti AI agentus į „DevOps“ vamzdynus. Šie įrankiai suteikia pagrindą dirbtinio intelekto modeliams kurti, diegti ir valdyti, užtikrinant saugią ir keičiamą AI valdomų programų architektūrą.

DSPy

DSPy yra atvirojo kodo orkestravimo įrankis, sukurtas ant Python. Tai paprasta ir intuityvi API, skirta dirbtinio intelekto modeliams kurti, diegti ir valdyti. DSPy palaiko daugybę AI sistemų, įskaitant TensorFlow, PyTorch ir scikit-learn.

LangChain

„LangChain“ yra dar vienas atvirojo kodo orkestravimo įrankis, suteikiantis pagrindą dirbtinio intelekto modeliams kurti, diegti ir valdyti. „LangChain“ sukurta ant „Rust“ ir suteikia didelio našumo API, skirtą AI agentams integruoti į „DevOps“ vamzdynus.

Saugios ir keičiamo dydžio dirbtiniu intelektu pagrįstos programinės įrangos architektūros įdiegimas naudojant DSPy

Šiame skyriuje išnagrinėsime paprastą pavyzdį, kaip įdiegti saugią ir keičiamo dydžio AI valdomą programinės įrangos architektūrą naudojant DSPy.

Pavyzdys: paprasto AI modelio kūrimas naudojant DSPy

Panagrinėkime paprastą mašininio mokymosi modelio kūrimo naudojant DSPy pavyzdį. Mes naudosime scikit-learn biblioteką tiesinės regresijos modeliui sukurti.

importuoti dspy kaip dsp
iš sklearn.linear_model importuoti LinearRegression
iš sklearn.datasets importuoti load_diabetes

# Įkelkite diabeto duomenų rinkinį
duomenų rinkinys = load_diabetes()

# Padalinkite duomenų rinkinį į mokymo ir testavimo rinkinius
X_train, X_test, y_train, y_test = dsp.split_dataset(dataset.data, dataset.target, test_size=0,2)

# Sukurkite tiesinės regresijos modelį
modelis = tiesinė regresija ()

# Treniruokite modelį pagal mokymo duomenis
modelis.fit(X_traukinys, y_traukinys)

# Įvertinkite modelį pagal bandymo duomenis
tikslumas = modelis.balas (X_testas, y_testas)
print(f"Modelio tikslumas: {tikslumas:.2f}")

Šis kodo blokas parodo, kaip sukurti paprastą mašininio mokymosi modelį naudojant DSPy. Įkeliame diabeto duomenų rinkinį, padalijame jį į mokymo ir testavimo rinkinius, sukuriame tiesinės regresijos modelį, mokome jį pagal treniruočių duomenis ir įvertiname jo tikslumą pagal testavimo duomenis.

Saugios ir keičiamo dydžio dirbtiniu intelektu pagrįstos programinės įrangos architektūros įdiegimas naudojant „LangChain“.

Šiame skyriuje mes išnagrinėsime paprastą pavyzdį, kaip įdiegti saugią ir keičiamo dydžio AI valdomą programinės įrangos architektūrą su LangChain.

Pavyzdys: paprasto AI modelio kūrimas naudojant „LangChain“.

Panagrinėkime paprastą mašininio mokymosi modelio kūrimo naudojant „LangChain“ pavyzdį. Neuroninio tinklo modeliui sukurti naudosime TensorFlow biblioteką.

naudoti langchain kaip lc;
naudokite tensorflow::prelude::*;

// Apibrėžkite paprastą neuroninio tinklo modelį
fn modelis(įvestis: &Tensor) -> Tensor {
    tegul output = input.matmul(&Tensor::new(1, 1));
    išvestis
}

// Sukurkite „LangChain“ agentą
tegul agentas = lc::Agentas::naujas(modelis);

// Apibrėžkite duomenų rinkinį
tegul duomenų rinkinys = lc::Dataset::new(vec![
    lc::Pavyzdys::naujas(vec![1.0, 2.0], vec![3.0]),
    lc::Pavyzdys::naujas(vec![4.0, 5.0], vec![6.0]),
]);

// Išmokykite modelį duomenų rinkinyje
agent.train(&duomenų rinkinys);

// Įvertinkite modelį duomenų rinkinyje
tegul tikslumas = agent.evaluate(&duomenų rinkinys);
println!("Modelio tikslumas: {}", tikslumas);

Šis kodo blokas parodo, kaip sukurti paprastą mašininio mokymosi modelį naudojant „LangChain“. Mes apibrėžiame paprastą neuroninio tinklo modelį, sukuriame LangChain agentą, apibrėžiame duomenų rinkinį, apmokome modelį duomenų rinkinyje ir įvertiname jo tikslumą duomenų rinkinyje.

5–10 dažniausiai naudojamų komandų / fragmentų

Čia yra 5–10 dažniausiai naudojamų DSPy ir LangChain komandų / fragmentų:

DSPy

  • dsp.split_dataset(data, target, test_size=0.2): padalija duomenų rinkinį į mokymo ir testavimo rinkinius.
  • dsp.build_model(model_name, model_params): sukuria mašininio mokymosi modelį naudodamas nurodytą modelio pavadinimą ir parametrus.
  • dsp.train_model(modelis, duomenys): moko mašininio mokymosi modelį pagal nurodytus duomenis.
  • dsp.evaluate_model(modelis, duomenys): įvertina mašininio mokymosi modelio našumą pagal nurodytus duomenis.
  • dsp.deploy_model(modelis, serverio_url): diegia mašininio mokymosi modelį nurodytame serverio URL.

LangChain

  • lc::Agent::new(model): Sukuria LangChain agentą naudodamas nurodytą modelį.
  • lc::Dataset::new(examples): Sukuria LangChain duomenų rinkinį naudojant nurodytus pavyzdžius.
  • lc::train(agent, dataset): apmoko LangChain agentą nurodytame duomenų rinkinyje.
  • lc::evaluate(agent, dataset): įvertina LangChain agento našumą nurodytame duomenų rinkinyje.
  • lc::deploy(agent, serverio_url): diegia LangChain agentą į nurodytą serverio URL.

Vizualizacija

Štai paprastas AI pagrįstos programinės įrangos architektūros vizualizavimas naudojant Chart.js:

const ctx = document.getElementById('mano diagrama').getContext('2d');
const diagrama = new Chart(ctx, {
    tipas: "baras",
    duomenys: {
        etiketės: ["Treniravimo laikas", "Išvados laikas", "Modelio tikslumas"],
        duomenų rinkiniai: [{
            etiketė: „DSPy“,
            duomenys: [10, 5, 90],
            backgroundColor: 'rgba(255, 99, 132, 0,2)',
            borderColor: „rgba(255, 99, 132, 1)“,
            kraštinės plotis: 1
        }, {
            etiketė: „LangChain“,
            duomenys: [8, 6, 92],
            backgroundColor: 'rgba(54, 162, 235, 0,2)',
            borderColor: „rgba(54, 162, 235, 1)“,
            kraštinės plotis: 1
        }]
    },
    parinktys: {
        svarstyklės: {
            y: {
                beginAtZero: tiesa
            }
        }
    }
});

Šis kodo blokas sukuria paprastą juostinę diagramą naudojant Chart.js, kad būtų galima vizualizuoti DSPy ir LangChain našumą.

Išvada

Šiame straipsnyje mes ištyrėme AI, programinės įrangos inžinerijos ir „DevOps“ sankirtą, ypatingą dėmesį skirdami orkestravimo įrankiams, pvz., DSPy ir LangChain, integruoti AI agentus į „DevOps“ vamzdynus. Parodėme, kaip įdiegti saugią ir keičiamo dydžio AI pagrįstą programinės įrangos architektūrą naudojant DSPy ir LangChain, ir pateikėme paprastą mašininio mokymosi modelio kūrimo pavyzdį naudojant kiekvieną įrankį. Taip pat pateikėme 5–10 dažniausiai naudojamų kiekvieno įrankio komandų / fragmentų ir paprastą DI pagrįstos programinės įrangos architektūros vizualizaciją naudojant Chart.js.


Have Questions?

Let's Talk

Contact me on LinkedIn