უსაფრთხო და მასშტაბური AI-ზე ორიენტირებული პროგრამული არქიტექტურის დანერგვა ორკესტრირების ხელსაწყოებით | B4N1

უსაფრთხო და მასშტაბური AI-ზე ორიენტირებული პროგრამული არქიტექტურის დანერგვა ორკესტრირების ხელსაწყოებით

3 months ago · b4n1 Read time: 4 min

შესავალი

ხელოვნური ინტელექტის (AI) ინტეგრაციამ პროგრამულ აპლიკაციებში მოახდინა რევოლუცია პრობლემის გადაჭრის, გადაწყვეტილების მიღებისა და ავტომატიზაციისადმი მიდგომის გზაზე. თუმცა, რაც AI-ზე ორიენტირებული აპლიკაციები სულ უფრო რთული ხდება, უსაფრთხო და მასშტაბური არქიტექტურის საჭიროება აქტუალურ პრობლემად იქცა. ამ სტატიაში ჩვენ შევისწავლით AI-ს, პროგრამული უზრუნველყოფის ინჟინერიის და DevOps-ის კვეთას, განსაკუთრებული აქცენტით ორკესტრირების ინსტრუმენტების გამოყენებაზე, როგორიცაა DSPy და LangChain, AI აგენტების DevOps მილსადენებში ინტეგრირებისთვის.

AI-ზე ორიენტირებული პროგრამული არქიტექტურის გამოწვევები

AI-ზე ორიენტირებული პროგრამული აპლიკაციები უნიკალურ გამოწვევებს უქმნის პროგრამული უზრუნველყოფის ინჟინრებს და DevOps გუნდებს. ზოგიერთი ძირითადი გამოწვევა მოიცავს:

  • ** მასშტაბურობა**: AI მოდელები საჭიროებენ მნიშვნელოვან გამოთვლით რესურსებს, რამაც შეიძლება გამოიწვიოს მასშტაბურობის პრობლემები წარმოების გარემოში.
  • უსაფრთხოება: AI მოდელები შეიძლება იყოს დაუცველი შეტევების მიმართ, როგორიცაა მონაცემთა მოწამვლა და მოდელის ინვერსიული შეტევები.
  • ინტეგრაცია: AI მოდელები უნდა იყოს ინტეგრირებული არსებულ პროგრამულ სისტემებთან, რაც შეიძლება რთული ამოცანა იყოს.
  • მონიტორინგი და მოვლა: ხელოვნური ინტელექტის მოდელები საჭიროებენ მუდმივ მონიტორინგს და მოვლას, რათა უზრუნველყონ ისინი ზუსტი და სანდო.

ორკესტრირების ინსტრუმენტები: DSPy და LangChain

საორკესტრო ინსტრუმენტები, როგორიცაა DSPy და LangChain, უზრუნველყოფენ ამ გამოწვევების გადაწყვეტას DevOps მილსადენებში AI აგენტების ინტეგრაციის გზით. ეს ხელსაწყოები უზრუნველყოფს AI მოდელების შექმნის, განლაგებისა და მართვის ჩარჩოს, რაც უზრუნველყოფს AI-ზე ორიენტირებული აპლიკაციების უსაფრთხო და მასშტაბურ არქიტექტურას.

DSPy

DSPy არის ღია კოდის ორკესტრირების ინსტრუმენტი, რომელიც აგებულია პითონის თავზე. ის უზრუნველყოფს მარტივ და ინტუიციურ API-ს AI მოდელების შესაქმნელად, განლაგებისა და მართვისთვის. DSPy მხარს უჭერს AI ჩარჩოების ფართო სპექტრს, მათ შორის TensorFlow, PyTorch და scikit-learn.

LangChain

LangChain არის კიდევ ერთი ღია წყაროს ორკესტრირების ინსტრუმენტი, რომელიც უზრუნველყოფს AI მოდელების შექმნის, განლაგებისა და მართვის ჩარჩოს. LangChain აგებულია Rust-ის თავზე და უზრუნველყოფს მაღალი ხარისხის API-ს AI აგენტების DevOps მილსადენებში ინტეგრირებისთვის.

უსაფრთხო და მასშტაბური AI-ზე ორიენტირებული პროგრამული უზრუნველყოფის არქიტექტურის დანერგვა DSPy-ით

ამ განყოფილებაში ჩვენ შევისწავლით უსაფრთხო და მასშტაბირებადი AI-ზე ორიენტირებული პროგრამული უზრუნველყოფის არქიტექტურის DSPy-ით განხორციელების მარტივ მაგალითს.

მაგალითი: მარტივი AI მოდელის შექმნა 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_ტესტი) ბეჭდვა (f"მოდელის სიზუსტე: {სიზუსტე:.2f}")


ეს კოდის ბლოკი გვიჩვენებს, თუ როგორ უნდა ავაშენოთ მარტივი მანქანათმცოდნეობის მოდელი DSPy-ის გამოყენებით. ჩვენ ვტვირთავთ დიაბეტის მონაცემთა ბაზას, ვყოფთ მას სავარჯიშო და ტესტირების ნაკრებებად, ვქმნით ხაზოვანი რეგრესიის მოდელს, ვავარჯიშებთ მას ტრენინგის მონაცემებზე და ვაფასებთ მის სიზუსტეს ტესტირების მონაცემებზე.

## უსაფრთხო და მასშტაბური AI-ზე ორიენტირებული პროგრამული არქიტექტურის დანერგვა LangChain-ით

ამ განყოფილებაში ჩვენ შევისწავლით უსაფრთხო და მასშტაბური AI-ზე ორიენტირებული პროგრამული უზრუნველყოფის არქიტექტურის დანერგვის მარტივ მაგალითს LangChain-ით.

### მაგალითი: მარტივი AI მოდელის შექმნა LangChain-ით

მოდით განვიხილოთ მანქანური სწავლების მოდელის აგების მარტივი მაგალითი LangChain-ის გამოყენებით. ჩვენ გამოვიყენებთ TensorFlow ბიბლიოთეკას ნერვული ქსელის მოდელის შესაქმნელად.

``ჟანგი
გამოიყენეთ langchain როგორც lc;
გამოიყენეთ tensorflow::პრელუდია::*;

// მარტივი ნერვული ქსელის მოდელის განსაზღვრა
fn მოდელი (შეყვანა: &Tensor) -> Tensor {
    let output = input.matmul(&Tensor::new(1, 1));
    გამომავალი
}

// შექმენით LangChain აგენტი
let agent = lc::Agent::new(model);

// მონაცემთა ნაკრების განსაზღვრა
მოდით მონაცემთა ნაკრები = lc::Dataset::new(vec![
    lc::მაგალითი::new(vec![1.0, 2.0], vec![3.0]),
    lc::მაგალითი::new(vec![4.0, 5.0], vec![6.0]),
]);

// მოდელის მომზადება მონაცემთა ნაკრებზე
აგენტი.მატარებელი(&მონაცემთა ნაკრები);

// მოდელის შეფასება მონაცემთა ნაკრებზე
let accuracy = 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(მაგალითები): ქმნის LangChain მონაცემთა ნაკრებს მითითებული მაგალითების გამოყენებით.
  • lc::train(აგენტი, მონაცემთა ნაკრები): ავარჯიშებს LangChain აგენტს მითითებულ მონაცემთა ბაზაზე.
  • lc::evaluate(აგენტი, მონაცემთა ნაკრები): აფასებს LangChain აგენტის მუშაობას მითითებულ მონაცემთა ბაზაში.
  • lc::deploy(agent, server_url): განათავსებს LangChain აგენტს სერვერის მითითებულ URL-ზე.

ვიზუალიზაცია

აქ მოცემულია AI-ზე ორიენტირებული პროგრამული უზრუნველყოფის არქიტექტურის მარტივი ვიზუალიზაცია Chart.js-ის გამოყენებით:

`` Javascript const ctx = document.getElementById('myChart').getContext('2d'); const დიაგრამა = ახალი დიაგრამა (ctx, { ტიპი: "ბარი", მონაცემები: { ეტიკეტები: ['ტრენინგის დრო', 'დასკვნის დრო', 'მოდელის სიზუსტე'], მონაცემთა ნაკრები: [{ ეტიკეტი: 'DSPy', მონაცემები: [10, 5, 90], ფონისფერი: 'rgba(255, 99, 132, 0.2)', borderColor: 'rgba(255, 99, 132, 1)', საზღვრის სიგანე: 1 }, { ეტიკეტი: "LangChain", მონაცემები: [8, 6, 92], ფონისფერი: 'rgba(54, 162, 235, 0.2)', borderColor: 'rgba(54, 162, 235, 1)', საზღვრის სიგანე: 1 }] }, პარამეტრები: { სასწორები: { y: { startAtZero: მართალია } } } });


ეს კოდის ბლოკი ქმნის მარტივ ზოლიან დიაგრამას Chart.js-ის გამოყენებით DSPy-ისა და LangChain-ის მუშაობის ვიზუალიზაციისთვის.

## დასკვნა

ამ სტატიაში ჩვენ გამოვიკვლიეთ ხელოვნური ინტელექტის, პროგრამული უზრუნველყოფის ინჟინერიისა და DevOps-ის კვეთა, განსაკუთრებული აქცენტით ორკესტრირების ინსტრუმენტების გამოყენებაზე, როგორიცაა DSPy და LangChain, AI აგენტების DevOps მილსადენებში ინტეგრირებისთვის. ჩვენ ვაჩვენეთ, თუ როგორ უნდა განვახორციელოთ უსაფრთხო და მასშტაბური AI-ზე ორიენტირებული პროგრამული უზრუნველყოფის არქიტექტურა DSPy-ისა და LangChain-ის გამოყენებით, და მივაწოდეთ თითოეული ხელსაწყოს გამოყენებით მანქანური სწავლების მოდელის აგების მარტივი მაგალითი. ჩვენ ასევე მივაწოდეთ ტოპ 5-10 ყველაზე ხშირად გამოყენებული ბრძანება/სნიპეტი თითოეული ხელსაწყოსთვის და AI-ზე ორიენტირებული პროგრამული უზრუნველყოფის არქიტექტურის მარტივი ვიზუალიზაცია Chart.js-ის გამოყენებით.

Have Questions?

Let's Talk

Contact me on LinkedIn