Անվտանգ և մասշտաբային AI-ի վրա հիմնված ծրագրային ճարտարապետության ներդրում նվագախմբի գործիքներով | B4N1

Անվտանգ և մասշտաբային AI-ի վրա հիմնված ծրագրային ճարտարապետության ներդրում նվագախմբի գործիքներով

6 months ago · b4n1 Read time: 4 min

Ներածություն

Արհեստական ինտելեկտի (AI) ինտեգրումը ծրագրային ապահովման ծրագրերին հեղափոխություն է արել խնդիրների լուծման, որոշումների կայացման և ավտոմատացման մոտեցումներում: Այնուամենայնիվ, քանի որ AI-ի վրա հիմնված հավելվածներն ավելի ու ավելի բարդ են դառնում, անվտանգ և մասշտաբային ճարտարապետության անհրաժեշտությունը դարձել է հրատապ մտահոգություն: Այս հոդվածում մենք կուսումնասիրենք AI-ի, ծրագրային ապահովման ճարտարագիտության և DevOps-ի խաչմերուկը՝ հատուկ շեշտադրումով DSPy-ի և LangChain-ի նման նվագախմբային գործիքների օգտագործման վրա՝ AI գործակալները DevOps խողովակաշարերում ինտեգրելու համար:

AI-ի վրա հիմնված ծրագրային ճարտարապետության մարտահրավերները

