AI-k gidatutako software-arkitektura segurua eta eskalagarria ezartzea orkestrazio tresnekin | B4N1

AI-k gidatutako software-arkitektura segurua eta eskalagarria ezartzea orkestrazio tresnekin

3 months ago · b4n1 Tiempo de lectura: 4 min

Sarrera

Inteligentzia Artifiziala (AI) software aplikazioetan integratzeak arazoen konponbideari, erabakiak hartzeko eta automatizazioari heltzeko modua irauli du. Hala ere, AI-k bultzatutako aplikazioak gero eta konplexuagoak direnez, arkitektura seguru eta eskalagarriaren beharra kezka larri bihurtu da. Artikulu honetan, AI, software ingeniaritza eta DevOps-en arteko elkargunea aztertuko dugu, DSPy eta LangChain bezalako orkestrazio tresnak erabiltzeari arreta berezia jarriz AI agenteak DevOps kanaletan integratzeko.

AI-k bultzatutako software-arkitekturaren erronkak

AI bultzatutako software aplikazioek erronka paregabeak planteatzen dizkiete software ingeniariei eta DevOps taldeei. Erronk nagusietako batzuk honako hauek dira:

  • Eskalagarritasuna: AI ereduek baliabide konputazional garrantzitsuak behar dituzte, eta horrek eskalagarritasun arazoak sor ditzake produkzio-inguruneetan.
  • Segurtasuna: AI ereduak erasoen aurrean kaltegarriak izan daitezke, hala nola, datuen pozoitzea eta ereduak inbertitzeko erasoak.
  • Integrazioa: AI ereduak lehendik dauden software sistemekin integratu behar dira, eta hori zeregin konplexua izan daiteke.
  • Segimendua eta mantentzea: AI ereduek etengabeko jarraipena eta mantentze-lanak behar dituzte zehatzak eta fidagarriak izaten jarraitzen dutela ziurtatzeko.

Orkestrazio tresnak: DSPy eta LangChain

DSPy eta LangChain bezalako orkestrazio tresnek erronka horiei irtenbidea ematen diete AI agenteak DevOps kanalizazioetan integratzea ahalbidetuz. Tresna hauek AI ereduak eraikitzeko, hedatzeko eta kudeatzeko esparru bat eskaintzen dute, AI-k bultzatutako aplikazioetarako arkitektura segurua eta eskalagarria bermatuz.

DSPy

DSPy Python-en gainean eraikitako kode irekiko orkestrazio tresna bat da. API sinple eta intuitibo bat eskaintzen du AI ereduak eraikitzeko, zabaldu eta kudeatzeko. DSPy-k AI esparru ugari onartzen ditu, TensorFlow, PyTorch eta scikit-learn barne.

LangChain

LangChain kode irekiko beste orkestrazio tresna bat da, AI ereduak eraikitzeko, zabaldu eta kudeatzeko esparru bat eskaintzen duena. LangChain Rust-en gainean eraikita dago eta errendimendu handiko API bat eskaintzen du AI agenteak DevOps kanalizazioetan integratzeko.

AI-k gidatutako software-arkitektura segurua eta eskalagarria ezartzea DSPy-rekin

Atal honetan, DSPy-rekin AI bultzatutako software-arkitektura seguru eta eskalagarria ezartzearen adibide sinple bat aztertuko dugu.

Adibidea: AI eredu sinple bat eraikitzea DSPy-rekin

Ikus dezagun DSPy erabiliz ikaskuntza automatikoko eredu bat eraikitzeko adibide erraz bat. Scikit-learn liburutegia erabiliko dugu erregresio linealaren eredua eraikitzeko.

inportatu dspy dsp gisa
sklearn.linear_model inportaziotik LinearRegression
sklearn.datasets-etik inportatu load_diabetes

# Kargatu diabetesaren datu multzoa
datu multzoa = load_diabetes()

# Banatu datu-multzoa prestakuntza- eta proba-multzoetan
X_train, X_test, y_train, y_test = dsp.split_dataset (dataset.data, dataset.target, test_size=0.2)

# Eraiki erregresio linealaren eredua
eredua = Erregresio lineala ()

# Prestatu eredua prestakuntza datuetan
model.fit(X_trena, y_trena)

# Ebaluatu eredua proben datuetan
zehaztasuna = model.score(X_test, y_test)
inprimatu(f"Ereduaren zehaztasuna: {zehaztasuna:.2f}")

Kode bloke honek DSPy erabiliz ikaskuntza automatikoko eredu sinple bat nola eraiki erakusten du. Diabetesaren datu-multzoa kargatzen dugu, entrenamendu- eta proba-multzoetan banatzen dugu, erregresio-eredu lineal bat eraikitzen dugu, entrenamendu-datuetan entrenatzen dugu eta proben datuetan duen zehaztasuna ebaluatzen dugu.

LangChain-ekin AI bultzatutako software-arkitektura seguru eta eskalagarria ezartzea

Atal honetan, LangChain-ekin AI bultzatutako software-arkitektura seguru eta eskalagarria ezartzeko adibide sinple bat aztertuko dugu.

