Оркестрирање ЛЛМ цевовода великих размера са ДСПи-ом и ЛангЦхаин-ом за побољшане ДевОпс
Увод
Појава великих језичких модела (ЛЛМ) је направила револуцију у области обраде природног језика (НЛП) и вештачке интелигенције (АИ). Међутим, како се повећавају сложеност и обим система заснованих на ЛЛМ, тако расте и потреба за робусним и ефикасним алатима за оркестрацију и аутоматизацију. У овом чланку ћемо ући у свет ДСПи и ЛангЦхаин-а, два моћна оквира који омогућавају изградњу отпорних и скалабилних софтверских система у доба вештачке интелигенције.
Изазов великих ЛЛМ цевовода
ЛЛМ цевоводи великих размера укључују више компоненти, укључујући претходну обраду података, обуку модела и закључивање. Ови цевоводи могу бити сложени, са много зависности и интеракција између различитих компоненти. Како се обим ових цевовода повећава, расте и ризик од грешака, кашњења и уских грла у ресурсима.
Унесите ДСПи и ЛангЦхаин
ДСПи и ЛангЦхаин су два оквира који имају за циљ да поједноставе оркестрацију и аутоматизацију великих ЛЛМ цевовода. ДСПи је оквир заснован на Питхон-у који пружа једноставан и ефикасан начин за изградњу и управљање сложеним цевоводима података, док је ЛангЦхаин оквир који омогућава изградњу скалабилних и отпорних АИ система.
ДСПи: оквир заснован на Питхон-у за цевоводе података
ДСПи је оквир заснован на Питхон-у који пружа једноставан и ефикасан начин за изградњу и управљање сложеним цевоводима података. Уз ДСПи, програмери могу да креирају цевоводе података који су скалабилни, отпорни и лаки за одржавање.
Ево примера једноставног цевовода података направљеног помоћу ДСПи:
увоз дспи као дсп
извор_података = дсп.Извор(
наме="ми_дата_соурце",
типе="цсв",
патх="/патх/то/дата.цсв"
)
# Дефинишите процесор података
дата_процессор = дсп.Процессор(
наме="ми_дата_процессор",
типе="панде",
фунц=ламбда к: к.дропна()
)
# Дефинишите пријемник података
дата_синк = дсп.Синк(
наме="ми_дата_синк",
типе="цсв",
патх="/патх/то/оутпут.цсв"
)
# Креирајте цевовод података
пипелине = дсп.Пипелине(
наме="мој_цевовод",
извори=[извор_података],
процесори=[процесор_података],
синкс=[дата_синк]
)
# Покрените цевовод
пипелине.рун()
У овом примеру дефинишемо извор података, процесор података и пријемник података, а затим креирамо цевовод података који повезује ове компоненте. Цевовод се затим покреће помоћу методе рун().
ЛангЦхаин: Оквир за скалабилне и отпорне АИ системе
ЛангЦхаин је оквир који омогућава изградњу скалабилних и отпорних АИ система. Уз ЛангЦхаин, програмери могу да креирају АИ системе који су лаки за одржавање, скалабилни и отпорни на кварове.
Ево примера једноставног АИ система изграђеног са ЛангЦхаин-ом:
импорт лангцхаин као лц
# Дефинишите модел
модел = лц.Модел(
наме="мој_модел",
типе="трансформатор",
патх="/патх/то/модел"
)
# Дефинишите промпт
промпт = лц.Промпт(
наме="мој_промпт",
тект="Ово је узорак упита"
)
# Направите АИ систем
аи_систем = лц.АИСистем(
наме="ми_аи_систем",
модел=модел,
промпт=промпт
)
# Покрените АИ систем
аи_систем.рун()
У овом примеру дефинишемо модел, промпт, а затим креирамо АИ систем који повезује ове компоненте. АИ систем се затим покреће помоћу методе рун().
Оркестрирање ЛЛМ цевовода великих размера са ДСПи и ЛангЦхаин
Да бисмо оркестрирали велике ЛЛМ цевоводе са ДСПи и ЛангЦхаин-ом, можемо користити следећи приступ:
- Дефинишите цевовод података користећи ДСПи који повезује више извора података, процесора и пријемника.
- Дефинишите АИ систем користећи ЛангЦхаин који повезује више модела, упита и излаза.
- Користите ДСПи за управљање цевоводом података и ЛангЦхаин за управљање АИ системом.
- Користите планер као што је Апацхе Аирфлов или Кубернетес да закажете извршење цевовода података и АИ система.
Ево примера једноставне скрипте за оркестрацију која користи ДСПи и ЛангЦхаин:
увоз дспи као дсп
импорт лангцхаин као лц
импорт апацхе_аирфлов као аф
# Дефинишите цевовод података
дата_пипелине = дсп.Пипелине(
наме="ми_дата_пипелине",
извори=[дсп.Соурце(наме="ми_дата_соурце", типе="цсв", патх="/патх/то/дата.цсв")],
процесори=[дсп.Процессор(наме="ми_дата_процессор", типе="пандас", фунц=ламбда к: к.дропна())],
синкс=[дсп.Синк(наме="ми_дата_синк", типе="цсв", патх="/патх/то/оутпут.цсв")]
)
# Дефинишите АИ систем
аи_систем = лц.АИСистем(
наме="ми_аи_систем",
модел=лц.Модел(наме="ми_модел", типе="трансформер", патх="/патх/то/модел"),
промпт=лц.Промпт(наме="ми_промпт", тект="Ово је пример упита")
)
# Планирајте извршење цевовода података и АИ система
аф.сцхедуле_таск(
таск_ид="мој_задатак",
даг_ид="мој_дан",
пипелине=дата_пипелине,
систем=аи_систем
)
У овом примеру дефинишемо цевовод података и АИ систем користећи ДСПи и ЛангЦхаин, а затим заказујемо извршење ових компоненти користећи Апацхе Аирфлов.
Топ 5-10 најчешће коришћених команди/исјечака
Ево 5-10 најчешће коришћених команди/исјечака за ДСПи и ЛангЦхаин:
дсп.Пипелине(наме="ми_пипелине", соурцес=[извор], процесори=[процесор], синкс=[синк])лц.Модел(наме="ми_модел", типе="трансформер", патх="/патх/то/модел")лц.Промпт(наме="ми_промпт", тект="Ово је узорак упита")дсп.Соурце(наме="ми_дата_соурце", типе="цсв", патх="/патх/то/дата.цсв")дсп.Процессор(наме="ми_дата_процессор", типе="пандас", фунц=ламбда к: к.дропна())дсп.Синк(наме="ми_дата_синк", типе="цсв", патх="/патх/то/оутпут.цсв")лц.АИСистем(наме="ми_аи_систем", модел=модел, промпт=промпт)аф.сцхедуле_таск(таск_ид="ми_таск", даг_ид="ми_даг", пипелине=пипелине, систем=систем)дсп.рун_пипелине(пипелине)лц.рун_систем(систем)
Визуелизација
Ево визуелизације ДСПи и ЛангЦхаин оквира користећи Цхарт.јс:
{
"тип": "бар",
"подаци": {
"лабелс": ["ДСПи", "ЛангЦхаин"],
"сетови података": [
{
"лабел": "Карактеристике",
"подаци": [10, 15],
"бацкгроундЦолор": [
"ргба(255, 99, 132, 0.2)",
"ргба(54, 162, 235, 0.2)"
],
"бордерЦолор": [
"ргба(255, 99, 132, 1)",
"ргба(54, 162, 235, 1)"
],
"бордерВидтх": 1
}
]
},
"опције": {}
}
Ова визуелизација показује број функција у ДСПи и ЛангЦхаин-у.
Закључак
ДСПи и ЛангЦхаин су два моћна оквира која омогућавају изградњу отпорних и скалабилних софтверских система у доба вештачке интелигенције. Користећи ове оквире, програмери могу креирати велике ЛЛМ цевоводе који су лаки за одржавање, скалабилни и отпорни на кварове. Уз помоћ алата за оркестрацију и аутоматизацију као што су Апацхе Аирфлов и Кубернетес, програмери могу да закажу извршење ових цевовода и система, што олакшава управљање сложеним системима вештачке интелигенције.
Будући рад
Будући рад укључује:
- Развијање више функција за ДСПи и ЛангЦхаин.
- Побољшање перформанси и скалабилности ДСПи и ЛангЦхаин-а.
- Развијање више алата за оркестрацију и аутоматизацију за ДСПи и ЛангЦхаин.
- Креирање више визуализација и контролних табли за ДСПи и ЛангЦхаин.
Референце
- ДСПи документација: <хттпс://дспи.реадтхедоцс.ио/ен/латест/>
- Документација за ЛангЦхаин: <хттпс://лангцхаин.реадтхедоцс.ио/ен/латест/>
- Апацхе Аирфлов документација: <хттпс://аирфлов.апацхе.орг/доцс/апацхе-аирфлов/стабле/индек.хтмл>
- Кубернетес документација: <хттпс://кубернетес.ио/доцс/хоме/>