Внедряване на сигурна и мащабируема софтуерна архитектура, управлявана от AI, с инструменти за оркестрация | B4N1

Внедряване на сигурна и мащабируема софтуерна архитектура, управлявана от AI, с инструменти за оркестрация

3 months ago · b4n1 Tiempo de lectura: 5 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. Той предоставя прост и интуитивен 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)

# Изградете линеен регресионен модел
модел = Линейна регресия ()

# Обучете модела върху данните за обучение
model.fit(X_train, y_train)

# Оценете модела върху данните от тестването
точност = model.score(X_тест, y_тест)
print(f"Точност на модела: {accuracy:.2f}")

Този кодов блок демонстрира как да се изгради прост модел за машинно обучение с помощта на DSPy. Зареждаме набора от данни за диабета, разделяме го на комплекти за обучение и тестване, изграждаме линеен регресионен модел, обучаваме го на базата на данните за обучение и оценяваме точността му върху данните от тестването.

Внедряване на защитена и мащабируема софтуерна архитектура, управлявана от AI, с LangChain

В този раздел ще разгледаме прост пример за внедряване на защитена и мащабируема софтуерна архитектура, управлявана от AI, с LangChain.

Пример: Изграждане на прост AI модел с LangChain

Нека разгледаме прост пример за изграждане на модел за машинно обучение с помощта на LangChain. Ще използваме библиотеката TensorFlow, за да изградим модел на невронна мрежа.

използвайте langchain като lc;
използвайте tensorflow::prelude::*;

// Дефиниране на прост модел на невронна мрежа
fn модел (вход: &Тензор) -> Тензор {
    нека изход = input.matmul(&Tensor::new(1, 1));
    изход
}

// Създаване на агент LangChain
нека агент = lc :: Агент :: нов (модел);

// Дефиниране на набор от данни
нека dataset = lc::Dataset::new(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 адрес на сървъра.

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

Ето една проста визуализация на управляваната от AI софтуерна архитектура с помощта на Chart.js:

const ctx = document.getElementById('myChart').getContext('2d');
const диаграма = нова диаграма (ctx, {
    тип: 'бар',
    данни: {
        етикети: [„Време за обучение“, „Време за извод“, „Точност на модела“],
        набори от данни: [{
            етикет: 'DSPy',
            данни: [10, 5, 90],
            backgroundColor: 'rgba(255, 99, 132, 0.2)',
            borderColor: 'rgba(255, 99, 132, 1)',
            borderWidth: 1
        }, {
            етикет: "LangChain",
            данни: [8, 6, 92],
            backgroundColor: 'rgba(54, 162, 235, 0.2)',
            borderColor: 'rgba(54, 162, 235, 1)',
            borderWidth: 1
        }]
    },
    опции: {
        везни: {
            y: {
                beginAtZero: вярно
            }
        }
    }
});

Този кодов блок създава проста лентова диаграма с помощта на Chart.js за визуализиране на производителността на DSPy и LangChain.

Заключение

В тази статия проучихме пресечната точка на AI, софтуерно инженерство и DevOps, със специален акцент върху използването на инструменти за оркестрация като DSPy и LangChain за интегриране на AI агенти в DevOps тръбопроводи. Демонстрирахме как да внедрим сигурна и мащабируема софтуерна архитектура, управлявана от AI, с помощта на DSPy и LangChain и предоставихме прост пример за изграждане на модел за машинно обучение с помощта на всеки инструмент. Предоставихме също топ 5-10 най-използвани команди/фрагменти за всеки инструмент и проста визуализация на управляваната от AI софтуерна архитектура с помощта на Chart.js.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn