Ukusebenzisa I-AI-Driven Software Architecture Evikelekile futhi Enwebekayo Ngamathuluzi E-Orchestration | B4N1

Ukusebenzisa I-AI-Driven Software Architecture Evikelekile futhi Enwebekayo Ngamathuluzi E-Orchestration

3 months ago · b4n1 Read time: 4 min

Isingeniso

Ukuhlanganiswa kwe-Artificial Intelligence (AI) ezinhlelweni zesofthiwe kuguqule indlela esibhekana ngayo nokuxazulula izinkinga, ukwenza izinqumo, kanye ne-automation. Kodwa-ke, njengoba izinhlelo zokusebenza eziqhutshwa yi-AI ziba nzima kakhulu, isidingo sezakhiwo ezivikelekile nezingakalayo sesiyinkinga enkulu. Kulesi sihloko, sizohlola ukuphambana kwe-AI, ubunjiniyela besoftware, kanye ne-DevOps, ngokugcizelela okuthile ekusebenziseni amathuluzi omculo we-orchestration afana ne-DSPy ne-LangChain ukuhlanganisa ama-agent e-AI kumapayipi e-DevOps.

Izinselelo Zokwakhiwa Kwesoftware Eqhutshwa yi-AI

Izinhlelo zokusebenza zesofthiwe eshayelwa yi-AI zibeka izinselelo ezihlukile konjiniyela bezinhlelo zokusebenza nasemaqenjini e-DevOps. Ezinye zezinselelo ezibalulekile zihlanganisa:

  • Scalability: Amamodeli e-AI adinga izinsiza ezibalulekile zokubala, ezingaholela ezinkingeni zokuqina ezindaweni zokukhiqiza.
  • Ukuvikeleka: Amamodeli e-AI angaba sengcupheni yokuhlaselwa, njengobuthi bedatha nokuhlaselwa kwamamodeli.
  • Ukuhlanganisa: Amamodeli e-AI adinga ukuhlanganiswa nezinhlelo zesofthiwe ezikhona, okungaba umsebenzi oyinkimbinkimbi.
  • Ukuqapha Nokunakekela: Amamodeli e-AI adinga ukuqapha nokunakekelwa okuqhubekayo ukuze kuqinisekiswe ukuthi ahlala enembile futhi ethembekile.

Amathuluzi E-Orchestration: I-DSPy ne-LangChain

Amathuluzi e-Orchestration afana ne-DSPy ne-LangChain ahlinzeka ngesixazululo kulezi zinselele ngokunika amandla ukuhlanganiswa kwama-ejenti e-AI kumapayipi e-DevOps. Lawa mathuluzi ahlinzeka ngohlaka lokwakha, lokuphakela, nokuphatha amamodeli e-AI, aqinisekisa ukwakheka okuphephile nokunokwehla kwezinhlelo zokusebenza eziqhutshwa yi-AI.

DSPy

I-DSPy iyithuluzi lokucula lomthombo ovulekile elakhelwe phezu kwePython. Ihlinzeka nge-API elula nenembile yokwakha, ukuthumela, nokuphatha amamodeli e-AI. I-DSPy isekela uhlaka olubanzi lwe-AI, okuhlanganisa i-TensorFlow, i-PyTorch, ne-scikit-learn.

LangChain

I-LangChain ingelinye ithuluzi lokucula elinomthombo ovulekile elihlinzeka ngohlaka lokwakha, ukuthunyelwa, nokuphatha amamodeli e-AI. I-LangChain yakhelwe phezu kwe-Rust futhi inikeza i-API esebenza kahle kakhulu yokuhlanganisa ama-agent e-AI kumapayipi e-DevOps.

Ukusebenzisa I-Architecture Yesofthiwe Evikelekile Ne-Scalable AI-Driven nge-DSPy

Kulesi sigaba, sizohlola isibonelo esilula sokuqalisa ukwakhiwa kwesoftware ephephile futhi eyingozi eqhutshwa yi-AI nge-DSPy.

Isibonelo: Ukwakha Imodeli Elula ye-AI nge-DSPy

Ake sicabangele isibonelo esilula sokwakha imodeli yokufunda yomshini sisebenzisa i-DSPy. Sizosebenzisa umtapo wolwazi we-scikit ukuze sakhe imodeli yomugqa wokuhlehla.

ngenisa i-dsp njenge-dsp
kusuka ku-sklearn.linear_model ngenisa i-LinearRegression
kusuka ku-sklearn.datasets import load_diabetes

# Layisha idathasethi yesifo sikashukela
idathaset = load_diabetes()

# Hlukanisa idathasethi ibe amasethi okuqeqesha nawokuhlola
X_train, X_test, y_train, y_test = dsp.split_dataset(dataset.data, dataset.target, test_size=0.2)

# Yakha imodeli yomugqa wokuhlehla
imodeli = LinearRegression()

# Qeqesha imodeli ngedatha yokuqeqeshwa
model.fit(X_train, y_train)

# Linganisa imodeli kudatha yokuhlola
ukunemba = imodeli.score(X_test, y_test)
phrinta(f"Ukunemba kwemodeli: {ukunemba:.2f}")

Leli bhulokhi lekhodi libonisa indlela yokwakha imodeli yokufunda yomshini elula usebenzisa i-DSPy. Silayisha idathasethi yesifo sikashukela, siyihlukanise ibe amasethi okuqeqesha nokuhlola, sakhe imodeli yokuhlehla yomugqa, siyiqeqeshe ngedatha yokuqeqeshwa, futhi sihlole ukunemba kwayo kudatha yokuhlola.

Ukusebenzisa I-Architecture Yesofthiwe Evikelekile Ne-Scalable AI-Driven nge-LangChain

Kulesi sigaba, sizohlola isibonelo esilula sokuqalisa ukwakhiwa kwesoftware ephephile futhi eyingozi eqhutshwa yi-AI nge-LangChain.

Isibonelo: Ukwakha Imodeli Elula ye-AI nge-LangChain

Ake sicabangele isibonelo esilula sokwakha imodeli yokufunda yomshini usebenzisa i-LangChain. Sizosebenzisa umtapo wezincwadi we-TensorFlow ukwakha imodeli yenethiwekhi ye-neural.

sebenzisa i-langchain njenge-lc;
sebenzisa tensorflow::prelude::*;

// Chaza imodeli yenethiwekhi ye-neural elula
imodeli ye-fn(okufakiwe: &Tensor) -> I-Tensor {
    vumela okukhiphayo = input.matmul(&Tensor::new(1, 1));
    okukhiphayo
}

// Dala i-ejenti ye-LangChain
vumela i-ejenti = lc::I-Agent::new(imodeli);

// Chaza idathasethi
let dataset = lc::Dataset::new(vec![
    lc::Isibonelo::okusha(vec![1.0, 2.0], vec![3.0]),
    lc::Isibonelo::okusha(vec![4.0, 5.0], vec![6.0]),
]);

// Qeqesha imodeli kudathasethi
i-agent.train(&idathasethi);

// Linganisa imodeli kudathasethi
vumela ukunemba = i-agent.evaluate(&dataset);
println!("Ukunemba kwemodeli: {}", ukunemba);

Leli bhulokhi lekhodi libonisa indlela yokwakha imodeli yokufunda yomshini elula usebenzisa i-LangChain. Sichaza imodeli yenethiwekhi ye-neural elula, sakha i-ejenti ye-LangChain, sichaza isethi yedatha, siqeqesha imodeli kudathasethi, futhi sihlole ukunemba kwayo kudathasethi.

Imiyalo/Amazwibela Aphezulu Okungu-5-10

Nansi imiyalo/ amazwibela asetshenziswa kakhulu angu-5-10 e-DSPy ne-LangChain:

DSPy

  • dsp.split_dataset(data, target, test_size=0.2): Ihlukanisa idathasethi ibe amasethi okuqeqesha nokuhlola.
  • dsp.build_model(igama_lemodeli, imodeli_amapharamitha): Yakha imodeli yokufunda yomshini isebenzisa igama lemodeli eshiwo namapharamitha.
  • dsp.train_model(imodeli, idatha): Iqeqesha imodeli yokufunda yomshini kudatha eshiwo.
  • dsp.evaluate_model(imodeli, idatha): Ihlola ukusebenza kwemodeli yokufunda yomshini kudatha eshiwo.
  • dsp.deploy_model(imodeli, iseva_url): Isebenzisa imodeli yokufunda yomshini ku-URL yeseva eshiwo.

LangChain

  • lc::Agent::new(imodeli): Idala i-ejenti ye-LangChain isebenzisa imodeli eshiwo.
  • lc::Dataset::new(izibonelo): Idala idathasethi ye-LangChain isebenzisa izibonelo ezishiwo.
  • lc::train(i-ejenti, isethi yedatha): Iqeqesha i-ejenti ye-LangChain kudathasethi eshiwo.
  • lc::hlola(i-ejenti, isethi yedatha): Ihlola ukusebenza komenzeli we-LangChain kudathasethi eshiwo.
  • lc::deploy(agent, server_url): Ithumela i-ejenti ye-LangChain ku-URL yeseva eshiwo.

Ukubukwa

Nakhu ukubuka ngeso okulula kwesakhiwo sesofthiwe esishayelwa yi-AI kusetshenziswa i-Chart.js:

const ctx = document.getElementById('myChart').getContext('2d');
const chart = Ishadi elisha(ctx, {
    uhlobo: 'ibha',
    idatha: {
        amalebula: ['Isikhathi Sokuqeqesha', 'Isikhathi Sokukhomba', 'Ukunemba Kwemodeli'],
        idathasethi: [{
            ilebula: 'DSPy',
            idatha: [10, 5, 90],
            Umbala wangemuva: 'rgba(255, 99, 132, 0.2)',
            Umbala womngcele: 'rgba(255, 99, 132, 1)',
            Ububanzi bomngcele: 1
        }, {
            ilebula: 'LangChain',
            idatha: [8, 6, 92],
            Umbala wangemuva: 'rgba(54, 162, 235, 0.2)',
            Umbala womngcele: 'rgba(54, 162, 235, 1)',
            Ububanzi bomngcele: 1
        }]
    },
    izinketho: {
        isikali: {
            y: {
                startAtZero: kuyiqiniso
            }
        }
    }
});

Leli bhulokhi lekhodi lidala ishadi lebha elilula lisebenzisa i-Chart.js ukuze ubone ngeso lengqondo ukusebenza kwe-DSPy ne-LangChain.

Isiphetho

Kulesi sihloko, sihlole ukuphambana kwe-AI, ubunjiniyela besoftware, kanye ne-DevOps, ngokugcizelela okuthile ekusebenziseni amathuluzi omculo we-orchestration afana ne-DSPy ne-LangChain ukuhlanganisa ama-agent e-AI kumapayipi e-DevOps. Sibonise indlela yokuqalisa i-architecture yesofthiwe evikelekile futhi eyingozi eqhutshwa yi-AI kusetshenziswa i-DSPy ne-LangChain, futhi sanikeza isibonelo esilula sokwakha imodeli yokufunda yomshini sisebenzisa ithuluzi ngalinye. Siphinde sahlinzeka ngemiyalo/ amazwibela asetshenziswa kakhulu angu-5-10 ethuluzi ngalinye kanye nokuboniswa okulula kwesakhiwo sesofthiwe esiqhutshwa yi-AI kusetshenziswa i-Chart.js.


Have Questions?

Let's Talk

Contact me on LinkedIn