හැඳින්වීම
කෘත්රිම බුද්ධිය (AI) මෘදුකාංග යෙදුම්වලට ඒකාබද්ධ කිරීම අප ගැටලු විසඳීමට, තීරණ ගැනීමට සහ ස්වයංක්රීයකරණයට ප්රවේශ වන ආකාරය විප්ලවීය වෙනසක් සිදු කර ඇත. කෙසේ වෙතත්, AI මත පදනම් වූ යෙදුම් වඩ වඩාත් සංකීර්ණ වන බැවින්, ආරක්ෂිත සහ පරිමාණය කළ හැකි ගෘහ නිර්මාණ ශිල්පයේ අවශ්යතාවය දැඩි අවධානයක් යොමු කර ඇත. මෙම ලිපියෙන්, අපි AI නියෝජිතයන් DevOps නල මාර්ගවලට අනුකලනය කිරීමට DSPy සහ LangChain වැනි වාද්ය වෘන්ද මෙවලම් භාවිතා කිරීම කෙරෙහි විශේෂ අවධානයක් යොමු කරමින් AI, මෘදුකාංග ඉංජිනේරු විද්යාව සහ DevOps ඡේදනය ගවේෂණය කරන්නෙමු.
AI මත ධාවනය වන මෘදුකාංග ගෘහ නිර්මාණ ශිල්පයේ අභියෝග
AI මත පදනම් වූ මෘදුකාංග යෙදුම් මෘදුකාංග ඉංජිනේරුවන්ට සහ DevOps කණ්ඩායම්වලට සුවිශේෂී අභියෝග එල්ල කරයි. ප්රධාන අභියෝග සමහරක් ඇතුළත් වේ:
- ** පරිමාණය**: AI මාදිලි සඳහා සැලකිය යුතු පරිගණක සම්පත් අවශ්ය වන අතර, නිෂ්පාදන පරිසරයන්හි පරිමාණය පිළිබඳ ගැටළු ඇති විය හැක.
- ආරක්ෂාව: AI මාදිලි දත්ත විෂ වීම සහ ආකෘති ප්රතිලෝම ප්රහාර වැනි ප්රහාරවලට ගොදුරු විය හැක.
- ඒකාබද්ධ කිරීම: AI ආකෘති පවතින මෘදුකාංග පද්ධති සමඟ ඒකාබද්ධ කළ යුතු අතර එය සංකීර්ණ කාර්යයක් විය හැකිය.
- අධීක්ෂණය සහ නඩත්තුව: AI මාදිලි නිරවද්ය සහ විශ්වාසදායක බව සහතික කිරීම සඳහා අඛණ්ඩ අධීක්ෂණය සහ නඩත්තුව අවශ්ය වේ.
වාද්ය වෘන්දය මෙවලම්: DSPy සහ LangChain
DSPy සහ LangChain වැනි වාද්ය වෘන්ද මෙවලම් DevOps නල මාර්ගවලට AI නියෝජිතයන් ඒකාබද්ධ කිරීම සක්රීය කිරීම මගින් මෙම අභියෝගවලට විසඳුමක් සපයයි. මෙම මෙවලම් AI ආකෘති ගොඩනැගීම, යෙදවීම සහ කළමනාකරණය කිරීම සඳහා රාමුවක් සපයයි, AI-ධාවන යෙදුම් සඳහා ආරක්ෂිත සහ පරිමාණය කළ හැකි ගෘහ නිර්මාණ ශිල්පය සහතික කරයි.
DSPy
DSPy යනු Python මත ගොඩනගා ඇති විවෘත මූලාශ්ර වාද්ය වෘන්ද මෙවලමකි. එය AI ආකෘති ගොඩනැගීම, යෙදවීම සහ කළමනාකරණය කිරීම සඳහා සරල සහ අවබෝධාත්මක API සපයයි. DSPy TensorFlow, PyTorch, සහ scikit-Learn ඇතුළු පුළුල් පරාසයක AI රාමු සඳහා සහය දක්වයි.
LangChain
LangChain යනු AI ආකෘති ගොඩනැගීම, යෙදවීම සහ කළමනාකරණය කිරීම සඳහා රාමුවක් සපයන තවත් විවෘත මූලාශ්ර වාද්ය වෘන්ද මෙවලමකි. LangChain රස්ට් මත ගොඩනගා ඇති අතර AI නියෝජිතයන් DevOps නල මාර්ගවලට ඒකාබද්ධ කිරීම සඳහා ඉහළ කාර්යසාධනයක් සහිත API සපයයි.
DSPy සමඟ ආරක්ෂිත සහ පරිමාණය කළ හැකි AI-ධාවන මෘදුකාංග ගෘහ නිර්මාණ ශිල්පය ක්රියාත්මක කිරීම
මෙම කොටසේදී, අපි DSPy සමඟ ආරක්ෂිත සහ පරිමාණය කළ හැකි AI-ධාවන මෘදුකාංග ගෘහ නිර්මාණ ශිල්පය ක්රියාත්මක කිරීමේ සරල උදාහරණයක් ගවේෂණය කරන්නෙමු.
උදාහරණය: DSPy සමඟ සරල AI ආකෘතියක් ගොඩනැගීම
DSPy භාවිතයෙන් යන්ත්ර ඉගෙනුම් ආකෘතියක් ගොඩනැගීමේ සරල උදාහරණයක් සලකා බලමු. රේඛීය ප්රතිගාමී ආකෘතියක් ගොඩනැගීමට අපි scikit-Learn library භාවිතා කරමු.
dsp ලෙස dspy ආනයනය කරන්න
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 භාවිතයෙන් සරල යන්ත්ර ඉගෙනුම් ආකෘතියක් ගොඩනඟන්නේ කෙසේද යන්න පෙන්නුම් කරයි. අපි දියවැඩියා දත්ත කට්ටලය පූරණය කර, එය පුහුණු සහ පරීක්ෂණ කට්ටලවලට බෙදා, රේඛීය ප්රතිගාමී ආකෘතියක් ගොඩනඟමු, පුහුණු දත්ත මත එය පුහුණු කරන්නෙමු, සහ පරීක්ෂණ දත්ත මත එහි නිරවද්යතාවය තක්සේරු කරන්නෙමු.
LangChain සමඟ ආරක්ෂිත සහ පරිමාණය කළ හැකි AI-ධාවන මෘදුකාංග ගෘහ නිර්මාණ ශිල්පය ක්රියාත්මක කිරීම
මෙම කොටසේදී, අපි LangChain සමඟ ආරක්ෂිත සහ පරිමාණය කළ හැකි AI-ධාවන මෘදුකාංග ගෘහ නිර්මාණ ශිල්පය ක්රියාත්මක කිරීමේ සරල උදාහරණයක් ගවේෂණය කරන්නෙමු.
උදාහරණය: LangChain සමඟ සරල AI ආකෘතියක් ගොඩනැගීම
LangChain භාවිතයෙන් යන්ත්ර ඉගෙනුම් ආකෘතියක් ගොඩනැගීමේ සරල උදාහරණයක් සලකා බලමු. ස්නායු ජාල ආකෘතියක් තැනීමට අපි TensorFlow පුස්තකාලය භාවිතා කරන්නෙමු.
'''' මලකඩ lc ලෙස langchain භාවිතා කරන්න; tensorflow භාවිතා කරන්න::prelude::*;
// සරල ස්නායු ජාල ආකෘතියක් නිර්වචනය කරන්න fn ආකෘතිය(ආදාන: &ටෙන්සර්) -> ටෙන්සර් { ප්රතිදානයට ඉඩ දෙන්න = input.matmul(&Tensor::new(1, 1)); ප්රතිදානය }
// LangChain නියෝජිතයෙකු සාදන්න ඉඩ දෙන්න නියෝජිත = lc:: නියෝජිත:: නව (ආකෘතිය);
// දත්ත කට්ටලයක් නිර්වචනය කරන්න දත්ත කට්ටලයට ඉඩ දෙන්න = lc:: Dataset::new(vec![ lc::උදාහරණය::නව(vec![1.0, 2.0], vec![3.0]), lc::උදාහරණය::නව(vec![4.0, 5.0], vec![6.0]), ]);
// දත්ත කට්ටලයේ ආකෘතිය පුහුණු කරන්න agent.train(&dataset);
// දත්ත කට්ටලයේ ආකෘතිය තක්සේරු කරන්න නිරවද්යතාවයට ඉඩ දෙන්න = agent.evaluate(&dataset); println!("ආදර්ශ නිරවද්යතාවය: {}", නිරවද්යතාවය);
මෙම කේත කොටස LangChain භාවිතයෙන් සරල යන්ත්ර ඉගෙනුම් ආකෘතියක් ගොඩනඟන්නේ කෙසේද යන්න පෙන්නුම් කරයි. අපි සරල ස්නායුක ජාල ආකෘතියක් නිර්වචනය කරන්නෙමු, LangChain නියෝජිතයෙකු සාදන්නෙමු, දත්ත කට්ටලයක් නිර්වචනය කරන්නෙමු, දත්ත කට්ටලයේ ආකෘතිය පුහුණු කරන්නෙමු, සහ දත්ත කට්ටලය මත එහි නිරවද්යතාවය තක්සේරු කරන්නෙමු.
## Top 5-10 වැඩිපුරම භාවිතා කරන ලද විධාන/Snippets
DSPy සහ LangChain සඳහා වැඩිපුරම භාවිතා කරන ලද විධාන/snippets 5-10 මෙන්න:
### DSPy
* `dsp.split_dataset(දත්ත, ඉලක්කය, test_size=0.2)`: දත්ත කට්ටලය පුහුණු සහ පරීක්ෂණ කට්ටලවලට බෙදයි.
* `dsp.build_model(model_name, model_params)`: නිශ්චිත මාදිලියේ නම සහ පරාමිති භාවිතයෙන් යන්ත්ර ඉගෙනුම් ආකෘතියක් ගොඩනඟයි.
* `dsp.train_model(ආකෘතිය, දත්ත)`: නිශ්චිත දත්ත මත යන්ත්ර ඉගෙනුම් ආකෘතිය පුහුණු කරයි.
* `dsp.evaluate_model(ආකෘතිය, දත්ත)`: නිශ්චිත දත්ත මත යන්ත්ර ඉගෙනුම් ආකෘතියේ ක්රියාකාරිත්වය තක්සේරු කරයි.
* `dsp.deploy_model(model, server_url)`: යන්ත්ර ඉගෙනීමේ ආකෘතිය නිශ්චිත සේවාදායක URL වෙත යොදවයි.
### LangChain
* `lc::Agent::new(model)`: නිශ්චිත ආකෘතිය භාවිතා කරමින් LangChain නියෝජිතයෙකු නිර්මාණය කරයි.
* `lc::Dataset::new(උදාහරණ)`: නිශ්චිත උදාහරණ භාවිතයෙන් LangChain දත්ත කට්ටලයක් නිර්මාණය කරයි.
* `lc::train(agent, dataset)`: නිශ්චිත දත්ත කට්ටලය මත LangChain නියෝජිතයා පුහුණු කරයි.
* `lc:: evaluate(agent, dataset)`: නිශ්චිත දත්ත කට්ටලය මත LangChain නියෝජිතයාගේ කාර්ය සාධනය ඇගයීම.
* `lc::deploy(agent, server_url)`: නිශ්චිත සේවාදායක URL වෙත LangChain නියෝජිතයා යොදවයි.
## දෘශ්යකරණය
මෙන්න Chart.js භාවිතයෙන් AI-ධාවනය වන මෘදුකාංග ගෘහ නිර්මාණ ශිල්පයේ සරල දෘශ්යකරණයකි:
```javascript
const ctx = document.getElementById('myChart').getContext('2d');
const 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: ඇත්ත
}
}
}
});
මෙම කේත අවහිර කිරීම DSPy සහ LangChain හි ක්රියාකාරිත්වය දෘශ්යමාන කිරීමට Chart.js භාවිතයෙන් සරල තීරු ප්රස්ථාරයක් නිර්මාණය කරයි.
නිගමනය
මෙම ලිපියෙන්, අපි AI නියෝජිතයන් DevOps නල මාර්ගවලට ඒකාබද්ධ කිරීම සඳහා DSPy සහ LangChain වැනි වාද්ය වෘන්ද මෙවලම් භාවිතා කිරීම කෙරෙහි විශේෂ අවධානයක් යොමු කරමින් AI, මෘදුකාංග ඉංජිනේරු විද්යාව සහ DevOps ඡේදනය ගවේෂණය කළෙමු. DSPy සහ LangChain භාවිතා කරමින් ආරක්ෂිත සහ පරිමාණය කළ හැකි AI-ධාවන මෘදුකාංග ගෘහ නිර්මාණ ශිල්පය ක්රියාත්මක කරන ආකාරය අපි නිරූපණය කළ අතර, එක් එක් මෙවලම භාවිතයෙන් යන්ත්ර ඉගෙනුම් ආකෘතියක් තැනීමේ සරල උදාහරණයක් ලබා දුන්නෙමු. අපි එක් එක් මෙවලම සඳහා ඉහළම 5-10 විධාන/ස්නිපෙට් සහ Chart.js භාවිතයෙන් AI-ධාවන මෘදුකාංග ගෘහ නිර්මාණ ශිල්පයේ සරල දෘශ්යකරණයක් ද ලබා දුන්නෙමු.