AI-ի վրա հիմնված ծրագրային հավելվածները եզակի մարտահրավերներ են ստեղծում ծրագրային ապահովման ինժեներների և DevOps թիմերի համար: Հիմնական մարտահրավերներից մի քանիսը ներառում են.

  • Scalability. AI մոդելները պահանջում են զգալի հաշվողական ռեսուրսներ, որոնք կարող են հանգեցնել մասշտաբայնության խնդիրների արտադրության միջավայրում:
  • Անվտանգություն. AI մոդելները կարող են խոցելի լինել հարձակումների նկատմամբ, ինչպիսիք են տվյալների թունավորումը և մոդելի ինվերսիոն հարձակումները:
  • Ինտեգրում. AI մոդելները պետք է ինտեգրվեն առկա ծրագրային համակարգերի հետ, ինչը կարող է բարդ խնդիր լինել:
  • Մոնիտորինգ և սպասարկում. AI մոդելները պահանջում են շարունակական մոնիտորինգ և սպասարկում` ապահովելու համար, որ դրանք մնան ճշգրիտ և հուսալի:

Նվագախմբի գործիքներ՝ DSPy և LangChain

Նվագախմբի գործիքները, ինչպիսիք են DSPy-ը և LangChain-ը, լուծում են այս մարտահրավերներին՝ հնարավորություն տալով AI գործակալների ինտեգրումը DevOps խողովակաշարերում: Այս գործիքներն ապահովում են AI մոդելներ կառուցելու, տեղակայելու և կառավարելու շրջանակ՝ ապահովելով AI-ի վրա հիմնված հավելվածների անվտանգ և մասշտաբային ճարտարապետություն:

DSPy

DSPy-ն բաց կոդով նվագախմբի գործիք է, որը կառուցված է Python-ի վրա: Այն ապահովում է պարզ և ինտուիտիվ API՝ AI մոդելներ կառուցելու, տեղակայելու և կառավարելու համար: DSPy-ն աջակցում է AI շրջանակների լայն շրջանակ, ներառյալ TensorFlow, PyTorch և scikit-learn:

LangChain

LangChain-ը բաց կոդով նվագախմբի ևս մեկ գործիք է, որն ապահովում է AI մոդելներ կառուցելու, տեղակայելու և կառավարելու շրջանակ: LangChain-ը կառուցված է Rust-ի վրա և ապահովում է բարձր արդյունավետության API՝ AI գործակալները DevOps խողովակաշարերում ինտեգրելու համար:

Ապահով և մասշտաբային AI-ի վրա հիմնված ծրագրային ճարտարապետության իրականացում DSPy-ով

Այս բաժնում մենք կուսումնասիրենք DSPy-ով ապահով և մասշտաբային AI-ի վրա հիմնված ծրագրային ապահովման ճարտարապետության ներդրման պարզ օրինակ:

Օրինակ՝ AI-ի պարզ մոդելի կառուցում DSPy-ով

Դիտարկենք DSPy-ի միջոցով մեքենայական ուսուցման մոդել կառուցելու պարզ օրինակ: Մենք կօգտագործենք scikit-learn գրադարանը՝ գծային ռեգրեսիայի մոդել կառուցելու համար:

«Պիթոն». ներմուծել dspy որպես dsp sklearn.linear_model-ից ներմուծում LinearRegression sklearn.datasets-ից ներմուծել load_diabetes

Բեռնել շաքարախտի տվյալների բազան

տվյալների հավաքածու = load_diabetes ()

Բաժանեք տվյալների բազան վերապատրաստման և փորձարկման խմբերի

X_train, X_test, y_train, y_test = dsp.split_dataset(dataset.data, dataset.target, test_size=0.2)

Կառուցեք գծային ռեգրեսիայի մոդել

մոդել = Գծային ռեգրեսիա ()

Վարժեցրեք մոդելը վերապատրաստման տվյալների վրա

model.fit (X_train, y_train)

Գնահատեք մոդելը թեստավորման տվյալների վրա

ճշգրտություն = model.score (X_test, y_test) տպել (f"Մոդելի ճշգրտություն. {ճշգրտություն:.2f}")


Այս կոդի բլոկը ցույց է տալիս, թե ինչպես կարելի է կառուցել մեքենայական ուսուցման պարզ մոդել՝ օգտագործելով DSPy: Մենք բեռնում ենք շաքարախտի տվյալների բազան, այն բաժանում վերապատրաստման և թեստավորման խմբերի, կառուցում ենք գծային ռեգրեսիայի մոդել, վերապատրաստում ենք այն վերապատրաստման տվյալների վրա և գնահատում դրա ճշգրտությունը թեստի տվյալների վրա:

## Իրականացնում ենք AI-ի վրա հիմնված ապահով և մասշտաբային ծրագրային ճարտարապետություն LangChain-ի հետ

Այս բաժնում մենք կուսումնասիրենք LangChain-ի հետ անվտանգ և մասշտաբային AI-ի վրա հիմնված ծրագրային ապահովման ճարտարապետության ներդրման պարզ օրինակ:

### Օրինակ՝ LangChain-ի հետ պարզ AI մոդելի կառուցում

Դիտարկենք LangChain-ի միջոցով մեքենայական ուսուցման մոդել կառուցելու պարզ օրինակ: Մենք կօգտագործենք TensorFlow գրադարանը նեյրոնային ցանցի մոդել կառուցելու համար:

`` ժանգ
օգտագործել langchain որպես lc;
օգտագործել tensorflow::prelude::*;

// Սահմանել նեյրոնային ցանցի պարզ մոդել
fn մոդել (մուտքագրում՝ &Tensor) -> Tensor {
    let output = input.matmul(&Tensor::new(1, 1));
    ելքը
}

// Ստեղծեք LangChain գործակալ
թող գործակալ = lc::Գործակալ::նոր (մոդել);

// Սահմանել տվյալների բազա
թող տվյալների հավաքածու = lc::Dataset::new(vec![
    lc::Օրինակ::new(vec![1.0, 2.0], vec![3.0]),
    lc::Օրինակ::new(vec![4.0, 5.0], vec![6.0]),
]);

// Վարժեցրեք մոդելը տվյալների բազայի վրա
agent.train (&dataset);

// Գնահատեք մոդելը տվյալների բազայի վրա
թող ճշգրտությունը = agent.evaluate(&dataset);
println!("Model accuracy: {}", accuracy);

Այս կոդի բլոկը ցույց է տալիս, թե ինչպես կարելի է կառուցել պարզ մեքենայական ուսուցման մոդել՝ օգտագործելով LangChain: Մենք սահմանում ենք պարզ նեյրոնային ցանցի մոդել, ստեղծում ենք LangChain գործակալ, սահմանում ենք տվյալների բազա, վարժեցնում մոդելը տվյալների բազայի վրա և գնահատում դրա ճշգրտությունը տվյալների բազայի վրա:

Լավագույն 5-10 Ամենաօգտագործվող հրամաններ/հատվածներ

Ահա 5-10 ամենաշատ օգտագործվող հրամանները/հատվածները DSPy-ի և LangChain-ի համար.

DSPy

  • dsp.split_dataset(տվյալներ, թիրախ, test_size=0.2). տվյալների բազան բաժանում է վերապատրաստման և փորձարկման խմբերի:
  • «dsp.build_model(model_name, model_params)»: Կառուցում է մեքենայական ուսուցման մոդել՝ օգտագործելով նշված մոդելի անվանումը և պարամետրերը:
  • `dsp.train_model(model, data)`` վերապատրաստում է մեքենայական ուսուցման մոդելը նշված տվյալների վրա:
  • «dsp.evaluate_model(model, data)»: Գնահատում է մեքենայական ուսուցման մոդելի աշխատանքը նշված տվյալների վրա:
  • `dsp.deploy_model(model, server_url)`` տեղակայում է մեքենայական ուսուցման մոդելը նշված սերվերի URL-ում:

LangChain

  • «lc::Agent::new(model)»: Ստեղծում է LangChain գործակալ՝ օգտագործելով նշված մոդելը:
  • lc::Dataset::new(examples): Ստեղծում է LangChain տվյալների հավաքածու՝ օգտագործելով նշված օրինակները:
  • `lc::train(գործակալ, տվյալների բազա)`` վերապատրաստում է LangChain գործակալին նշված տվյալների բազայի վրա:
  • «lc::evaluate(գործակալ, տվյալների բազա)»: Գնահատում է LangChain գործակալի աշխատանքը նշված տվյալների բազայում:
  • `lc::deploy(agent, server_url)`` տեղակայում է LangChain գործակալը նշված սերվերի URL-ում:

Վիզուալիզացիա

Ահա AI-ի վրա հիմնված ծրագրաշարի ճարտարապետության պարզ պատկերացում՝ օգտագործելով Chart.js.

`` Javascript const ctx = document.getElementById('myChart').getContext('2d'); const գծապատկեր = new Chart(ctx, { տեսակը՝ «բար», տվյալներ՝ { պիտակներ. տվյալների հավաքածուներ՝ [{ պիտակ՝ «DSPy», տվյալներ՝ [10, 5, 90], ֆոնի գույնը՝ «rgba(255, 99, 132, 0.2)», եզրագույն: 'rgba(255, 99, 132, 1)', սահմանի լայնությունը՝ 1 }, { պիտակ՝ «LangChain», տվյալներ՝ [8, 6, 92], ֆոնի գույնը՝ «rgba(54, 162, 235, 0.2)», եզրագույն: 'rgba(54, 162, 235, 1)', սահմանի լայնությունը՝ 1 }] }, տարբերակներ՝ { կշեռքներ: { y: { startAtZero: ճշմարիտ } } } });


Այս կոդի բլոկը ստեղծում է պարզ գծապատկեր՝ օգտագործելով Chart.js՝ DSPy-ի և LangChain-ի աշխատանքը պատկերացնելու համար:

## Եզրակացություն

Այս հոդվածում մենք ուսումնասիրեցինք AI-ի, ծրագրային ապահովման ճարտարագիտության և DevOps-ի խաչմերուկը՝ հատուկ շեշտադրելով DSPy-ի և LangChain-ի նման նվագախմբային գործիքների օգտագործման վրա՝ AI գործակալները DevOps խողովակաշարերում ինտեգրելու համար: Մենք ցույց տվեցինք, թե ինչպես կարելի է իրականացնել AI-ի վրա հիմնված ապահով և մասշտաբային ծրագրային ճարտարապետություն՝ օգտագործելով DSPy և LangChain, և տրամադրեցինք մեքենայական ուսուցման մոդել կառուցելու պարզ օրինակ՝ օգտագործելով յուրաքանչյուր գործիք: Մենք նաև տրամադրեցինք լավագույն 5-10 ամենաօգտագործվող հրամանները/հատվածները յուրաքանչյուր գործիքի համար և AI-ի վրա հիմնված ծրագրաշարի ճարտարապետության պարզ պատկերացում՝ օգտագործելով Chart.js:

Have Questions?

Let's Talk

Contact me on LinkedIn