AI

Создание агентов искусственного интеллекта на основе ярких данных в Agno

Узнайте, как оснастить агентов Agno AI инструментами для сбора данных из SERP и веб-страниц от Bright Data для точной работы с данными в режиме реального времени.
1 мин. чтения
Build an Agent with SERP and Web Scraping Tools in Agno

В этой статье вы увидите следующее:

  • Что такое Agno и что делает его особенным в качестве фреймворка для агентов искусственного интеллекта.
  • Почему интеграция с инструментами поиска данных делает ваших ИИ-агентов значительно мощнее.
  • Как объединить Agno с инструментами Bright Data для создания агентов, способных получать данные в реальном времени.

Давайте погрузимся!

Что такое Агно?

Agno – это Python-фреймворк с открытым исходным кодом для создания легких ИИ-агентов и мультиагентных систем. В него встроена поддержка памяти, интеграции знаний, расширенных рассуждений и многого другого.

Уникальность Agno заключается в следующих аспектах:

  • Не зависит от модели: Предлагает единый интерфейс для 23+ поставщиков LLM.
  • Высокая производительность: Агенты создаются примерно за 3 микросекунды, используя в среднем всего ~6,5 килобайт памяти.
  • Рассуждения как гражданин первого класса: Упор делается на рассуждения для повышения надежности агента и решения сложных задач. Поддерживаются три подхода к рассуждениям : модели рассуждений, инструменты рассуждений и пользовательские конвейеры рассуждений.
  • Встроенная мультимодальность: Агенты могут обрабатывать и генерировать текст, изображения, аудио- и видеофайлы уже в готовом виде.
  • Поддержка мультиагентных сценариев: Создавайте совместные команды агентов с общей памятью, контекстом и согласованными рассуждениями.
  • Встроенный агентский поиск: Агенты могут осуществлять поиск по более чем 20 векторным базам данных во время выполнения программы для самых современных агентных рабочих процессов RAG.
  • Встроенная память и хранение сеансов: Агенты включают встроенные драйверы хранения и памяти, обеспечивающие долговременную память и постоянное отслеживание сеансов.
  • Структурированные выходные данные: Возвращает полностью типизированные ответы.

Кроме того, в Agno встроена поддержка более 50 сторонних поставщиков инструментов ИИ. Это означает, что агенты ИИ, созданные с помощью Agno, могут легко интегрироваться с некоторыми из лучших решений ИИ на рынке.

Агентам искусственного интеллекта необходим доступ к веб-данным, чтобы быть точными и эффективными

Каждый фреймворк агента ИИ наследует ключевые ограничения от LLM, на которых он построен. Поскольку большинство LLM предварительно обучаются на статических наборах данных, они не обладают информацией о реальном времени и не могут получить надежный доступ к живому веб-контенту.

Это часто приводит к устаревшим ответам или даже галлюцинациям. Чтобы преодолеть эти ограничения, агентам (и, в качестве дополнения, LLM, на которые они полагаются) необходим доступ к доверенным веб-данным. Почему именно веб-данные? Потому что Интернет – это самый полный источник информации.

Поэтому эффективным способом достижения этой цели является предоставление агентам Agno возможности выполнять поисковые запросы в реальном времени и соскабливать контент с любой веб-страницы. Это возможно с помощью инструментов Bright Data от Agno!

Эти инструменты встроены в Agno и предоставляют агентам доступ к большому набору инструментов для работы с веб-данными, поддерживающими искусственный интеллект. Среди функций – веб-скрепинг, поиск данных SERP, возможность создания скриншотов и доступ к лентам данных в формате JSON с более чем 40 известных сайтов.

Как интегрировать яркие инструменты для сбора данных в Agno Agent

В этом разделе вы узнаете, как использовать Agno для создания агента ИИ на Python, который может подключаться к инструментам Bright Data. С их помощью ваш агент сможет считывать данные с любой страницы и получать актуальные результаты поисковых систем.

Выполните следующие шаги, чтобы создать своего ИИ-агента на основе Bright Data в Agno!

Пререквизиты

Чтобы следовать этому руководству, убедитесь, что у вас есть следующее:

Не волнуйтесь, если у вас еще нет ключа API Bright Data, мы расскажем вам о том, как его создать в следующих шагах.

Шаг №1: Настройка проекта

Откройте терминал и создайте новую папку для агента Agno AI с функцией извлечения данных на основе Bright Data:

