Utekelezaji wa Usanifu wa Programu Salama na Inayoendeshwa na AI na Zana za Okestration | B4N1

Utekelezaji wa Usanifu wa Programu Salama na Inayoendeshwa na AI na Zana za Okestration

3 months ago · b4n1 Read time: 5 min

Utangulizi

Kuunganishwa kwa Akili Bandia (AI) katika programu-tumizi kumeleta mapinduzi makubwa katika njia tunayoshughulikia kutatua matatizo, kufanya maamuzi na kujiendesha kiotomatiki. Walakini, kadiri programu zinazoendeshwa na AI zinavyozidi kuwa ngumu, hitaji la usanifu salama na hatari limekuwa jambo la kusumbua. Katika makala haya, tutachunguza makutano ya AI, uhandisi wa programu, na DevOps, kwa msisitizo maalum wa kutumia zana za uimbaji kama vile DSPy na LangChain kuunganisha mawakala wa AI kwenye mabomba ya DevOps.

Changamoto za Usanifu wa Programu Inayoendeshwa na AI

Programu za programu zinazoendeshwa na AI huleta changamoto za kipekee kwa wahandisi wa programu na timu za DevOps. Baadhi ya changamoto kuu ni pamoja na:

  • Scalability: Miundo ya AI inahitaji rasilimali muhimu za ukokotoaji, ambazo zinaweza kusababisha masuala ya kubadilika katika mazingira ya uzalishaji.
  • Usalama: Miundo ya AI inaweza kuathiriwa na mashambulizi, kama vile sumu ya data na mashambulizi ya kubadilisha muundo.
  • Muunganisho: Miundo ya AI inahitaji kuunganishwa na mifumo iliyopo ya programu, ambayo inaweza kuwa kazi ngumu.
  • Ufuatiliaji na Matengenezo: Miundo ya AI inahitaji ufuatiliaji na matengenezo endelevu ili kuhakikisha inasalia kuwa sahihi na ya kutegemewa.

Zana za Ochestration: DSPy na LangChain

Zana za okestration kama vile DSPy na LangChain hutoa suluhu kwa changamoto hizi kwa kuwezesha ujumuishaji wa mawakala wa AI kwenye mabomba ya DevOps. Zana hizi hutoa mfumo wa kujenga, kupeleka, na kusimamia miundo ya AI, kuhakikisha usanifu salama na hatari kwa programu zinazoendeshwa na AI.

DSPy

DSPy ni zana ya ochestration ya chanzo-wazi iliyojengwa juu ya Python. Inatoa API rahisi na angavu ya kujenga, kupeleka, na kusimamia mifano ya AI. DSPy inasaidia anuwai ya mifumo ya AI, ikijumuisha TensorFlow, PyTorch, na scikit-learn.

LangChain

LangChain ni zana nyingine ya ochestration ya chanzo huria ambayo hutoa mfumo wa kujenga, kupeleka, na kusimamia miundo ya AI. LangChain imejengwa juu ya Rust na hutoa API ya utendaji wa juu ya kuunganisha mawakala wa AI kwenye mabomba ya DevOps.

Utekelezaji wa Usanifu wa Programu Salama na Inayoendeshwa na AI kwa kutumia DSPy

Katika sehemu hii, tutachunguza mfano rahisi wa kutekeleza usanifu wa programu salama na hatari unaoendeshwa na AI na DSPy.

Mfano: Kuunda Muundo Rahisi wa AI na DSPy

Hebu tuchunguze mfano rahisi wa kujenga modeli ya kujifunza mashine kwa kutumia DSPy. Tutatumia maktaba ya scikit-learn kuunda muundo wa rejista wa mstari.

agiza dsp kama dsp
kutoka kwa sklearn.linear_model leta LinearRegression
kutoka kwa sklearn.datasets import load_diabetes

# Pakia data ya ugonjwa wa kisukari
hifadhidata = load_diabetes()

# Gawanya hifadhidata katika seti za mafunzo na majaribio
X_train, X_test, y_train, y_test = dsp.split_dataset(dataset.data, dataset.target, test_size=0.2)

# Jenga mfano wa rejista ya laini
model = LinearRegression()

# Funza kielelezo kwenye data ya mafunzo
model.fit(X_train, y_treni)

# Tathmini mfano kwenye data ya majaribio
usahihi = model.alama(X_test, y_test)
chapa(f"Usahihi wa kielelezo: {usahihi:.2f}")

Kizuizi hiki cha msimbo kinaonyesha jinsi ya kuunda muundo rahisi wa kujifunza mashine kwa kutumia DSPy. Tunapakia seti ya data ya ugonjwa wa kisukari, kuigawanya katika seti za mafunzo na majaribio, kuunda muundo wa urejeshaji wa mstari, tunaifundisha kwenye data ya mafunzo, na kutathmini usahihi wake kwenye data ya majaribio.

Kutekeleza Usanifu wa Programu Salama na Inayoendeshwa na AI kwa kutumia LangChain

Katika sehemu hii, tutachunguza mfano rahisi wa kutekeleza usanifu wa programu salama na hatari unaoendeshwa na AI na LangChain.

Mfano: Kuunda Muundo Rahisi wa AI kwa LangChain

