Skip to content

Latest commit

 

History

History
189 lines (133 loc) · 17 KB

File metadata and controls

189 lines (133 loc) · 17 KB

Использование сервера из расширения AI Toolkit для Visual Studio Code

Когда вы создаете AI-агента, дело не только в генерации умных ответов, но и в предоставлении агенту возможности действовать. Именно здесь вступает в игру Протокол Контекста Модели (Model Context Protocol, MCP). MCP упрощает доступ агентов к внешним инструментам и сервисам единообразным способом. Представьте, что вы подключаете своего агента к набору инструментов, которые он может действительно использовать.

Допустим, вы подключаете агента к серверу MCP-калькулятора. Внезапно ваш агент может выполнять математические операции, просто получая запрос вроде «Сколько будет 47 умножить на 89?» — без необходимости жестко прописывать логику или создавать пользовательские API.

Обзор

В этом уроке мы рассмотрим, как подключить сервер MCP-калькулятора к агенту с помощью расширения AI Toolkit для Visual Studio Code, чтобы ваш агент мог выполнять математические операции, такие как сложение, вычитание, умножение и деление, используя естественный язык.

AI Toolkit — это мощное расширение для Visual Studio Code, которое упрощает разработку агентов. Инженеры AI могут легко создавать AI-приложения, разрабатывать и тестировать генеративные модели — локально или в облаке. Расширение поддерживает большинство популярных генеративных моделей, доступных сегодня.

Примечание: AI Toolkit в настоящее время поддерживает Python и TypeScript.

Цели обучения

К концу этого урока вы сможете:

  • Использовать сервер MCP через AI Toolkit.
  • Настроить конфигурацию агента, чтобы он мог обнаруживать и использовать инструменты, предоставляемые сервером MCP.
  • Использовать инструменты MCP через естественный язык.

Подход

Вот общий подход к выполнению задачи:

  • Создать агента и определить его системный запрос.
  • Создать сервер MCP с инструментами калькулятора.
  • Подключить Agent Builder к серверу MCP.
  • Протестировать вызов инструментов агента через естественный язык.

Отлично, теперь, когда мы понимаем процесс, давайте настроим AI-агента для использования внешних инструментов через MCP, расширяя его возможности!

Предварительные требования

Упражнение: Использование сервера

Warning

Примечание для пользователей macOS. Мы в настоящее время исследуем проблему, связанную с установкой зависимостей на macOS. В результате пользователи macOS пока не смогут завершить этот урок. Мы обновим инструкции, как только будет доступно решение. Спасибо за ваше терпение и понимание!

В этом упражнении вы создадите, запустите и улучшите AI-агента с инструментами из сервера MCP внутри Visual Studio Code, используя AI Toolkit.

-0- Предварительный шаг: добавьте модель OpenAI GPT-4o в раздел My Models

В упражнении используется модель GPT-4o. Модель должна быть добавлена в My Models перед созданием агента.

  1. Откройте расширение AI Toolkit из Activity Bar.
  2. В разделе Catalog выберите Models, чтобы открыть Model Catalog. Выбор Models откроет Model Catalog в новой вкладке редактора.
  3. В строке поиска Model Catalog введите OpenAI GPT-4o.
  4. Нажмите + Add, чтобы добавить модель в список My Models. Убедитесь, что вы выбрали модель, которая Hosted by GitHub.
  5. В Activity Bar подтвердите, что модель OpenAI GPT-4o появилась в списке.

-1- Создание агента

Agent (Prompt) Builder позволяет создавать и настраивать собственных AI-агентов. В этом разделе вы создадите нового агента и назначите модель для ведения диалога.

  1. Откройте расширение AI Toolkit из Activity Bar.
  2. В разделе Tools выберите Agent (Prompt) Builder. Выбор Agent (Prompt) Builder откроет Agent (Prompt) Builder в новой вкладке редактора.
  3. Нажмите кнопку + New Agent. Расширение запустит мастер настройки через Command Palette.
  4. Введите имя Calculator Agent и нажмите Enter.
  5. В Agent (Prompt) Builder, в поле Model, выберите модель OpenAI GPT-4o (via GitHub).

-2- Создание системного запроса для агента

После создания структуры агента пора определить его личность и цель. В этом разделе вы воспользуетесь функцией Generate system prompt, чтобы описать предполагаемое поведение агента — в данном случае калькулятора — и позволить модели написать системный запрос за вас.

  1. В разделе Prompts нажмите кнопку Generate system prompt. Эта кнопка откроет инструмент генерации запроса, который использует AI для создания системного запроса для агента.
  2. В окне Generate a prompt введите следующее: Вы — полезный и эффективный математический помощник. Когда вам дают задачу, связанную с базовой арифметикой, вы отвечаете правильным результатом.
  3. Нажмите кнопку Generate. В нижнем правом углу появится уведомление, подтверждающее, что системный запрос генерируется. После завершения генерации запрос появится в поле System prompt в Agent (Prompt) Builder.
  4. Проверьте System prompt и при необходимости измените его.

-3- Создание сервера MCP