mkdir agno-bright-data-agent

Папка agno-bright-data-agent будет содержать весь Python-код для вашего ИИ-агента.

Далее перейдите в папку проекта и создайте в ней виртуальную среду:

cd agno-bright-data-agent
python -m venv venv

Теперь откройте папку с проектом в предпочтительной среде разработки Python. Мы рекомендуем Visual Studio Code (с расширением Python) или PyCharm Community Edition.

Создайте новый файл с именем agent.py в папке проекта. Теперь структура вашего проекта должна выглядеть следующим образом:

agno-bright-data-agent/
├── venv/
└── agent.py

Активируйте виртуальную среду в терминале. В Linux или macOS выполните эту команду:

source venv/bin/activate

Аналогично, в Windows запустите:

venv/Scripts/activate

На следующих шагах вы пройдете через установку необходимых зависимостей. Если вы предпочитаете установить все сейчас, выполните следующую команду в активированной виртуальной среде:

pip install agno python-dotenv openai requests 

Примечание: Мы устанавливаем openai, потому что в этом руководстве в качестве LLM-провайдера используется OpenAI. Если вы планируете использовать другой LLM, установите соответствующую библиотеку для этого провайдера.

Все готово! Теперь у вас есть среда разработки на Python, готовая к созданию агента искусственного интеллекта с помощью инструментов Agno и Bright Data.

Шаг #2: Настройка чтения переменных окружения

Ваш агент Agno будет взаимодействовать со сторонними сервисами, такими как OpenAI и Bright Data, посредством интеграции API. Чтобы сделать это безопасно, вам не следует жестко кодировать API-ключи непосредственно в коде Python. Вместо этого храните их как переменные окружения.

Чтобы упростить загрузку переменных окружения, воспользуйтесь библиотекой python-dotenv. Активировав виртуальную среду, установите ее, выполнив команду:

pip install python-dotenv

Затем в файле agent.py импортируйте библиотеку и загрузите переменные окружения с помощью load_dotenv():

from dotenv import load_dotenv

load_dotenv()

Эта функция позволяет вашему скрипту считывать переменные из локального файла .env. Создайте файл .env в корневой папке вашего проекта:

agno-bright-data-agent/
├── venv/
├── .env # <-------------
└── agent.py

Отлично! Теперь вы можете безопасно управлять секретами сторонних интеграций с помощью переменных окружения.

Шаг № 3: Начните работу с Bright Data

На данный момент доступ к этим решениям обеспечивают инструменты Bright Data, интегрированные с Agno:

Чтобы интегрировать вышеперечисленные инструменты, вам необходимо:

  1. Настройте решения SERP API и Web Unlocker в своей учетной записи Bright Data.
  2. Получите свой токен Bright Data API для доступа к этим службам.

Следуйте инструкциям ниже, чтобы сделать и то, и другое!

Во-первых, если у вас еще нет учетной записи Bright Data, начните с ее создания. Если вы уже зарегистрированы, войдите в систему и откройте панель управления:

Нажав кнопку "Получить прокси-продукты" в своей учетной записи Bright Data

Нажмите кнопку “Получить прокси-продукты”, которая приведет вас на страницу “Прокси и инфраструктура скрапинга”:

Обратите внимание на зоны SERP API и Web Unlocker API.

В данном случае вы видите, что и SERP API, и Web Unlocker API уже активированы и готовы к использованию. Их имена зон – serp и unblocker, соответственно.

Если это не ваш случай, вам нужно их настроить. Мы покажем, как создать зону API Web Unlocker, но процесс аналогичен созданию зоны API SERP.

Прокрутите страницу вниз и нажмите “Создать зону” на карточке “Web Unlocker API”:

Нажмите кнопку "Создать зону" на карточке "Web Unlocker API".

Дайте своей зоне имя (например, unlocker), включите дополнительные функции для максимальной эффективности и нажмите “Добавить”:

Настройка новой зоны API Web Unlocker

После этого вы будете перенаправлены на страницу зоны, которая будет выглядеть следующим образом:

Страница зоны API Web Unlocker "unlocker"

Убедитесь, что тумблер активации установлен в положение “Active”, поскольку это означает, что ваша зона правильно настроена и готова к использованию.

Далее следуйте официальному руководству Bright Data, чтобы сгенерировать ключ API. Как только он будет получен, добавьте его в файл .env следующим образом:

BRIGHT_DATA_API_KEY="<YOUR_BRIGHT_DATA_API_KEY>"