Hebu tuchunguze mfano rahisi wa kujenga modeli ya kujifunza mashine kwa kutumia LangChain. Tutatumia maktaba ya TensorFlow kuunda muundo wa mtandao wa neva.

tumia langchain kama lc;
tumia tensorflow::prelude::*;

// Bainisha muundo rahisi wa mtandao wa neva
fn model(pembejeo: &Tensor) -> Tensor {
    let output = input.matmul(&Tensor::new(1, 1));
    pato
}

// Unda wakala wa LangChain
basi wakala = lc::Wakala::mpya(mfano);

// Bainisha mkusanyiko wa data
let dataset = lc::Dataset::new(vec![
    lc::Mfano::mpya(vec![1.0, 2.0], vec![3.0]),
    lc::Mfano::mpya(vec![4.0, 5.0], vec![6.0]),
]);

// Funza kielelezo kwenye seti ya data
wakala.treni(&seti ya data);

// Tathmini mfano kwenye mkusanyiko wa data
acha usahihi = wakala.tathmini(&seti ya data);
println!("Usahihi wa mfano: {}", usahihi);

Kizuizi hiki cha msimbo kinaonyesha jinsi ya kuunda muundo rahisi wa kujifunza mashine kwa kutumia LangChain. Tunafafanua muundo rahisi wa mtandao wa neural, kuunda wakala wa LangChain, kufafanua mkusanyiko wa data, kutoa mafunzo kwa muundo kwenye mkusanyiko wa data, na kutathmini usahihi wake kwenye mkusanyiko wa data.

Maagizo/Vijisehemu vya Juu 5-10 Vinavyotumika Zaidi

Hapa kuna amri/vijisehemu 5-10 vya juu vinavyotumika zaidi kwa DSPy na LangChain:

DSPy

  • dsp.split_dataset(data, target, test_size=0.2): Inagawanya mkusanyiko wa data katika seti za mafunzo na majaribio.
  • dsp.build_model(model_name, model_params): Huunda muundo wa kujifunza kwa mashine kwa kutumia jina na vigezo vilivyobainishwa.
  • dsp.train_model(mfano, data): Hufunza muundo wa mashine ya kujifunza kwenye data iliyobainishwa.
  • dsp.evaluate_model(mfano, data): Hutathmini utendaji wa kielelezo cha kujifunza kwa mashine kwenye data iliyobainishwa.
  • dsp.deploy_model(mfano, server_url): Hutumia muundo wa mashine ya kujifunza kwenye URL maalum ya seva.

LangChain

  • lc::Wakala::mpya(mfano): Huunda wakala wa LangChain kwa kutumia modeli iliyobainishwa.
  • lc::Seti ya data::mpya(mifano): Inaunda mkusanyiko wa data wa LangChain kwa kutumia mifano iliyobainishwa.
  • lc::treni(wakala, seti ya data): Hufunza wakala wa LangChain kwenye mkusanyiko maalum wa data.
  • lc::tathmini(wakala, seti ya data): Hutathmini utendakazi wa wakala wa LangChain kwenye mkusanyiko maalum wa data.
  • lc::deploy(wakala, server_url): Hupeleka wakala wa LangChain kwa URL maalum ya seva.

##Taswira

Hapa kuna taswira rahisi ya usanifu wa programu inayoendeshwa na AI kwa kutumia Chart.js:

const ctx = document.getElementById('myChart').getContext('2d');
const chart = Chati mpya (ctx, {
    aina: 'bar',
    data: {
        lebo: ['Wakati wa Mafunzo', 'Wakati wa Maelekezo', 'Usahihi wa Kielelezo'],
        seti za data: [{
            lebo: 'DSPy',
            data: [10, 5, 90],
            mandharinyumaRangi: 'rgba(255, 99, 132, 0.2)',
            mpakaRangi: 'rgba(255, 99, 132, 1)',
            Upana wa mpaka: 1
        }, {
            lebo: 'LangChain',
            data: [8, 6, 92],
            mandharinyumaRangi: 'rgba(54, 162, 235, 0.2)',
            mpakaRangi: 'rgba(54, 162, 235, 1)',
            Upana wa mpaka: 1
        }]
    },
    chaguzi: {
        mizani: {
            y: {
                startAtZero: kweli
            }
        }
    }
});

Kizuizi hiki cha msimbo huunda chati rahisi ya upau kwa kutumia Chart.js kuibua utendaji wa DSPy na LangChain.

##Hitimisho

Katika makala haya, tulichunguza makutano ya AI, uhandisi wa programu, na DevOps, kwa msisitizo maalum wa kutumia zana za uimbaji kama vile DSPy na LangChain kuunganisha mawakala wa AI kwenye mabomba ya DevOps. Tulionyesha jinsi ya kutekeleza usanifu wa programu salama na hatari unaoendeshwa na AI kwa kutumia DSPy na LangChain, na tukatoa mfano rahisi wa kujenga modeli ya kujifunza mashine kwa kutumia kila zana. Pia tulitoa amri/vijisehemu 5-10 vya juu zaidi kwa kila zana na taswira rahisi ya usanifu wa programu inayoendeshwa na AI kwa kutumia Chart.js.


Have Questions?

Let's Talk

Contact me on LinkedIn