Вовед
Интеграцијата на вештачката интелигенција (ВИ) во софтверските апликации го револуционизираше начинот на кој пристапуваме кон решавање проблеми, донесување одлуки и автоматизација. Сепак, како што апликациите управувани од вештачка интелигенција стануваат сè покомплексни, потребата за безбедна и скалабилна архитектура стана итна грижа. Во оваа статија, ќе го истражиме пресекот на вештачката интелигенција, софтверското инженерство и DevOps, со специфичен акцент на користење на алатки за оркестрација како DSPy и LangChain за интегрирање на агенти за вештачка интелигенција во нафтоводите на DevOps.
Предизвиците на софтверската архитектура управувана од вештачка интелигенција
Софтверските апликации управувани од вештачка интелигенција претставуваат уникатни предизвици за софтверските инженери и тимовите на DevOps. Некои од клучните предизвици вклучуваат:
- Приспособливост: моделите со вештачка интелигенција бараат значителни пресметковни ресурси, што може да доведе до проблеми со приспособливоста во производните средини.
- Безбедност: моделите со вештачка интелигенција можат да бидат ранливи на напади, како што се труење со податоци и напади со инверзија на модели.
- Интеграција: моделите со вештачка интелигенција треба да се интегрираат со постоечките софтверски системи, што може да биде сложена задача.
- Мониторинг и одржување: моделите со вештачка интелигенција бараат континуирано следење и одржување за да се осигури дека ќе останат точни и доверливи.
Алатки за оркестрација: DSPy и LangChain
Алатките за оркестрација како DSPy и LangChain обезбедуваат решение за овие предизвици со овозможување на интеграција на агенти за вештачка интелигенција во нафтоводите на DevOps. Овие алатки обезбедуваат рамка за градење, распоредување и управување со модели со вештачка интелигенција, обезбедувајќи сигурна и скалабилна архитектура за апликации управувани од вештачка интелигенција.
DSPy
DSPy е алатка за оркестрација со отворен код изградена на врвот на Python. Обезбедува едноставен и интуитивен API за градење, распоредување и управување со модели со вештачка интелигенција. DSPy поддржува широк опсег на рамки за вештачка интелигенција, вклучувајќи ги TensorFlow, PyTorch и scikit-learn.
ЛангСинџир
LangChain е уште една алатка за оркестрација со отворен код која обезбедува рамка за градење, распоредување и управување со модели на вештачка интелигенција. LangChain е изграден на врвот на Rust и обезбедува API со високи перформанси за интегрирање на агенти за вештачка интелигенција во нафтоводите на DevOps.
Имплементирање на безбедна и скалабилна архитектура на софтвер управувана од вештачка интелигенција со DSPy
Во овој дел, ќе истражиме едноставен пример за имплементација на безбедна и скалабилна софтверска архитектура управувана од вештачка интелигенција со DSPy.
Пример: Изградба на едноставен модел со вештачка интелигенција со DSPy
Ајде да разгледаме едноставен пример за изградба на модел за машинско учење користејќи DSPy. Ќе ја користиме библиотеката scikit-learn за да изградиме модел на линеарна регресија.
увезете dspy како dsp
од sklearn.linear_model увоз Линеарнарегресија
од sklearn.datasets увезуваат load_diabetes
# Вчитајте ја базата на податоци за дијабетес
база на податоци = оптоварување_дијабетес()
# Поделете ја базата на податоци на комплети за обука и тестирање
X_train, X_test, y_train, y_test = dsp.split_dataset(dataset.data, database.target, test_size=0.2)
# Изградете модел на линеарна регресија
модел = Линеарна регресија()
# Обучете го моделот на податоците за обуката
model.fit (X_train, y_train)
# Оценете го моделот на податоците од тестирањето
точност = model.score (Х_тест, y_тест)
печатење (f"Точност на моделот: {точност:.2f}")
Овој блок на кодови покажува како да се изгради едноставен модел за машинско учење користејќи DSPy. Ја вчитуваме базата на податоци за дијабетес, ја делиме на комплети за обука и тестирање, градиме модел на линеарна регресија, го обучуваме за податоците за обука и ја проценуваме неговата точност на податоците од тестирањето.
Имплементирање безбедна и скалабилна софтверска архитектура управувана од вештачка интелигенција со LangChain
Во овој дел, ќе истражиме едноставен пример за имплементација на безбедна и скалабилна софтверска архитектура управувана од вештачка интелигенција со LangChain.
Пример: Изградба на едноставен модел со вештачка интелигенција со LangChain
Ајде да разгледаме едноставен пример за изградба на модел за машинско учење користејќи LangChain. Ќе ја користиме библиотеката TensorFlow за да изградиме модел на невронска мрежа.
користете langchain како lc;
користи tensorflow::прелудиум::*;
// Дефинирајте едноставен модел на невронска мрежа
fn модел (влез: &Тензор) -> Тензор {
let output = input.matmul(&Tensor::new(1, 1));
излез
}
// Креирај агент LangChain
нека агент = lc:: Агент:: нов (модел);
// Дефинирајте база на податоци
нека база на податоци = lc::Збирка на податоци::new(vec![
lc::Пример::new(vec![1.0, 2.0], vec![3.0]),
lc::Пример::new(vec![4.0, 5.0], vec![6.0]),
]);
// Обучете го моделот на базата на податоци
агент.воз (&збир на податоци);
// Оценете го моделот на базата на податоци
нека точност = agent.evaluate(&dataset);
println!("Прецизност на моделот: {}", точност);
Овој коден блок покажува како да се изгради едноставен модел за машинско учење користејќи LangChain. Ние дефинираме едноставен модел на невронска мрежа, создаваме агент LangChain, дефинираме база на податоци, го обучуваме моделот на базата на податоци и ја оценуваме неговата точност на базата на податоци.
Топ 5-10 најкористени команди/парчиња
Еве ги првите 5-10 најкористени команди/парчиња за DSPy и LangChain:
DSPy
dsp.split_dataset(податоци, цел, тест_големина=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 на серверот.
ЛангСинџир
lc::Agent::new(model): Создава агент LangChain користејќи го наведениот модел.lc::Dataset::new(примери): Создава сет на LangChain користејќи ги наведените примери.lc::train(агент, база на податоци): Го обучува агентот LangChain на наведената база на податоци.lc::evaluate(агент, база на податоци): Ја проценува работата на агентот LangChain на одредената база на податоци.lc::deploy(agent, server_url): го распоредува агентот LangChain на наведената URL-адреса на серверот.
Визуелизација
Еве едноставна визуелизација на софтверската архитектура управувана од вештачка интелигенција користејќи Chart.js:
const ctx = document.getElementById('myChart').getContext('2d');
const графикон = нов графикон(ctx, {
тип: „бар“,
податоци: {
етикети: ['Време за обука', 'Време за заклучување', 'Точност на моделот'],
збирки на податоци: [{
ознака: „DSPy“,
податоци: [10, 5, 90],
Боја на позадина: 'rgba(255, 99, 132, 0,2)',
BorderColor: 'rgba(255, 99, 132, 1)',
Ширина на граница: 1
}, {
етикета: „LangChain“,
податоци: [8, 6, 92],
Боја на позадина: 'rgba(54, 162, 235, 0,2)',
BorderColor: 'rgba(54, 162, 235, 1)',
Ширина на граница: 1
}]
},
опции: {
вага: {
y: {
startAtZero: точно
}
}
}
});
Овој коден блок создава едноставна лента со помош на Chart.js за да ги визуелизира перформансите на DSPy и LangChain.
Заклучок
Во оваа статија, го истраживме пресекот на вештачката интелигенција, софтверското инженерство и DevOps, со специфичен акцент на користење на алатки за оркестрација како DSPy и LangChain за интегрирање на агенти за вештачка интелигенција во нафтоводите на DevOps. Демонстриравме како да имплементираме безбедна и скалабилна софтверска архитектура управувана од вештачка интелигенција користејќи DSPy и LangChain и дадовме едноставен пример за градење модел за машинско учење со користење на секоја алатка. Исто така, обезбедивме топ 5-10 најкористени команди/парчиња за секоја алатка и едноставна визуелизација на софтверската архитектура управувана од вештачка интелигенција користејќи Chart.js.