В этом руководстве вы узнаете:
- Что представляет собой библиотека Qwen-Agent и как она помогает создавать агентов искусственного интеллекта.
- Почему использование Qwen3 с сервером Bright Data MCP идеально подходит для создания агентов ИИ нового поколения.
- Как интегрировать Qwen-Agent с MCP от Bright Data для создания компетентного агента на базе Qwen3.
Давайте погрузимся!
Что такое Qwen-Agent?
Qwen-Agent – это фреймворк с открытым исходным кодом, разработанный Alibaba Cloud для создания продвинутых приложений на базе LLM. Он использует возможности моделей Qwen для создания агентов ИИ с поддержкой выполнения инструкций, использования инструментов, планирования и управления памятью.
Эта библиотека, в частности, служит бэкендом для Qwen Chat. Она предлагает основные компоненты для создания ИИ-агентов, с встроенной поддержкой вызова функций и инструментов – даже через MCP(Model Context Protocol).
Qwen-Agent обеспечивает гибкое развертывание моделей, как с помощью сервиса DashScope компании Alibaba Cloud, так и с помощью самостоятельно размещенных моделей Qwen. Он также включает веб-интерфейс на основе Gradio для быстрого развертывания и тестирования агентов в браузере.
Зачем объединять Qwen3 с MCP-сервером в Qwen-Agent
Qwen3 – это новейшая модель, разработанная Alibaba Cloud. Она обеспечивает высокую производительность и, будучи открытой, доступна бесплатно через множество онлайн-провайдеров (и вы даже можете самостоятельно разместить ее!). Это делает ее идеальным выбором для создания экономичных, но мощных агентов искусственного интеллекта.
ИИ-агенты, работающие на базе Qwen3 и созданные с помощью Qwen-Agent, уже обладают такими возможностями. Тем не менее, они наследуют ограничения базового LLM. Эти ограничения, такие как отсутствие доступа к информации в реальном времени, можно преодолеть, предоставив агенту точные данные и дав ему возможность исследовать веб-страницы в реальном времени.
Именно здесь на помощь приходит сервер Bright Data MCP. Построенный на базе Node.js, MCP-сервер интегрируется с набором инструментов для поиска данных искусственного интеллекта Bright Data. С помощью этих инструментов ваш агент получает доступ к веб-контенту в режиме реального времени, запрашивает структурированные наборы данных и выполняет веб-скрептинг в реальном времени.
На данный момент поддерживаются следующие инструменты MCP:
Инструмент | Описание |
---|---|
поисковая_система |
Соскабливает результаты поиска из Google, Bing или Yandex. Возвращает результаты SERP в формате markdown (URL, заголовок, описание). |
scrape_as_markdown |
Соскребайте одну веб-страницу и возвращайте извлеченный контент в формате Markdown. Работает даже на защищенных от ботов или CAPTCHA страницах. |
scrape_as_html |
То же самое, что и выше, но возвращает содержимое в виде необработанного HTML. |
статистика сессии |
Предоставляет сводку об использовании инструмента в текущем сеансе. |
web_data_amazon_product |
Получение структурированных данных о товарах Amazon по URL /dp/ . Более надежно, чем скраппинг, благодаря кэшированию. |
web_data_amazon_product_reviews |
Получение структурированных данных об обзорах Amazon по URL-адресу /dp/ . Кэшированные и надежные. |
web_data_linkedin_person_profile |
Доступ к структурированным данным профиля LinkedIn. Кэшированные данные для обеспечения согласованности и скорости. |
веб-данные_linkedin_company_profile |
Доступ к структурированным данным компании LinkedIn. Кэшированная версия повышает надежность. |
web_data_zoominfo_company_profile |
Получение структурированных данных о компании ZoomInfo. Требуется действительный URL-адрес ZoomInfo. |
web_data_instagram_profiles |
Структурированные данные профиля Instagram. Требуется действительный URL-адрес Instagram. |
web_data_instagram_posts |
Получение структурированных данных для постов Instagram. |
web_data_instagram_reels |
Получение структурированных данных для роликов Instagram. |
web_data_instagram_comments |
Получение комментариев Instagram в виде структурированных данных. |
web_data_facebook_posts |
Доступ к структурированным данным для постов в Facebook. |
веб_данные_facebook_marketplace_listings |
Получение структурированных объявлений из Facebook Marketplace. |
веб_данные_facebook_company_reviews |
Получение отзывов о компании из Facebook. Требуется URL-адрес компании и количество отзывов. |
web_data_x_posts |
Получение структурированных данных из сообщений X (ранее Twitter). |
web_data_zillow_properties_listing |
Доступ к структурированным данным листинга Zillow. |
web_data_booking_hotel_listings |
Получите структурированные объявления об отелях с сайта Booking.com. |
web_data_youtube_videos |
Структурированные видеоданные YouTube. Требуется действительный URL-адрес видео. |
scraping_browser_navigate |
Перейдите в браузере скрапбукинга на новый URL-адрес. |
scraping_browser_go_back |
Перейдите на предыдущую страницу. |
scraping_browser_go_forward |
Перейдите вперед в истории браузера. |
scraping_browser_click |
Щелкните определенный элемент на странице. Требуется селектор элементов. |
соскабливание_браузерных_ссылок |
Получает все ссылки на текущей странице вместе с их селекторами и текстом. |
scraping_browser_type |
Имитация ввода текста в поле ввода. |
scraping_browser_wait_for |
Дождитесь, пока определенный элемент станет видимым. |
scraping_browser_screenshot |
Сделайте снимок экрана текущей страницы. |
scraping_browser_get_html |
Получает полный HTML текущей страницы. Используйте с осторожностью, если содержимое полной страницы не нужно. |
scraping_browser_get_text |
Получение видимого текстового содержимого текущей страницы. |
Чтобы изучить несколько реальных примеров, прочитайте наше руководство по скраппингу с помощью сервера MCP или посмотрите, как он интегрируется с такими инструментами, как Google SDK.
Примечание: Bright Data постоянно расширяет набор инструментов MCP, поэтому со временем ожидайте появления еще большего количества возможностей.
А теперь посмотрите, как вы можете использовать эти инструменты MCP через Qwen3 с Qwen-Agent!
Как интегрировать Qwen-Agent с сервером Bright MCP Server на Python
В этом разделе вы узнаете, как использовать Qwen-Agent для создания мощного ИИ-агента на Python, работающего на базе Qwen3. Агент будет оснащен возможностями сбора, извлечения и преобразования данных в реальном времени с помощью сервера Bright Data MCP.
В качестве примера мы покажем, как агент искусственного интеллекта может получать данные о товарах с сайта Amazon, которыйизвестен своими проблемами со скраппингом. Обратите внимание, что это лишь один из возможных вариантов использования. Агент ИИ может использовать любой из 20 с лишним инструментов, доступных на сервере MCP, для решения самых разных задач.
Примечание: Просто давая агенту ИИ различные подсказки, вы можете реализовать любой другой сценарий или вариант использования.
Выполните следующие шаги, чтобы создать свой ИИ-агент на базе Bright Data MCP с помощью Qwen-Agent и Qwen 3!
Пререквизиты
Чтобы следовать этому руководству, вы должны иметь:
- Локально установленныйPython 3.10 или выше.
- Node.js установлен локально.
Вам также понадобятся:
- Учетная запись Bright Data.
- Ключ API OpenRouter.
Приведенные ниже шаги помогут вам настроить учетные данные Bright Data и OpenRouter, когда это потребуется. Поэтому не беспокойтесь о них сейчас.
Хотя это и не обязательно, следующие знания помогут вам извлечь максимум пользы из этого учебника:
- Общее понимание того, как работает MCP.
- Базовые знания о том, как работает Qwen Agent.
- Некоторые знания о сервере Bright Data MCP и его доступных инструментах.
- Некоторый опыт работы с асинхронным программированием на Python.
Шаг №1: Настройка проекта
Откройте терминал и создайте новую папку для вашего агента ИИ на базе MCP:
mkdir qwen-agent-mcp
Папка qwen-agent-mcp
будет содержать весь код для вашего агента ИИ на Python.
Затем перейдите в папку проекта и создайте в ней виртуальную среду:
cd qwen-agent-mcp
python -m venv venv
Откройте папку проекта в предпочитаемой вами среде разработки Python. Мы рекомендуем использовать Visual Studio Code с расширением Python или PyCharm Community Edition.
Создайте файл с именем agent.py
в папке проекта, который теперь должен выглядеть следующим образом:
В настоящее время файл agent.py
пуст, но вскоре он будет содержать логику для интеграции Qwen3 с сервером Bright Data MCP.
Активируйте виртуальную среду с помощью терминала в вашей IDE. В Linux или macOS выполните эту команду:
source venv/bin/activate
Аналогично, в Windows запустите:
venv/Scripts/activate
Все готово! Теперь у вас есть среда Python для создания агента искусственного интеллекта с помощью Qwen-Agent и MCP-сервера Bright Data.
Шаг #2: Настройка чтения переменных окружения
Ваш проект будет взаимодействовать со сторонними сервисами, такими как OpenRouter и Bright Data. Избегайте жесткого кодирования API-ключей в коде на Python. Вместо этого загружайте их из переменных окружения для повышения безопасности и удобства обслуживания.
Чтобы упростить этот процесс, мы воспользуемся библиотекой python-dotenv
. Активировав виртуальную среду, установите ее, выполнив команду:
pip install python-dotenv
Далее в файле agent.py
импортируйте библиотеку и загрузите переменные окружения с помощью load_dotenv()
:
from dotenv import load_dotenv
load_dotenv()
Это позволит вашему скрипту считывать переменные окружения из локального файла .env
. Поэтому создайте файл .env
в папке проекта:
Теперь вы можете обращаться к переменным окружения в своем коде следующим образом:
env_value = os.getenv("<ENV_NAME>")
Не забудьте импортировать модуль os
из стандартной библиотеки Python:
import os
Отлично! Теперь вы настроены на безопасную загрузку секретов из переменных окружения.
Шаг № 3: Начало работы с Google ADK
В активированной виртуальной среде установите библиотеку Qwen-Agent, выполнив команду :
pip install "qwen-agent[gui,mcp]"
Обратите внимание, что qwen-agent
поддерживает несколько дополнительных подмодулей. Для данного руководства достаточно этих двух:
[gui]
для пользовательского интерфейса на основе Gradio.[mcp]
для интеграции с любым MCP-сервером.
Затем откройте файл agent.py
и включите в него следующие импорты:
from qwen_agent.agents import Assistant
from qwen_agent.gui import WebUI
Они будут использоваться на следующих шагах для подключения Qwen-Agent к серверу MCP и внедрения вашего агента ИИ.
По умолчанию Qwen-Agent ожидает наличия в вашей среде ключа API DashScope для доступа к моделям Qwen. Однако в этом руководстве мы будем использовать Qwen3 через бесплатную платформу OpenRouter.
⚠️ Внимание: Вы можете удивиться, почему мы не используем DashScope из Alibaba Cloud для прямого доступа к Qwen3. Причина в том, что на момент написания этой статьи существуют ограничения для международных пользователей (т. е. пользователей за пределами Китая). В настоящее время эти ограничения приводят к появлению следующего (несколько вводящего в заблуждение) сообщения об ошибке:
Error code: InvalidApiKey. Error message: Invalid API-key provided.
Чтобы избежать этой проблемы, вы можете использовать OpenRouter или любую другую платформу, которая предоставляет доступ к Qwen3 без региональных ограничений.
Теперь давайте разберемся, как настроить API-ключ OpenRouter для интеграции с Qwen3!
Шаг #4: Получение ключа API OpenRouter
Если вы еще этого не сделали, зарегистрируйте учетную запись OpenRouter. Если она у вас уже есть, просто войдите в нее.
Затем перейдите на страницу “Ключи API”, наведя курсор на изображение вашего профиля в правом верхнем углу и выбрав опцию “Ключи”:
Нажмите кнопку “Создать ключ API” и следуйте инструкциям, чтобы сгенерировать ключ. Затем скопируйте ключ и добавьте его в файл .env
следующим образом:
OPEN_ROUTER_API_KEY="<YOUR_OPEN_ROUTER_API_KEY>"
Замените на ваш настоящий ключ API OpenRouter.
Далее в файле agent.py
загрузите ключ с помощью:
OPEN_ROUTER_API_KEY = os.getenv("OPEN_ROUTER_API_KEY")
Потрясающе! Теперь вы готовы использовать Qwen3 с Qwen-Agent через OpenRouter.
Шаг #5: Настройка сервера Bright Data MCP Server
Начните с [создания новой учетной записи Bright Data]() или просто войдите в существующую учетную запись.
Далее следуйте официальным инструкциям:
- Получите свой API-токен Bright Data.
- Настройте Web Unlocker и Scraping Browser для интеграции с MCP.
После этого вы должны получить:
- Токен API Bright Data.
- Зона Web Unlocker (здесь мы будем считать, что имя зоны по умолчанию “mcp_unlocker”).
- Скрап учетных данных браузера в формате
<BRIGHT_DATA_SB_USERNAME>:<BRIGHT_DATA_SB_PASSWORD>
.
Теперь установите сервер Bright Data MCP глобально в среду Node.js с помощью:
npm install -g @brightdata/mcp
Затем укажите в терминале два окружения:
API_TOKEN="<YOUR_BRIGHT_DATA_API_TOKEN>"
BROWSER_AUTH="<BRIGHT_DATA_SB_USERNAME>:<BRIGHT_DATA_SB_PASSWORD>"
Выполните правильную процедуру определения переменной среды в зависимости от операционной системы.
Теперь вы можете запустить сервер MCP с помощью пакета @brightdata/mcp
npm:
npx -y @brightdata/mcp
Эта команда запускает MCP-сервер локально, считывая необходимые переменные окружения(API_TOKEN
и BROWSER_AUTH
). Если все настроено правильно, вы должны увидеть результат, подобный этому:
Checking for required zones...
Required zone "mcp_unlocker" already exists
Starting server...
Отличная работа! Сервер Bright Data MCP работает как шарм.
Затем добавьте эти две переменные окружения в файл .env
:
BRIGHT_DATA_API_TOKEN="<YOUR_BRIGHT_DATA_API_TOKEN>"
BRIGHT_DATA_BROWSER_AUTH="<BRIGHT_DATA_SB_USERNAME>:<BRIGHT_DATA_SB_PASSWORD>"
Замените заполнители реальными значениями.
В файле agent.py
загрузите эти переменные:
BRIGHT_DATA_API_TOKEN = os.getenv("BRIGHT_DATA_API_TOKEN")
BRIGHT_DATA_BROWSER_AUTH = os.getenv("BRIGHT_DATA_BROWSER_AUTH")
Отлично! Теперь у вас все готово для интеграции сервера Bright Data MCP с Qwen-Agent.
Шаг #6: Определение агента Qwen3 MCP-Powered Agent
Создайте функцию для инициализации вашего агента ИИ с поддержкой Qwen3 и MCP:
def initialize_mcp_agent():
# To connect to Qwen3 via OpenRouter
llm_cfg = {
"model": "qwen/qwen3-32b:free",
"model_server": "https://openrouter.ai/api/v1",
"api_key": OPEN_ROUTER_API_KEY,
}
# To connect to the Bright Data MCP server
tools = [{
"mcpServers": {
"brightdata": {
"command": "npx",
"args": ["-y", "@brightdata/mcp"],
"env": {
"API_TOKEN": BRIGHT_DATA_API_TOKEN,
"BROWSER_AUTH": BRIGHT_DATA_BROWSER_AUTH,
}
}
}
}]
# Define the Qwen-Agent assistant with MCP integration
agent = Assistant(
llm=llm_cfg,
function_list=tools,
name="MCP-Powered Assistant with Access to Live Data",
description="This agent can answer questions by retrieving up-to-date information from the Internet using configured MCP tools"
)
return agent
Как вы можете видеть, в приведенном выше коде:
- Словарь
llm_cfg
устанавливает доступ к бесплатной версии Qwen3 через API OpenRouter. - Массив
инструментов
определяет способ подключения к серверу Bright Data MCP, позволяя агенту ИИ вызывать внешние инструменты для получения данных. - Наконец, класс
Assistant()
, предоставляемый Qwen-Agent, используется для определения агента ИИ с интеграцией LLM и инструментов.
Вот оно! Благодаря Qwen-Agent интеграция MCP в ваш ИИ-агент занимает всего несколько строк кода.
Шаг #7: Запуск агента Qwen3 MCP
Добавьте следующий код в agent.py
, чтобы запустить определенный агент ИИ в интерфейсе Gradio:
if __name__ == "__main__":
# Initialize the MCP-powered agent
mcp_agent = initialize_mcp_agent()
# Launch the Gradio-based web UI to interact with the AI agent in the browser
WebUI(mcp_agent).run()
Миссия выполнена! Осталось только протестировать код и посмотреть, на что способен агент ИИ.
Шаг № 8: Соберите все вместе
Это финальный код в файле agent.py:
from dotenv import load_dotenv
import os
from qwen_agent.agents import Assistant
from qwen_agent.gui import WebUI
# Load the environment variables from the .env file
load_dotenv()
# Read the API key from OpenRouter to use Qwen3
OPEN_ROUTER_API_KEY = os.getenv("OPEN_ROUTER_API_KEY")
# Read the envs for integration with the Bright Data MCP server
BRIGHT_DATA_API_TOKEN = os.getenv("BRIGHT_DATA_API_TOKEN")
BRIGHT_DATA_BROWSER_AUTH = os.getenv("BRIGHT_DATA_BROWSER_AUTH")
# Define the agent with Qwen 3 and MCP configuration
def initialize_mcp_agent():
# To connect to Qwen3 via OpenRouter
llm_cfg = {
"model": "qwen/qwen3-32b:free",
"model_server": "https://openrouter.ai/api/v1",
"api_key": OPEN_ROUTER_API_KEY,
}
# To connect to the Bright Data MCP server
tools = [{
"mcpServers": {
"brightdata": {
"command": "npx",
"args": ["-y", "@brightdata/mcp"],
"env": {
"API_TOKEN": BRIGHT_DATA_API_TOKEN,
"BROWSER_AUTH": BRIGHT_DATA_BROWSER_AUTH,
}
}
}
}]
# Define the Qwen-Agent assistant with MCP integration
agent = Assistant(
llm=llm_cfg,
function_list=tools,
name="MCP-Powered Assistant with Access to Live Data",
description="This agent can answer questions by retrieving up-to-date information from the Internet using configured MCP tools"
)
return agent
if __name__ == "__main__":
# Initialize the MCP-powered agent
mcp_agent = initialize_mcp_agent()
# Launch the Gradio-based web UI to interact with the AI agent in the browser
WebUI(mcp_agent).run()
Вот это да! Всего за 50 строк кода вы можете создать мощного ИИ-агента на базе MCP – благодаря Qwen-Agent и OpenRouter.
Выполните агент ИИ с помощью:
python agent.py
В терминале вы должны увидеть следующий вывод:
2025-05-27 15:40:58,783 - mcp_manager.py - 122 - INFO - Initializing MCP tools from mcp servers: ['brightdata']
2025-05-27 15:40:58,800 - mcp_manager.py - 340 - INFO - Initializing a MCP stdio_client, if this takes forever, please check the config of this mcp server: brightdata
2025-05-27 15:41:01,098 - mcp_manager.py - 350 - INFO - No list resources: Method not found
* Running on local URL: http://127.0.0.1:7860
Это говорит о том, что сервер MCP работает, а ваш агент ИИ подключен и доступен по адресу http://127.0.0.1:7860.
Перейдите по этому URL-адресу в браузере, чтобы взаимодействовать с агентом через веб-интерфейс Gradio.
Например, попробуйте задать ему такой вопрос:
From the Amazon product page "https://www.amazon.com/PlayStation%C2%AE5-console-slim-PlayStation-5/dp/B0CL61F39H/", extract the main info and return it in JSON format
Это отличный тест, позволяющий проверить, может ли агент ИИ получать (и, следовательно, использовать/обучаться) данные со страницы товара Amazon PS5 в режиме реального времени:
При запуске этой подсказки в пользовательском интерфейсе должно произойти вот что:
Во-первых, обратите внимание, что на правой панели находится список всех доступных инструментов сервера Bright Data MCP. Также посмотрите, как Qwen-Agent использует инструмент web_data_amazon_product
с сервера Bright Data MCP для выполнения запроса.
Вы можете убедиться в этом, проверив список патронов в интерфейсе, который показывает результат выполнения инструмента:
В итоге конечный результат в формате JSON должен выглядеть следующим образом:
{
"title": "PlayStation®5 console (slim)",
"url": "https://www.amazon.com/PlayStation%C2%AE5-console-slim-PlayStation-5/dp/B0CL61F39H",
"brand": "Sony",
"model_number": "CFI-2015",
"price": {
"currency": "USD",
"final_price": 499
},
"availability": "In Stock",
"rating": 4.7,
"reviews_count": 6824,
"description": "The PS5 console unleashes new gaming possibilities that you never anticipated. Experience lightning fast loading with an ultra-high speed SSD, deeper immersion with support for haptic feedback, adaptive triggers, and 3D Audio*, and an all-new generation of incredible PlayStation games...",
"key_features": [
"Custom CPU, GPU, and SSD with Integrated I/O",
"Support for haptic feedback, adaptive triggers, and 3D Audio",
"Backward compatibility with PS4 games",
"1TB SSD and 10.6 lb console weight",
"Includes DualSense Wireless Controller"
],
"delivery_info": "FREE delivery Sunday, June 1. Or Prime members get FREE Same-Day delivery Today 10 AM - 3 PM.",
"images": [
"https://m.media-amazon.com/images/I/41ECK5cY-2L.SL1000.jpg",
"https://m.media-amazon.com/images/I/41srF-iY93L.SL1000.jpg"
// more image URLs...
],
"product_details": {
"ASIN": "B0CL61F39H",
"Release Date": "December 10, 2023",
"Dimensions": "14 x 17 x 7 inches",
"Weight": "10.6 pounds",
"Best Seller Rank": "#18 in Video Games",
"Manufacturer": "Sony"
},
// omitted for brevity...
}
Этот простой пример демонстрирует, насколько мощным является ваш ИИ-агент. Он может извлекать живые структурированные данные с любого сайта на лету. Это идеально подходит для живого поиска, RAG(Retrieval-Augmented Generation) и принятия актуальных решений.
Более того, агент также может использовать Agent Browser (ранее Scraping Browser) для прямого взаимодействия с веб-страницами, что позволяет автоматизировать работу на высоком уровне и создавать сложные рабочие процессы.
И вуаля! Такова мощь Qwen3 + интеграция MCP с Qwen-Agent для создания агентов ИИ нового поколения.
Заключение
В этой статье вы узнали, как создать мощного агента искусственного интеллекта на Python с помощью библиотеки Qwen-Agent в сочетании с Qwen3 и Bright Data MCP.
Как показано на рисунке, интеграция многофункционального сервера MCP с Qwen-Agent позволяет вашему агенту ИИ получать данные из Интернета в режиме реального времени и автономно выполнять сложные задачи. Это лишь один пример того, как инструменты Bright Data могут обеспечить интеллектуальные, автоматизированные рабочие процессы ИИ.
Изучите решения в нашей инфраструктуре искусственного интеллекта:
- Автономные агенты искусственного интеллекта: Поиск, доступ и взаимодействие с любыми веб-сайтами в режиме реального времени с помощью мощного набора API.
- Вертикальные приложения искусственного интеллекта: создавайте надежные пользовательские конвейеры данных для извлечения веб-данных из отраслевых источников.
- Базовые модели: Доступ к совместимым наборам данных веб-масштаба для предварительного обучения, оценки и тонкой настройки.
- Мультимодальный ИИ: воспользуйтесь крупнейшим в мире хранилищем изображений, видео и аудио, оптимизированных для ИИ.
- Поставщики данных: Подключайтесь к надежным поставщикам, чтобы получать высококачественные, готовые к искусственному интеллекту наборы данных в масштабе.
- Пакеты данных: Получайте курируемые, готовые к использованию, структурированные, обогащенные и аннотированные наборы данных.
Для получения дополнительной информации изучите наш центр искусственного интеллекта.
Создайте учетную запись Bright Data и попробуйте все наши продукты и услуги для разработки агентов искусственного интеллекта!