Замените на реальное значение ключа API.

Замечательно! Пора интегрировать инструменты Bright Data в сценарий агента Agno.

Шаг #4: Установка и настройка инструментов Agno Bright Data Tools

В папке проекта с активированной виртуальной средой установите Agno, выполнив команду:

pip install agno

Примечание: Пакет agno уже содержит встроенную поддержку инструментов Bright Data, поэтому для этой установки не требуется никаких пакетов, специфичных для интеграции.

Поскольку инструменты Bright Data опираются на библиотеку запросов Python, не забудьте установить и ее:

pip install requests

В файле agent.py импортируйте инструменты Bright Data из Agno:

from agno.tools.brightdata import BrightDataTools

Затем инициализируйте инструменты таким образом:

bright_data_tools = BrightDataTools(
    serp_zone="YOUR_SERP_ZONE_NAME",
    web_unlocker_zone="YOUR_UNLOCKER_ZONE_NAME"
)

Замените "YOUR_SERP_ZONE_NAME" и "YOUR_UNLOCKER_ZONE_NAME" на названия зон Bright Data, которые вы настроили ранее. Например, если ваши зоны называются serp и unlocker, код будет выглядеть следующим образом:

bright_data_tools = BrightDataTools(
    serp_zone="serp",
    web_unlocker_zone="unlocker"
)

Обратите внимание, что вы также можете не передавать имена зон непосредственно в коде. Вместо этого используйте следующие переменные окружения в файле .env:

BRIGHT_DATA_WEB_UNLOCKER_ZONE="<YOUR_BRIGHT_DATA_WEB_UNLOCKER_ZONE>"
BRIGHT_DATA_SERP_ZONE="<YOUR_BRIGHT_DATA_SERP_ZONE>"

Замените заполнители реальными именами зон Bright Data. Затем удалите аргументы serp_zone и web_unlocker_zone в BrightDataTools,

Примечание: Для подключения к решениям Bright Data программа BrightDataTools полагается на переменную окружения BRIGHT_DATA_API_KEY. В частности, он ожидает, что переменная BRIGHT_DATA_API_KEY будет содержать ваш ключ API Bright Data. Именно поэтому мы добавили ее в файл .env в предыдущем шаге.

Потрясающе! Следующая интеграция – это интеграция с LLM.

Шаг #5: Настройка модели LLM

Чтобы подключиться к OpenAI – провайдеру LLM, используемому в этом учебнике, – начните с установки необходимой зависимости openai:

pip install openai

Затем импортируйте класс интеграции OpenAI из Agno:

from agno.models.openai import OpenAIChat

Теперь инициализируйте модель LLM следующим образом:

llm_model = OpenAIChat(id="gpt-4o-mini")

Выше "gpt-4o-mini" – это название модели OpenAI, используемой в данном руководстве. При необходимости вы можете изменить его на любое другое, поддерживаемое моделью OpenAI.

За кулисами OpenAIChat ожидает, что ваш ключ OpenAI API будет определен в переменной окружения OPENAI_API_KEY. Чтобы настроить ее, добавьте следующую строку в ваш файл .env:

OPENAI_API_KEY="<YOUR_OPENAI_API_KEY>"

Замените на ваш реальный ключ OpenAI API.

Примечание: Если вы предпочитаете подключиться к другому LLM, поддерживаемому Agno, обратитесь к официальной документации за инструкциями.

Отлично! Теперь у вас есть все необходимые элементы для создания агента Agno с возможностью получения данных из Интернета.

Шаг № 6: Создание агента

В файле agent.py определите своего агента:

agent = Agent(
    tools=[bright_data_tools],
    show_tool_calls=True,
    model=llm_model,
)

В результате создается агент Agno, который использует настроенную модель LLM для обработки пользовательского ввода и имеет доступ к инструментам Bright Data для получения данных. Опция show_tool_calls=True полезна для понимания происходящего, так как она показывает, какие инструменты использует агент для обработки запроса.

Не забудьте импортировать класс Agent из Agno:

from agno.agent import Agent

Фантастика! Интеграция Agno + Bright Data завершена. Осталось только отправить запрос своему агенту и увидеть его в действии.

Шаг #7: Запросите агента с помощью инструментов Bright Data Tools

Теперь вы можете взаимодействовать с агентом Agno AI с помощью следующих двух строк кода:

prompt = "Search for AAPL news"
agent.print_response(prompt, markdown=True)

Первая строка задает подсказку, которая описывает задачу или вопрос, который вы хотите, чтобы обработал ваш агент. Вторая – выполняет его и выводит результат.

Параметр markdown=True обеспечивает форматирование ответа в формате Markdown, который идеально подходит для удобного для чтения и AI вывода.

Примечание: Вы можете попробовать любой запрос, но “Search for AAPL news” – это отличная отправная точка для проверки функциональности поиска данных SERP.

Шаг № 8: Соберите все вместе

Это должен быть финальный код вашего файла agent.py:

from dotenv import load_dotenv
from agno.tools.brightdata import BrightDataTools
from agno.models.openai import OpenAIChat
from agno.agent import Agent

# Load the environment variables from the .env file
load_dotenv()

# Configure the Bright Data tools for Agno integration
bright_data_tools = BrightDataTools(
    serp_zone="serp", # Replace with your SERP API zone name
    web_unlocker_zone="unlocker" # Replace with your Web Unlocker API zone name
)

# The LLM that will be used by the AI agent
llm_model = OpenAIChat(id="gpt-4o-mini")

# The definition of your Agno agent, with Bright Data tools
agent = Agent(
    tools=[bright_data_tools],
    show_tool_calls=True, # Useful for understanding what happens behind the scenes
    model=llm_model,
)

# Run a task in the AI agent
prompt = "Search for AAPL news"
agent.print_response(prompt, markdown=True)

Менее чем за 30 строк кода вы только что создали ИИ-агента, который может соскребать данные с любой веб-страницы и выполнять поиск в реальном времени в основных поисковых системах. В этом и заключается сила Agno как полнофункционального фреймворка для создания агентов ИИ!

Шаг #9: Запустите агента Agno

Пришло время запустить агента искусственного интеллекта Agno в действие. Запустите его в терминале с помощью команды:

python agent.py

В терминале вы увидите анимированный вывод, показывающий, что агент обрабатывает запрос “Search for AAPL news”. После завершения агент выдаст результат, подобный этому:

Вывод агента Agno на запрос "Поиск новостей AAPL"

Выходные данные включают:

  1. Присланная вами подсказка.
  2. Инструмент, который агент использовал для выполнения задания. В данном случае он использовал функцию search_engine() из инструментов Bright Data для доступа к Google через SERP API и получения новостей об акциях AAPL в режиме реального времени.
  3. Ответ в формате Markdown, сгенерированный моделью OpenAI на основе полученных данных.

Примечание: Результат содержит живые новости с кликабельными ссылками, благодаря форматированию в формате Markdown. Кроме того, некоторые новости очень свежие и были опубликованы всего за несколько часов до запуска подсказки.

Теперь давайте сделаем еще один шаг вперед. Предположим, вам нужно получить краткое изложение одной из найденных новостных статей. Вы можете просто обновить подсказку:

prompt = """
Give me a summary of the following news in around 150 words.

NEWS URL:
https://www.msn.com/en-us/money/other/apple-inc-aapl-to-introduce-new-parental-controls-to-protect-kids-and-teens-online/ar-AA1HdVd6
"""
agent.print_response(prompt, markdown=True)

На этот раз результат будет выглядеть примерно так:

Выходные данные для задачи обобщения новостей

В этом случае агент использовал другой инструмент: scrape_as_markdown(), который подключается к API Web Unlocker. Этот инструмент извлекает содержимое веб-страницы в формате Markdown и передает его в LLM для обобщения.

И вуаля! Вы только что получили возможность беспрепятственно получать и обрабатывать данные в своем агенте искусственного интеллекта с помощью инструментов Bright Data и Agno.

Следующие шаги

ИИ-агент, который вы создали с помощью Agno в этом руководстве, – это только отправная точка. В деталях мы только поцарапали поверхность того, что возможно. Чтобы продвинуть свой проект дальше, рассмотрите следующие шаги:

Чтобы узнать больше идей и продвинутых интеграций, ознакомьтесь с официальной документацией Agno.

Заключение

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

Не забывайте, что то, что вы увидели здесь, – всего лишь простой пример. Если вы хотите создать более продвинутых агентов, вам понадобятся решения для получения, проверки и преобразования живых веб-данных. Именно это вы найдете в инфраструктуре ИИ Bright Data.

Создайте бесплатную учетную запись Bright Data и начните экспериментировать с нашими инструментами для работы с данными с искусственным интеллектом!