Adibidea: LangChain-ekin AI eredu sinple bat eraikitzea

Har dezagun LangChain erabiliz ikaskuntza automatikoko eredu bat eraikitzeko adibide sinple bat. TensorFlow liburutegia erabiliko dugu sare neuronalaren eredu bat eraikitzeko.

erabili langchain lc gisa;
erabili tensorflow::prelude::*;

// Sare neuronalaren eredu sinple bat definitu
fn eredua (sarrera: &Tensorea) -> Tentsore {
    utzi irteera = input.matmul(&Tensorea::berria (1, 1));
    irteera
}

// LangChain agente bat sortu
utzi agente = lc::Agente::berria(eredua);

// Datu multzo bat definitu
let dataset = lc::Dataset::new(vec![
    lc::Adibidea::berria(vec![1.0, 2.0], vec![3.0]),
    lc::Adibidea::berria(vec![4.0, 5.0], vec![6.0]),
]);

// Eredua datu multzoan trebatu
agent.train(&dataset);

// Ebaluatu eredua datu multzoan
utzi zehaztasuna = agent.evaluate(&dataset);
println!("Ereduaren zehaztasuna: {}", zehaztasuna);

Kode bloke honek LangChain erabiliz makina ikasteko eredu sinple bat nola eraiki erakusten du. Neurona-sare eredu sinple bat definitzen dugu, LangChain agente bat sortzen dugu, datu-multzo bat definitzen dugu, eredua datu-multzoan entrenatzen dugu eta datu-multzoan duen zehaztasuna ebaluatzen dugu.

Gehien erabiltzen diren 5-10 komandoak/zatiak

Hona hemen DSPy eta LangChain-erako gehien erabiltzen diren 5-10 komando/zatiketak:

DSPy

  • dsp.split_dataset(data, target, test_size=0.2): datu multzoa entrenamendu eta proba multzoetan banatzen du.
  • dsp.build_model(model_name, model_params): makina ikasteko eredu bat eraikitzen du zehaztutako ereduaren izena eta parametroak erabiliz.
  • dsp.train_model(model, data): ikaskuntza automatikoaren eredua entrenatzen du zehaztutako datuetan.
  • dsp.evaluate_model(model, data): ikaskuntza automatikoaren ereduaren errendimendua ebaluatzen du zehaztutako datuetan.
  • dsp.deploy_model(model, server_url): ikaskuntza automatikoko eredua zehazten den zerbitzariaren URLan zabaltzen du.

LangChain

  • lc::Agent::new(model): LangChain agente bat sortzen du zehaztutako eredua erabiliz.
  • lc::Dataset::new(examples): LangChain datu-multzo bat sortzen du zehaztutako adibideak erabiliz.
  • lc::train(agent, dataset): LangChain agentea zehaztutako datu multzoan entrenatzen du.
  • lc::evaluate(agent, dataset): LangChain agenteak zehaztutako datu multzoan duen errendimendua ebaluatzen du.
  • lc::deploy(agent, server_url): LangChain agentea zehaztutako zerbitzariaren URLra zabaltzen du.

Bistaratzea

Hona hemen Chart.js erabiliz AI-k gidatutako software-arkitekturaren bistaratze sinple bat:

const ctx = document.getElementById('myChart').getContext('2d');
const diagrama = diagrama berria (ctx, {
    mota: 'taberna',
    datuak: {
        etiketak: ['Entrenamendu-denbora', 'Inferentzia-denbora', 'Ereduaren zehaztasuna'],
        datu multzoak: [{
            etiketa: 'DSPy',
            datuak: [10, 5, 90],
            backgroundColor: 'rgba (255, 99, 132, 0.2)',
            borderColor: 'rgba (255, 99, 132, 1)',
            ertzaren zabalera: 1
        }, {
            etiketa: 'LangChain',
            datuak: [8, 6, 92],
            backgroundColor: 'rgba (54, 162, 235, 0.2)',
            borderColor: 'rgba (54, 162, 235, 1)',
            ertzaren zabalera: 1
        }]
    },
    aukerak: {
        eskalak: {
            y: {
                beginAtZero: egia
            }
        }
    }
});

Kode bloke honek barra-diagrama sinple bat sortzen du Chart.js erabiliz DSPy eta LangChain-en errendimendua ikusteko.

Ondorioa

Artikulu honetan, AI, software ingeniaritza eta DevOps-en arteko elkargunea aztertu dugu, DSPy eta LangChain bezalako orkestrazio tresnak erabiltzeari arreta berezia jarriz AI agenteak DevOps kanalizazioetan integratzeko. DSPy eta LangChain erabiliz AI bultzatutako software-arkitektura seguru eta eskalagarria nola inplementatu erakutsi genuen, eta tresna bakoitza erabiliz ikaskuntza automatikoko eredu bat eraikitzeko adibide sinple bat eman genuen. Tresna bakoitzerako gehien erabiltzen diren 5-10 komando/zati batzuk eta Chart.js erabiliz AI-k gidatutako software-arkitekturaren bistaratzea erraz bat ere eman dugu.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn