Як об’єднати агентів LLM з чим завгодно: подорож у світ Model Context Protocol

    Автор: Ліла Гарт

    У світі, де штучний інтелект стає все більш інтегрованим у наше повсякденне життя, надзвичайно важливо розуміти, як ці технології взаємодіють одна з одною. Зокрема, як великі мовні моделі (LLM) можуть спілкуватися з інструментами, необхідними для виконання завдань, щось на зразок. У цьому контексті, Model Context Protocol (MCP) від Anthropic, представлений у листопаді 2024. Року, відкриває захопливі можливості для створення більш взаємодіючих та ефективних агентів штучного інтелекту.

    Щоб розібратися в цьому, припустимо, я вирушила у віртуальну подорож з одним з ентузіастів. Який взявся за сміливе завдання – побудувати власний MCP сервер всього за десять хвилин. Його ентузіазм, підбадьорений великою мискою вуглеводів, і відмова від штучних помічників (курсор, Stack Overflow) обіцяла цікаве занурення.

    Навіщо взагалі потрібен MCP? Уявіть собі світ, де агенти ШІ мають безліч інструментів. Справа в тому, що – від доступу до баз даних до взаємодії з веб-сервісами. Кожен фреймворк, додаток або клієнт використовує свій спосіб оголошення цих інструментів. До речі, це може перетворитися на справжній біль у. Голові – постійне створення інтеграцій для використання можливостей ШІ. MCP вирішує цю проблему, стандартизуючи спосіб спілкування LLM з інструментами. Чесно кажучи, визначаючи ваш сервер інструментів один раз, ви можете використовувати його скрізь.

    Етап 1: Створення сервера

    Звучить серйозно, але наш герой довів, що це можливо. Отже, час пішов!

    Інструменти та етап: підготовка до роботи

      .

    1. Ініціалізація проекту: Все починається з команди uv init employee-project. Тут розумієте, створюється основна структура папок для майбутнього сервера.
    2. Virtual environment: для ізоляції проекту було використано virtual environment, що дозволяє незалежно керувати залежностями. Команда uv venv створює віртуальне оточення, а uv activate – активує його.
    3. Встановлення залежностей: Тут настає ключовий момент: uv add mcp-cli requests. Більше того, встановлюються необхідні пакети: бібліотека MCP CLI та пакет requests, необхідний для взаємодії з API.

    Основа: початок роботи над сервером

      , якось так.

    1. Створення файлу сервера: Найважливіший крок – touch server. Py. Фактично, створюється файл, який стане серцем всього процесу.
    2. Імпортування залежностей: Зрозуміло, без них нікуди: from mcp. Server. Fastmcp import FastMCP та інші модулі для роботи з JSON та мережевими запитами.
    3. Запуск сервера: ну, Створення об’єкта FastMCP з назвою churn-and-burn. Звичайно, це власне і є початок роботи над сервером.
    4. Визначення інструмента: Все стає цікавіше. Використовується декоратор @mcp. Tool, що визначає функцію predict_churn, яка буде взаємодіяти з вашим API. Щоб було ясно,
    5. Документація: Дуже важливо пояснити агенту, що саме робить цей інструмент, щось на зразок. Написано докладний опис, який описує вхідні та вихідні дані.
    6. Реалізація логіки: Витягування даних з вхідних параметрів, створення запиту POST до API, обробка відповіді і, нарешті, повернення прогнозу.
    7. Запуск сервера: Команда наприклад, if __name__ == "__main__": забезпечує запуск сервера при виконанні скрипта. Очевидно,

    Результат: подих від полегшення і віра в успіх

    Здавалося б, 10 хвилин – це принизливо мало, але герой чудово впорався з завданням. Стримуюча пауза і погляд на секундомір, який показав. 2 хвилини 47 секунд, надихнули на подальші відкриття.

    Етап 2: Тестування сервера

    Без тестування немає впевненості. Як перевірити, чи працює наш сервер?

    Дії:

    1. Запуск dev-сервера: За допомогою команди uv run mcp dev server. Py запускається dev-сервер, який надає нам доступ до MCP інспектора – інструменту для тестування інструментів. Насправді,
    2. Доступ слухайте, до інспектора: Відкривається браузер і вставляється URL.
    3. Підключення: У інтерфейсі інспектора обирається STDIО, оскільки ми працюємо локально.
    4. Вибір інструмента: В інспекторі обираємо наш інструмент predict_churn.
    5. Ввід розумієте, даних: Насипаємо JSON з тестовими даними.
    6. Запуск інструмента: Натискаємо кнопку та чекаємо на результат. Дивно, дивно,

    Результат:

    Інформація із API з’явилася в інспекторі. Підтвердження того, що наш сервер в принципі, працює успішно проте ми отримали прогноз на основі введених даних, якось так.

    Етап 3: Інтеграція з агентом

    Останній етап – інтеграція з агентом. Як використовувати все це з живою моделлю?

    Кроки:

    1. Використання слухайте, існуючого приблизно, агента: Зроблено все просто, щоб не витрачати час на зайве. Ну,
    2. Налаштування параметрів: Вказуємо шлях до нашого серверного файлу, тобто вказуємо шлях до нашого сценарію.
    3. Запуск агента: Запуск відбувається в терміналі, з використанням усіх необхідних параметрів.

    Результат:

    Через використання Ollama та моделі Granite 3. Щоб було ясно, дивно, 1, агент зміг зробити свій висновок щодо ймовірності відтоку співробітника, з використанням MCP сервера. Агент зрозумів, що уявіть собі, для відповіді на запитання потрібно використовувати інструмент predict churn. Насправді,

    Спостереження та дивіться, інтероперабельність

    Наш дивіться, герой не забув і про важливе – про спостереження. Найпростіший спосіб – імпортувати logging та додати один рядок в код сервера. Очевидно, всі виклики інструментів будуть відображатися в журналах сервера.

    Для демонстрації інтероперабельності, розумієте, наш сервер успішно інтегрували з Cursor. Це доводить, що MCP працює та може використовуватися будь-де.

    Підсумок:

    Цей швидкий екскурс демонструє, як легко можна почати роботу з MCP та об’єднати агенти LLM з інструментами. Від створення простого сервера до його інтеграції з агентом – все можливо.

    Поділитися.
    0 0 голоси
    Рейтинг статті
    Підписатися
    Сповістити про
    guest
    0 Коментарі
    Найстаріші
    Найновіше Найбільше голосів
    Зворотній зв'язок в режимі реального часу
    Переглянути всі коментарі
    0
    Буду рада вашим думкам, прокоментуйте.x