Drošas un mērogojamas AI vadītas programmatūras arhitektūras ieviešana ar orķestrēšanas rīkiem | B4N1

Drošas un mērogojamas AI vadītas programmatūras arhitektūras ieviešana ar orķestrēšanas rīkiem

6 months ago · b4n1 Read time: 4 min

Ievads

Mākslīgā intelekta (AI) integrācija programmatūras lietojumprogrammās ir mainījusi veidu, kā mēs pieejam problēmu risināšanai, lēmumu pieņemšanai un automatizācijai. Tomēr, tā kā AI vadītas lietojumprogrammas kļūst arvien sarežģītākas, nepieciešamība pēc drošas un mērogojamas arhitektūras ir kļuvusi par aktuālu problēmu. Šajā rakstā mēs izpētīsim AI, programmatūras inženierijas un DevOps krustpunktu, īpašu uzsvaru liekot uz tādu orķestrēšanas rīku izmantošanu kā DSPy un LangChain, lai integrētu AI aģentus DevOps cauruļvados.

AI vadītas programmatūras arhitektūras izaicinājumi

AI vadītas programmatūras lietojumprogrammas rada unikālus izaicinājumus programmatūras inženieriem un DevOps komandām. Daži no galvenajiem izaicinājumiem ir:

  • Mērogojamība: AI modeļiem ir nepieciešami ievērojami skaitļošanas resursi, kas var radīt mērogojamības problēmas ražošanas vidēs.
  • Drošība: AI modeļi var būt neaizsargāti pret uzbrukumiem, piemēram, datu saindēšanos un modeļu inversijas uzbrukumiem.
  • Integrācija: AI modeļi ir jāintegrē esošajās programmatūras sistēmās, kas var būt sarežģīts uzdevums.
  • Uzraudzība un apkope: AI modeļiem ir nepieciešama nepārtraukta uzraudzība un apkope, lai nodrošinātu to precizitāti un uzticamību.

Orķestrācijas rīki: DSPy un LangChain

Orķestrācijas rīki, piemēram, DSPy un LangChain, nodrošina risinājumu šīm problēmām, ļaujot integrēt AI aģentus DevOps konveijeros. Šie rīki nodrošina ietvaru AI modeļu veidošanai, izvietošanai un pārvaldībai, nodrošinot drošu un mērogojamu arhitektūru AI vadītām lietojumprogrammām.

DSPy

DSPy ir atvērtā koda orķestrēšanas rīks, kas izveidots uz Python. Tas nodrošina vienkāršu un intuitīvu API AI modeļu veidošanai, izvietošanai un pārvaldībai. DSPy atbalsta plašu AI ietvaru klāstu, tostarp TensorFlow, PyTorch un scikit-learn.

LangChain

LangChain ir vēl viens atvērtā pirmkoda orķestrēšanas rīks, kas nodrošina sistēmu AI modeļu izveidei, izvietošanai un pārvaldībai. LangChain ir veidots uz Rust un nodrošina augstas veiktspējas API, lai integrētu AI aģentus DevOps konveijeros.

Drošas un mērogojamas AI vadītas programmatūras arhitektūras ieviešana ar DSPy

Šajā sadaļā mēs izpētīsim vienkāršu piemēru drošas un mērogojamas AI vadītas programmatūras arhitektūras ieviešanai ar DSPy.

Piemērs: vienkārša AI modeļa izveide, izmantojot DSPy

Apskatīsim vienkāršu piemēru mašīnmācīšanās modeļa izveidei, izmantojot DSPy. Mēs izmantosim scikit-learn bibliotēku, lai izveidotu lineārās regresijas modeli.

importēt dspy kā dsp
no sklearn.linear_model importēšanas LinearRegression
no sklearn.datasets importa load_diabetes

# Ielādējiet diabēta datu kopu
datu kopa = load_diabetes()

# Sadaliet datu kopu apmācības un testēšanas kopās
X_train, X_test, y_train, y_test = dsp.split_dataset(dataset.data, dataset.target, test_size=0,2)

# Izveidojiet lineārās regresijas modeli
modelis = Lineārā regresija()

# Apmāciet modeli uz apmācības datiem
model.fit(X_train, y_train)

# Novērtējiet modeli, pamatojoties uz testēšanas datiem
precizitāte = modelis.rezultāts (X_tests, y_tests)
print(f"Modeļa precizitāte: {precizitāte:.2f}")

Šis koda bloks parāda, kā izveidot vienkāršu mašīnmācīšanās modeli, izmantojot DSPy. Mēs ielādējam diabēta datu kopu, sadalām to apmācības un testēšanas kopās, izveidojam lineārās regresijas modeli, apmācām to, pamatojoties uz treniņu datiem, un novērtējam tā precizitāti, pamatojoties uz testēšanas datiem.

Drošas un mērogojamas AI vadītas programmatūras arhitektūras ieviešana, izmantojot LangChain

Šajā sadaļā mēs izpētīsim vienkāršu piemēru drošas un mērogojamas AI vadītas programmatūras arhitektūras ieviešanai ar LangChain.

Piemērs: vienkārša AI modeļa izveide, izmantojot LangChain

Apskatīsim vienkāršu piemēru mašīnmācīšanās modeļa izveidei, izmantojot LangChain. Mēs izmantosim TensorFlow bibliotēku, lai izveidotu neironu tīkla modeli.

izmantot langchain kā lc;
izmantot tensorflow::prelude::*;

// Definējiet vienkāršu neironu tīkla modeli
fn model(ievade: &Tensor) -> Tensor {
    let output = input.matmul(&Tensor::new(1, 1));
    izvade
}

// Izveidojiet LangChain aģentu
let agent = lc::Agent::new(modelis);

// Definējiet datu kopu
let dataset = lc::Dataset::new(vec![
    lc::Piemērs::jauns(vec![1.0, 2.0], vec![3.0]),
    lc::Piemērs::jauns(vec![4.0, 5.0], vec![6.0]),
]);

// Apmācīt modeli datu kopā
agent.train(&dataset);

// Novērtējiet modeli datu kopā
let accuracy = agent.evaluate(&dataset);
println!("Modeļa precizitāte: {}", precizitāte);

Šis koda bloks parāda, kā izveidot vienkāršu mašīnmācīšanās modeli, izmantojot LangChain. Mēs definējam vienkāršu neironu tīkla modeli, izveidojam LangChain aģentu, definējam datu kopu, apmācām modeli datu kopā un novērtējam tā precizitāti datu kopā.

5–10 populārākās komandas/fragmenti

Šeit ir 5–10 populārākās DSPy un LangChain komandas/fragmenti:

DSPy

  • dsp.split_dataset(data, target, test_size=0,2): sadala datu kopu apmācības un testēšanas kopās.
  • dsp.build_model(modeļa_nosaukums, modeļa_params): izveido mašīnmācīšanās modeli, izmantojot norādīto modeļa nosaukumu un parametrus.
  • dsp.train_model(modelis, dati): apmāca mašīnmācības modeli uz norādītajiem datiem.
  • dsp.evaluate_model(modelis, dati): novērtē mašīnmācīšanās modeļa veiktspēju uz norādītajiem datiem.
  • dsp.deploy_model(modelis, servera_url): izvieto mašīnmācīšanās modeli norādītajā servera URL.

LangChain

  • lc::Agent::new(model): izveido LangChain aģentu, izmantojot norādīto modeli.
  • lc::Dataset::new(examples): izveido LangChain datu kopu, izmantojot norādītos piemērus.
  • lc::train(agent, dataset): apmāca LangChain aģentu norādītajā datu kopā.
  • lc::evaluate(agent, dataset): novērtē LangChain aģenta veiktspēju norādītajā datu kopā.
  • lc::deploy(agent, server_url): izvieto LangChain aģentu norādītajā servera URL.

Vizualizācija

Šeit ir vienkārša AI vadītas programmatūras arhitektūras vizualizācija, izmantojot Chart.js:

const ctx = document.getElementById('mana diagramma').getContext('2d');
const diagramma = new Chart(ctx, {
    tips: "bārs",
    dati: {
        etiķetes: ['Apmācības laiks', 'Secinājumu laiks', 'Modeļa precizitāte'],
        datu kopas: [{
            etiķete: "DSPy",
            dati: [10, 5, 90],
            backgroundColor: "rgba(255, 99, 132, 0.2)",
            borderColor: "rgba(255, 99, 132, 1)",
            apmales platums: 1
        }, {
            etiķete: "LangChain",
            dati: [8, 6, 92],
            backgroundColor: "rgba(54, 162, 235, 0.2)",
            borderColor: "rgba(54, 162, 235, 1)",
            apmales platums: 1
        }]
    },
    opcijas: {
        svari: {
            y: {
                beginAtZero: taisnība
            }
        }
    }
});

Šis koda bloks izveido vienkāršu joslu diagrammu, izmantojot Chart.js, lai vizualizētu DSPy un LangChain veiktspēju.

Secinājums

Šajā rakstā mēs izpētījām AI, programmatūras inženierijas un DevOps krustpunktu, īpašu uzsvaru liekot uz tādu orķestrēšanas rīku izmantošanu kā DSPy un LangChain, lai integrētu AI aģentus DevOps cauruļvados. Mēs parādījām, kā ieviest drošu un mērogojamu AI vadītu programmatūras arhitektūru, izmantojot DSPy un LangChain, un sniedzām vienkāršu piemēru mašīnmācīšanās modeļa izveidei, izmantojot katru rīku. Mēs arī nodrošinājām 5–10 visbiežāk izmantotās komandas/fragmentus katram rīkam un vienkāršu AI vadītās programmatūras arhitektūras vizualizāciju, izmantojot Chart.js.


Have Questions?

Let's Talk

Contact me on LinkedIn