Оркестрлік құралдармен қауіпсіз және масштабталатын AI басқаратын бағдарламалық жасақтама архитектурасын енгізу | B4N1

Оркестрлік құралдармен қауіпсіз және масштабталатын AI басқаратын бағдарламалық жасақтама архитектурасын енгізу

6 months ago · b4n1 Read time: 4 min

Кіріспе

Жасанды интеллектті (AI) бағдарламалық жасақтамаға біріктіру біздің проблемаларды шешуге, шешім қабылдауға және автоматтандыруға деген көзқарасымызды түбегейлі өзгертті. Дегенмен, AI басқаратын қосымшалар күрделене түскен сайын, қауіпсіз және масштабталатын архитектураға қажеттілік өзекті мәселеге айналды. Бұл мақалада біз AI агенттерін DevOps құбырларына біріктіру үшін DSPy және LangChain сияқты оркестрлік құралдарды пайдалануға ерекше назар аудара отырып, AI, бағдарламалық жасақтама және DevOps қиылысын зерттейміз.

AI басқаратын бағдарламалық жасақтама архитектурасының қиындықтары

AI басқаратын бағдарламалық жасақтама қолданбалары бағдарламалық жасақтама инженерлері мен DevOps командаларына ерекше қиындықтар тудырады. Негізгі қиындықтардың кейбірі мыналарды қамтиды:

  • Масштабтау: AI үлгілері елеулі есептеу ресурстарын қажет етеді, бұл өндіріс орталарында масштабтауға қатысты мәселелерге әкелуі мүмкін.
  • Қауіпсіздік: AI үлгілері деректерді улану және үлгіні инверсиялау шабуылдары сияқты шабуылдарға осал болуы мүмкін.
  • Интеграция: AI үлгілері күрделі тапсырма болуы мүмкін бар бағдарламалық жасақтама жүйелерімен біріктірілуі керек.
  • Мониторинг және техникалық қызмет көрсету: AI үлгілері дәл және сенімді болып қалуы үшін үздіксіз бақылау мен техникалық қызмет көрсетуді қажет етеді.

Оркестрлік құралдар: DSPy және LangChain

DSPy және LangChain сияқты оркестрлік құралдар AI агенттерін DevOps құбырларына біріктіруге мүмкіндік беру арқылы осы қиындықтардың шешімін береді. Бұл құралдар AI үлгілерін құру, орналастыру және басқару үшін негізді қамтамасыз етеді, AI басқаратын қолданбалар үшін қауіпсіз және масштабталатын архитектураны қамтамасыз етеді.

DSPy

DSPy - Python үстіне жасалған ашық бастапқы оркестрлік құрал. Ол AI үлгілерін құру, орналастыру және басқару үшін қарапайым және интуитивті API ұсынады. DSPy AI құрылымдарының кең ауқымын қолдайды, соның ішінде TensorFlow, PyTorch және scikit-learn.

LangChain

LangChain - бұл AI үлгілерін құру, орналастыру және басқару үшін негізді қамтамасыз ететін басқа ашық бастапқы оркестрлеу құралы. LangChain Rust үстіне салынған және AI агенттерін DevOps құбырларына біріктіру үшін жоғары өнімді API ұсынады.

DSPy көмегімен қауіпсіз және масштабталатын AI басқаратын бағдарламалық жасақтама архитектурасын енгізу

Бұл бөлімде біз DSPy көмегімен қауіпсіз және масштабталатын AI басқаратын бағдарламалық жасақтама архитектурасын енгізудің қарапайым мысалын қарастырамыз.

Мысал: DSPy көмегімен қарапайым AI моделін құру

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)

# Сызықтық регрессия моделін құру
үлгі = LinearRegression()

# Жаттығу деректері бойынша үлгіні жаттықтырыңыз
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(&Тензор::жаңа(1, 1));
    шығару
}

// LangChain агентін жасаңыз
let agent = lc::Agent::new(үлгі);

// Деректер жиынын анықтаңыз
let dataset = 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(&деректер жинағы);

// Деректер жиынындағы үлгіні бағалау
let accuracy = agent.evaluate(&dataset);
println!("Үлгі дәлдігі: {}", дәлдік);

Бұл код блогы LangChain көмегімен қарапайым машиналық оқыту үлгісін құру жолын көрсетеді. Біз қарапайым нейрондық желі моделін анықтаймыз, LangChain агентін жасаймыз, деректер жиынын анықтаймыз, деректер жиынында модельді жаттықтырамыз және деректер жиынында оның дәлдігін бағалаймыз.

Ең көп қолданылатын 5-10 пәрмендер/үзінділер

Міне, DSPy және LangChain үшін ең көп қолданылатын 5-10 командалар/үзінділер:

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 мекенжайына орналастырады.

LangChain

  • lc::Agent::new(model): көрсетілген үлгіні пайдаланып LangChain агентін жасайды.
  • lc::Dataset::new(мысалдар): көрсетілген мысалдарды пайдаланып LangChain деректер жинағын жасайды.
  • lc::train(агент, деректер жинағы): LangChain агентін көрсетілген деректер жиынында оқытады.
  • lc::evaluate(агент, деректер жинағы): көрсетілген деректер жиынындағы LangChain агентінің өнімділігін бағалайды.
  • lc::deploy(agent, server_url): LangChain агентін көрсетілген сервер URL мекенжайына орналастырады.

Визуализация

Міне, Chart.js көмегімен AI басқаратын бағдарламалық жасақтама архитектурасының қарапайым визуализациясы:

const ctx = document.getElementById('myChart').getContext('2d');
const диаграмма = жаңа диаграмма(ctx, {
    түрі: «бар»,
    деректер: {
        белгілер: ['Жаттығу уақыты', 'Тығыздау уақыты', 'Үлгі дәлдігі'],
        деректер жиыны: [{
            белгі: 'DSPy',
            деректер: [10, 5, 90],
            backgroundColor: 'rgba(255, 99, 132, 0,2)',
            жиекТүсі: 'rgba(255, 99, 132, 1)',
            шекара ені: 1
        }, {
            белгі: 'LangChain',
            деректер: [8, 6, 92],
            backgroundColor: 'rgba(54, 162, 235, 0,2)',
            жиекТүсі: 'rgba(54, 162, 235, 1)',
            шекара ені: 1
        }]
    },
    опциялар: {
        таразы: {
            ж: {
                beginAtZero: шын
            }
        }
    }
});

Бұл код блогы DSPy және LangChain өнімділігін визуализациялау үшін Chart.js көмегімен қарапайым жолақ диаграммасын жасайды.

Қорытынды

Бұл мақалада біз AI агенттерін DevOps құбырларына біріктіру үшін DSPy және LangChain сияқты оркестрлік құралдарды пайдалануға ерекше назар аудара отырып, AI, бағдарламалық қамтамасыз ету және DevOps қиылысын зерттедік. Біз DSPy және LangChain көмегімен қауіпсіз және масштабталатын AI басқаратын бағдарламалық жасақтаманың архитектурасын қалай енгізу керектігін көрсеттік және әрбір құралды пайдаланып машиналық оқыту моделін құрудың қарапайым мысалын ұсындық. Біз сондай-ақ әрбір құрал үшін ең көп қолданылатын 5-10 пәрменді/үзіндіні және Chart.js арқылы AI басқаратын бағдарламалық құрал архитектурасының қарапайым визуализациясын ұсындық.


Have Questions?

Let's Talk

Contact me on LinkedIn