Укараненне бяспечнай і маштабаванай архітэктуры праграмнага забеспячэння на аснове штучнага інтэлекту з інструментамі аркестрацыі | B4N1

Укараненне бяспечнай і маштабаванай архітэктуры праграмнага забеспячэння на аснове штучнага інтэлекту з інструментамі аркестрацыі

3 months ago · b4n1 Tiempo de lectura: 4 min

Уводзіны

Інтэграцыя штучнага інтэлекту (AI) у праграмныя прыкладанні зрабіла рэвалюцыю ў нашым падыходзе да вырашэння праблем, прыняцця рашэнняў і аўтаматызацыі. Аднак па меры таго, як прыкладанні, якія кіруюцца штучным інтэлектам, становяцца ўсё больш складанымі, патрэба ў бяспечнай і маштабаванай архітэктуры стала актуальнай праблемай. У гэтым артыкуле мы даследуем ўзаемасувязь штучнага інтэлекту, распрацоўкі праграмнага забеспячэння і DevOps, з асаблівым акцэнтам на выкарыстанні інструментаў аркестрацыі, такіх як DSPy і LangChain, для інтэграцыі агентаў штучнага інтэлекту ў канвееры DevOps.

Праблемы архітэктуры праграмнага забеспячэння, кіраванай штучным інтэлектам

Праграмныя прыкладанні, якія кіруюцца штучным інтэлектам, ствараюць унікальныя праблемы для інжынераў-праграмістаў і каманд DevOps. Сярод асноўных праблем:

  • Маштабаванасць: мадэлі штучнага інтэлекту патрабуюць значных вылічальных рэсурсаў, што можа прывесці да праблем з маштабаванасцю ў вытворчых асяроддзях.
  • Бяспека: мадэлі штучнага інтэлекту могуць быць уразлівыя да нападаў, такіх як атручванне даных і атакі інверсіі мадэляў.
  • Інтэграцыя: мадэлі штучнага інтэлекту неабходна інтэграваць з існуючымі праграмнымі сістэмамі, што можа быць складанай задачай.
  • Маніторынг і тэхнічнае абслугоўванне: Мадэлі штучнага інтэлекту патрабуюць пастаяннага кантролю і тэхнічнага абслугоўвання, каб яны заставаліся дакладнымі і надзейнымі.

Інструменты аркестрацыі: DSPy і LangChain

Інструменты аркестрацыі, такія як DSPy і LangChain, дазваляюць вырашыць гэтыя праблемы, дазваляючы інтэграваць агенты штучнага інтэлекту ў канвееры DevOps. Гэтыя інструменты забяспечваюць аснову для стварэння, разгортвання і кіравання мадэлямі AI, забяспечваючы бяспечную і маштабаваную архітэктуру для прыкладанняў, якія кіруюцца AI.

DSPy

DSPy - гэта інструмент аркестроўкі з адкрытым зыходным кодам, створаны на аснове Python. Ён забяспечвае просты і інтуітыўна зразумелы API для стварэння, разгортвання і кіравання мадэлямі штучнага інтэлекту. DSPy падтрымлівае шырокі спектр структур AI, у тым ліку TensorFlow, PyTorch і scikit-learn.

LangChain

LangChain - яшчэ адзін інструмент аркестроўкі з адкрытым зыходным кодам, які забяспечвае аснову для стварэння, разгортвання і кіравання мадэлямі штучнага інтэлекту. LangChain пабудаваны на аснове Rust і забяспечвае высокапрадукцыйны API для інтэграцыі агентаў штучнага інтэлекту ў канвееры DevOps.

Укараненне бяспечнай і маштабаванай архітэктуры праграмнага забеспячэння на базе штучнага інтэлекту з DSPy

У гэтым раздзеле мы разгледзім просты прыклад рэалізацыі бяспечнай і маштабаванай архітэктуры праграмнага забеспячэння на базе штучнага інтэлекту з дапамогай DSPy.

Прыклад: стварэнне простай мадэлі штучнага інтэлекту з DSPy

Давайце разгледзім просты прыклад пабудовы мадэлі машыннага навучання з дапамогай 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_тэст, y_тэст)
print(f"Дакладнасць мадэлі: {дакладнасць:.2f}")

Гэты блок кода дэманструе, як пабудаваць простую мадэль машыннага навучання з дапамогай DSPy. Мы загружаем набор даных дыябету, разбіваем яго на наборы для навучання і тэставання, будуем мадэль лінейнай рэгрэсіі, навучаем яго на дадзеных навучання і ацэньваем яго дакладнасць на дадзеных тэставання.

Укараненне бяспечнай і маштабаванай архітэктуры праграмнага забеспячэння на базе штучнага інтэлекту з дапамогай LangChain

У гэтым раздзеле мы разгледзім просты прыклад рэалізацыі бяспечнай і маштабаванай архітэктуры праграмнага забеспячэння на базе штучнага інтэлекту з дапамогай LangChain.

Прыклад: стварэнне простай мадэлі штучнага інтэлекту з дапамогай LangChain

Давайце разгледзім просты прыклад пабудовы мадэлі машыннага навучання з дапамогай LangChain. Мы будзем выкарыстоўваць бібліятэку TensorFlow для стварэння мадэлі нейронавай сеткі.

выкарыстоўваць langchain як lc;
выкарыстоўваць tensorflow::prelude::*;

// Вызначце простую мадэль нейронавай сеткі
мадэль fn(уваход: &Тэнзар) -> Тэнзар {
    няхай выхад = input.matmul(&Tensor::new(1, 1));
    выхад
}

// Стварэнне агента LangChain
няхай агент = lc::Агент::новы(мадэль);

// Вызначыць набор даных
няхай набор дадзеных = lc::Набор даных::новы(vec![
    lc::Example::new(vec![1.0, 2.0], vec![3.0]),
    lc::Example::new(vec![4.0, 5.0], vec![6.0]),
]);

// Навучанне мадэлі на наборы даных
agent.train(&dataset);

// Ацаніце мадэль на наборы дадзеных
няхай дакладнасць = agent.evaluate(&dataset);
println!("Дакладнасць мадэлі: {}", дакладнасць);

Гэты блок кода дэманструе, як пабудаваць простую мадэль машыннага навучання з дапамогай LangChain. Мы вызначаем простую мадэль нейронавай сеткі, ствараем агента LangChain, вызначаем набор даных, навучаем мадэль на наборы даных і ацэньваем яе дакладнасць на наборы даных.

5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў

Вось 5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў для DSPy і LangChain:

DSPy

  • dsp.split_dataset(data, target, test_size=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(examples): стварае набор даных LangChain з выкарыстаннем указаных прыкладаў.
  • lc::train(agent, dataset): навучанне агента LangChain на ўказаным наборы даных.
  • lc::evaluate(agent, dataset): Ацэньвае прадукцыйнасць агента LangChain на ўказаным наборы даных.
  • lc::deploy(agent, server_url): разгортвае агент LangChain на паказаным URL-адрасе сервера.

Візуалізацыя

Вось простая візуалізацыя архітэктуры праграмнага забеспячэння, кіраванай штучным інтэлектам, з выкарыстаннем Chart.js:

const ctx = document.getElementById('myChart').getContext('2d');
const chart = new Chart(ctx, {
    тып: 'бар',
    дадзеныя: {
        пазнакі: ['Час навучання', 'Час высновы', 'Дакладнасць мадэлі'],
        наборы дадзеных: [{
            пазнака: 'DSPy',
            даныя: [10, 5, 90],
            backgroundColor: 'rgba(255, 99, 132, 0,2)',
            borderColor: 'rgba(255, 99, 132, 1)',
            шырыня мяжы: 1
        }, {
            пазнака: 'LangChain',
            даныя: [8, 6, 92],
            backgroundColor: 'rgba(54, 162, 235, 0,2)',
            borderColor: 'rgba(54, 162, 235, 1)',
            шырыня мяжы: 1
        }]
    },
    параметры: {
        маштабы: {
            y: {
                beginAtZero: праўда
            }
        }
    }
});

Гэты блок кода стварае простую гістаграму з дапамогай Chart.js для візуалізацыі прадукцыйнасці DSPy і LangChain.

Выснова

У гэтым артыкуле мы даследавалі ўзаемасувязь штучнага інтэлекту, распрацоўкі праграмнага забеспячэння і DevOps, з асаблівым акцэнтам на выкарыстанні інструментаў аркестроўкі, такіх як DSPy і LangChain, для інтэграцыі агентаў штучнага інтэлекту ў канвееры DevOps. Мы прадэманстравалі, як рэалізаваць бяспечную і маштабаваную архітэктуру праграмнага забеспячэння на базе штучнага інтэлекту з выкарыстаннем DSPy і LangChain, і далі просты прыклад пабудовы мадэлі машыннага навучання з выкарыстаннем кожнага інструмента. Мы таксама прадставілі 5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў для кожнага інструмента і простую візуалізацыю архітэктуры праграмнага забеспячэння, кіраванай штучным інтэлектам, з дапамогай Chart.js.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn