Ներածություն
Արհեստական ինտելեկտի (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-ի վրա հիմնված ծրագրային ապահովման ճարտարապետության ներդրման պարզ օրինակ:
### Օրինակ՝ կառուցել AI պարզ մոդել LangChain-ով
Դիտարկենք 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: