Utangulizi
Maendeleo ya haraka katika Akili Bandia (AI) na uhandisi wa programu yamesababisha uundaji wa mifumo changamano ya programu inayounganisha mawakala wa AI na usanifu wa kawaida wa mtiririko wa kazi. Mifumo hii ina uwezo wa kuleta mageuzi jinsi tunavyokaribia uimbaji na uimbaji wa otomatiki wa DevOps. Walakini, kubuni mifumo ya programu inayoendeshwa na AI inayoweza kuwa mbaya na yenye maadili inahitaji uelewa wa kina wa maendeleo ya hivi karibuni katika AI, uhandisi wa programu, na usanifu.
Katika makala haya, tutachunguza kanuni za muundo na mbinu bora za kuunda mifumo ya programu ya msimu, inayoweza kusambazwa na ya kimaadili ambayo inaunganisha mawakala wa AI na usanifu wa kawaida wa mtiririko wa kazi. Tutazingatia kuchanganya maendeleo ya hivi punde katika AI (Miundo Kubwa ya Lugha (LLMs), Retrieval-Augmented Generation (RAG)), uhandisi wa programu (Python, Rust, Go), na usanifu ili kuunda mifumo thabiti na inayoweza kudumishwa.
Usanifu wa Mtiririko wa Kazi wa Kawaida
Usanifu wa kawaida wa mtiririko wa kazi ni muundo wa muundo unaogawanya mifumo changamano kuwa moduli ndogo, huru ambazo zinaweza kudumishwa, kusasishwa na kuongezwa kwa urahisi. Kila moduli inawajibika kwa kazi maalum au kazi, na huwasiliana kupitia miingiliano iliyofafanuliwa vizuri.
Hapa kuna mfano rahisi wa usanifu wa kawaida wa mtiririko wa kazi huko Python:
# mtiririko wa kazi.py
Mtiririko wa kazi wa darasa:
def __init__(binafsi):
moduli binafsi = []
def add_module(binafsi, moduli):
moduli.jiambatanishe(moduli)
def kukimbia (binafsi):
kwa moduli katika self.modules:
module.run()
# moduli1.py
Moduli ya darasa la 1:
def kukimbia (binafsi):
print("Moduli 1 inaendelea")
# moduli2.py
Moduli ya darasa la 2:
def kukimbia (binafsi):
print ("Moduli ya 2 inaendelea")
# kuu.py
kama __name__ == "__main__":
mtiririko wa kazi = Mtiririko wa kazi ()
mtiririko wa kazi.add_module(Moduli1())
mtiririko wa kazi.add_module(Moduli2())
workflow.run()
Katika mfano huu, tuna darasa la Mtiririko wa kazi ambalo linadhibiti orodha ya moduli. Kila sehemu inawajibika kwa kazi mahususi, na zinaongezwa kwenye mtiririko wa kazi kwa kutumia mbinu ya add_module. Mbinu ya run inatumika kutekeleza kila moduli katika mtiririko wa kazi.
Mawakala wa AI
Mawakala wa AI ni vipengee vya programu vinavyotumia kanuni za kujifunza kwa mashine kufanya maamuzi na kuchukua hatua katika mfumo. Zinaweza kutumika kufanya kazi kiotomatiki, kuboresha matumizi ya mtumiaji na kuboresha utendaji wa mfumo.
Kuna aina kadhaa za mawakala wa AI, pamoja na:
- Mawakala kulingana na kanuni: Mawakala hawa hutumia sheria zilizoainishwa kabla kufanya maamuzi.
- Ajenti za mashine za kujifunza: Mawakala hawa hutumia kanuni za kujifunza kwa mashine kujifunza kutoka kwa data na kufanya maamuzi.
- Maajenti wa mseto: Mawakala hawa huchanganya mbinu za kujifunza kulingana na sheria na mashine ili kufanya maamuzi.
Hapa kuna mfano wa wakala rahisi wa AI huko Python kwa kutumia algorithm ya kujifunza mashine:
# wakala.py
kutoka kwa sklearn.ensemble leta RandomForestClassifier
kutoka kwa sklearn.model_selection kuleta train_test_split
kutoka kwa sklearn.datasets leta load_iris
Wakala wa darasa:
def __init__(binafsi):
self.model = RandomForestClassifier()
def treni(binafsi, X, y):
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
self.model.fit(X_train, y_treni)
def tabiri(binafsi, X):
rudisha self.model.predict(X)
# kuu.py
kama __name__ == "__main__":
iris = load_iris()
X = iris.data
y = iris.lengwa
wakala = Wakala ()
agent.treni(X, y)
ubashiri = wakala.tabiri(X)
chapa (utabiri)
Katika mfano huu, tuna wakala rahisi wa AI ambaye hutumia kiainishi cha msitu nasibu kufanya utabiri. Wakala amefunzwa kwenye hifadhidata ya iris na hufanya utabiri kwenye mkusanyiko sawa wa data.
Kuchanganya Mawakala wa AI na Usanifu wa Mtiririko wa Kawaida
Kuchanganya mawakala wa AI na usanifu wa kawaida wa mtiririko wa kazi huturuhusu kuunda mifumo changamano inayounganisha maamuzi yanayoendeshwa na AI na usanifu wa kawaida, unaoweza kubadilika.
Hapa kuna mfano wa mfumo unaochanganya mawakala wa AI na usanifu wa kawaida wa mtiririko wa kazi:
# mtiririko wa kazi.py
Mtiririko wa kazi wa darasa:
def __init__(binafsi):
moduli binafsi = []
wakala binafsi = Hakuna
def add_module(binafsi, moduli):
moduli.jiambatanishe(moduli)
def add_agent(binafsi, wakala):
wakala binafsi = wakala
def kukimbia (binafsi):
kwa moduli katika self.modules:
module.run()
kama wakala binafsi:
wakala.bashiri.()
# moduli1.py
Moduli ya darasa la 1:
def kukimbia (binafsi):
print("Moduli 1 inaendelea")
# moduli2.py
Moduli ya darasa la 2:
def kukimbia (binafsi):
print ("Moduli ya 2 inaendelea")
# wakala.py
kutoka kwa sklearn.ensemble leta RandomForestClassifier
kutoka kwa sklearn.model_selection kuleta train_test_split
kutoka kwa sklearn.datasets leta load_iris
Wakala wa darasa:
def __init__(binafsi):
self.model = RandomForestClassifier()
def treni(binafsi, X, y):
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
self.model.fit(X_train, y_treni)
def tabiri(binafsi, X):
rudisha self.model.predict(X)
# kuu.py
kama __name__ == "__main__":
mtiririko wa kazi = Mtiririko wa kazi ()
mtiririko wa kazi.add_module(Moduli1())
mtiririko wa kazi.add_module(Moduli2())
wakala = Wakala ()
agent.treni(X, y)
mtiririko wa kazi.ongeza_wakala(wakala)
workflow.run()
Katika mfano huu, tuna mfumo unaochanganya mawakala wa AI na usanifu wa kawaida wa mtiririko wa kazi. Mfumo una moduli mbili na wakala wa AI ambaye hutumia kiainishi cha msitu nasibu kufanya ubashiri. Wakala huongezwa kwenye mtiririko wa kazi kwa kutumia mbinu ya add_agent, na hufanya ubashiri baada ya moduli kufanya kazi.
Maagizo/Vijisehemu vya Juu 5-10 Vinavyotumika Zaidi
Hapa kuna baadhi ya amri na vijisehemu vinavyotumika sana kwa ajili ya kubuni mifumo ya programu hatarishi na yenye maadili inayoendeshwa na AI yenye usanifu wa kawaida wa mtiririko wa kazi na mawakala wa AI:
- Python:
ingiza panda kama pd(kuagiza maktaba ya pandas) - Python:
pd.read_csv('data.csv')(kusoma faili ya CSV kwenye mfumo wa data wa pandas) - Python:
agent.train(X, y)(kutoa mafunzo kwa wakala wa AI kwenye mkusanyiko wa data) - Python:
wakala.predict(X)(kufanya ubashiri kwa kutumia wakala wa AI) - Kutu:
let mut agent = Agent::new()(inaunda wakala mpya wa AI katika Rust) - Kutu:
agent.train(X, y)(kutoa mafunzo kwa wakala wa AI kwenye mkusanyiko wa data katika Rust) - Nenda:
wakala := NewAgent()(kuunda wakala mpya wa AI katika Go) - Nenda:
agent.Train(X, y)(kutoa mafunzo kwa wakala wa AI kwenye mkusanyiko wa data katika Go) - Chati.js:
const chart = new Chati(ctx, { type: 'bar', data: { labels: ['Lebo 1', 'Lebo 2'], seti za data: [{ lebo: 'Dataset 1', data: [10, 20] }] } });(kuunda chati ya .j) kwa kutumia chati ya mwambaa. - Chati.js:
chart.data.datasets[0].data.push(30)(kuongeza sehemu mpya ya data kwenye chati kwa kutumia Chart.js)
##Taswira
Huu hapa ni mfano wa chati ya miraba inayotumia Chart.js:
{
"type": "bar",
"data": {
"labels": ["Lebo ya 1", "Lebo ya 2"],
"seti za data": [
{
"label": "Seti ya data 1",
"data": [10, 20]
}
]
}
}
Chati hii ina lebo mbili na seti moja ya data yenye pointi mbili za data. Chati inaweza kubinafsishwa kwa kutumia chaguo na mipangilio mbalimbali.
##Hitimisho
Kubuni mifumo ya programu inayoendeshwa na AI inayoweza kupanuka na yenye maadili yenye usanifu wa kawaida wa mtiririko wa kazi na mawakala wa AI inahitaji uelewa wa kina wa maendeleo ya hivi punde katika AI, uhandisi wa programu, na usanifu. Kwa kuchanganya mawakala wa AI na usanifu wa kawaida wa mtiririko wa kazi, tunaweza kuunda mifumo changamano ambayo inaunganisha maamuzi yanayoendeshwa na AI na usanifu wa kawaida na hatari.
Katika makala haya, tumechunguza kanuni za muundo na mbinu bora za kuunda mifumo ya programu ya moduli, hatarishi, na ya kimaadili ambayo inaunganisha mawakala wa AI na usanifu wa kawaida wa mtiririko wa kazi. Pia tumetoa mifano ya mawakala rahisi wa AI na usanifu wa kawaida wa mtiririko wa kazi katika Python, Rust, na Go, pamoja na mfano wa taswira kwa kutumia Chart.js.
Kwa kufuata miongozo na mbinu bora zilizoainishwa katika makala haya, wasanidi programu wanaweza kuunda mifumo thabiti na inayoweza kudumishwa ya programu inayoendeshwa na AI ambayo inakidhi mahitaji ya programu na viwanda vya kisasa.