Теперь, когда вы определили системный запрос агента, направляющий его поведение и ответы, пора оснастить агента практическими возможностями. В этом разделе вы создадите сервер MCP-калькулятора с инструментами для выполнения операций сложения, вычитания, умножения и деления. Этот сервер позволит вашему агенту выполнять математические операции в реальном времени в ответ на запросы на естественном языке.

AI Toolkit оснащен шаблонами для упрощения создания собственного сервера MCP. Мы будем использовать шаблон Python для создания сервера MCP-калькулятора.

Примечание: AI Toolkit в настоящее время поддерживает Python и TypeScript.

  1. В разделе Tools в Agent (Prompt) Builder нажмите кнопку + MCP Server. Расширение запустит мастер настройки через Command Palette.

  2. Выберите + Add Server.

  3. Выберите Create a New MCP Server.

  4. Выберите шаблон python-weather.

  5. Выберите Default folder для сохранения шаблона сервера MCP.

  6. Введите следующее имя для сервера: Calculator.

  7. Откроется новое окно Visual Studio Code. Выберите Yes, I trust the authors.

  8. Используя терминал (Terminal > New Terminal), создайте виртуальное окружение: python -m venv .venv.

  9. Используя терминал, активируйте виртуальное окружение:

    • Windows - .venv\Scripts\activate
    • macOS/Linux - source .venv/bin/activate
  10. Используя терминал, установите зависимости: pip install -e .[dev].

  11. В Explorer в Activity Bar разверните директорию src и выберите server.py, чтобы открыть файл в редакторе.

  12. Замените код в файле server.py следующим и сохраните:

    """
    Sample MCP Calculator Server implementation in Python.
    
    
    This module demonstrates how to create a simple MCP server with calculator tools
    that can perform basic arithmetic operations (add, subtract, multiply, divide).
    """
    
    from mcp.server.fastmcp import FastMCP
    
    server = FastMCP("calculator")
    
    @server.tool()
    def add(a: float, b: float) -> float:
        """Add two numbers together and return the result."""
        return a + b
    
    @server.tool()
    def subtract(a: float, b: float) -> float:
        """Subtract b from a and return the result."""
        return a - b
    
    @server.tool()
    def multiply(a: float, b: float) -> float:
        """Multiply two numbers together and return the result."""
        return a * b
    
    @server.tool()
    def divide(a: float, b: float) -> float:
        """
        Divide a by b and return the result.
        
        Raises:
            ValueError: If b is zero
        """
        if b == 0:
            raise ValueError("Cannot divide by zero")
        return a / b

-4- Запуск агента с сервером MCP-калькулятора

Теперь, когда ваш агент оснащен инструментами, пора их использовать! В этом разделе вы отправите запросы агенту, чтобы протестировать и проверить, использует ли агент соответствующий инструмент из сервера MCP-калькулятора.

  1. Нажмите F5, чтобы начать отладку сервера MCP. Agent (Prompt) Builder откроется в новой вкладке редактора. Статус сервера будет виден в терминале.
  2. В поле User prompt в Agent (Prompt) Builder введите следующий запрос: Я купил 3 предмета по цене $25 каждый, а затем использовал скидку $20. Сколько я заплатил?
  3. Нажмите кнопку Run, чтобы сгенерировать ответ агента.
  4. Проверьте вывод агента. Модель должна прийти к выводу, что вы заплатили $55.
  5. Вот что должно произойти:
    • Агент выбирает инструменты multiply и subtract, чтобы помочь в расчете.
    • Соответствующие значения a и b назначаются для инструмента multiply.
    • Соответствующие значения a и b назначаются для инструмента subtract.
    • Ответ от каждого инструмента предоставляется в соответствующем Tool Response.
    • Финальный вывод модели предоставляется в Model Response.
  6. Отправьте дополнительные запросы, чтобы еще больше протестировать агента. Вы можете изменить существующий запрос в поле User prompt, щелкнув в поле и заменив текущий запрос.
  7. После завершения тестирования агента вы можете остановить сервер через терминал, введя CTRL/CMD+C, чтобы выйти.

Задание

Попробуйте добавить дополнительный инструмент в файл server.py (например, вычисление квадратного корня числа). Отправьте дополнительные запросы, которые потребуют от агента использования вашего нового инструмента (или существующих инструментов). Не забудьте перезапустить сервер, чтобы загрузить вновь добавленные инструменты.

Решение

Решение

Основные выводы

Основные выводы из этой главы:

  • Расширение AI Toolkit — отличный клиент, который позволяет использовать MCP-серверы и их инструменты.
  • Вы можете добавлять новые инструменты в MCP-серверы, расширяя возможности агента для удовлетворения изменяющихся требований.
  • AI Toolkit включает шаблоны (например, шаблоны серверов MCP на Python), чтобы упростить создание пользовательских инструментов.

Дополнительные ресурсы

Что дальше

Отказ от ответственности:
Этот документ был переведен с использованием сервиса автоматического перевода Co-op Translator. Хотя мы стремимся к точности, пожалуйста, имейте в виду, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода.