Повышение листингов Airbnb: GPT-4o Mini против 3.5 Сонета Anthropic в Agentic RAG
Исследуйте производительность GPT-4o Mini и 3.5 Sonnet от Anthropic при создании агентов для описаний листингов Airbnb. Узнайте, как настроить практический набор данных, встраивания и конвейер агентского RAG с использованием Llama Index и VectorDB. Откройте для себя сильные и слабые стороны каждой модели в этом всестороннем сравнении.
24 февраля 2025 г.

Узнайте, как последняя модель GPT-4o Mini от OpenAI работает в создании агентов для Agentic RAG, мощной техники для информационного поиска. Эта статья предоставляет практическое сравнение с моделью Anthropic Cloud 3.5 Sonnet, используя реальный набор данных Airbnb для демонстрации возможностей и ограничений каждой модели в агентном рабочем процессе.
Представляем GPT-4o Mini: экономичная модель для агентной RAG
Настройка среды и данных
Встраивание набора данных Airbnb
Создание векторного хранилища и инструмента поисковой системы
Реализация агентного рабочего
Сравнение GPT-4o Mini и Cloud 3.5 Sonnet в качестве агентов
Заключение
Представляем GPT-4o Mini: экономичная модель для агентной RAG
Представляем GPT-4o Mini: экономичная модель для агентной RAG
GPT-4o Mini - это последняя и самая экономичная модель от OpenAI, и она является одной из лучших моделей в своем ценовом диапазоне. Однако остается вопрос: насколько хороша эта модель для создания агентов, в частности агентных Retrieval-Augmented Generation (RAG)?
В этом разделе мы исследуем производительность GPT-4o Mini в сравнении с моделью Anthropic Cloud 3.5 Sonnet, которая является популярным выбором для агентных RAG. Мы будем использовать практический набор данных, набор данных встроенных Airbnb из MongoDB, чтобы протестировать возможности этих моделей.
Набор данных содержит различные метаданные, и мы будем предварительно обрабатывать данные, чтобы создать подходящий ввод для конвейера RAG. Мы будем использовать Llama Index для настройки реализации RAG, используя его агентные возможности.
Для LLM или агента мы будем использовать как GPT-4o Mini, так и Cloud 3.5 Sonnet, а для VectorDB мы будем полагаться на ChromaDB. Мы пройдем через процесс настройки, включая установку необходимых библиотек, настройку переменных среды и настройку моделей LLM и встраивания.
Настройка среды и данных
Настройка среды и данных
Чтобы начать, нам сначала нужно настроить необходимые библиотеки и переменные среды. Мы установим необходимые пакеты, включая Llama Index, OpenAI и ChromaDB.
Затем мы настроим переменные среды, включая ключ API OpenAI и маркер Hugging Face (если потребуется).
Затем мы настроим LLM (языковую модель) и модели встраивания. Для LLM мы будем использовать модель GPT-4 OM Mini. Для встраиваний мы будем использовать модель OpenAI TextEmbedding3 small, которая позволяет нам настраивать размер встраивания, чтобы уменьшить вычислительные и затраты на хранение.
После настройки моделей мы перейдем к загрузке и обработке данных. Мы будем использовать набор данных встроенных Airbnb из MongoDB, сосредоточившись на первых 2000 точках данных, чтобы сохранить время обработки и затраты в разумных пределах.
Встраивание набора данных Airbnb
Встраивание набора данных Airbnb
Чтобы встроить набор данных Airbnb, мы сначала преобразуем набор данных в список документов JSON. Затем мы создаем шаблон метаданных, который включает важную информацию, такую как название листинга Airbnb, резюме, правила дома, тип недвижимости, тип комнаты, тип спальни, количество спален и количество кроватей. Эти метаданные добавляются к тексту, который будет встроен.
Затем мы разбиваем текст на фрагменты по 5000 символов, чтобы убедиться, что каждый вектор встраивания может захватить соответствующую информацию. Затем мы вычисляем встраивания с использованием модели OpenAI TextEmbedding3 small, которая позволяет нам настраивать размер встраивания, чтобы уменьшить вычислительные и затраты на хранение.
После вычисления встраиваний мы храним их в векторном хранилище ChromaDB, которое будет служить базой знаний для нашего агента. Мы создаем класс QueryEngineToolClass, который предоставит агенту доступ к векторному хранилищу, позволяя ему извлекать наиболее релевантные фрагменты текста на основе запроса пользователя.
Создание векторного хранилища и инструмента поисковой системы
Создание векторного хранилища и инструмента поисковой системы
Чтобы создать рабочего агента, мы сначала определяем инструменты, которые будут доступны агенту. В этом случае мы используем класс QueryEngineToolV2
из Llama Index, который предоставляет доступ к векторному хранилищу, которое мы создали ранее.
query_engine_tool = QueryEngineToolV2(
"Knowledge base",
"Provides information about Airbnb listings and reviews, use a detailed plain text question as input to the tool.",
self.vector_store
)
tools = [query_engine_tool]
Затем мы создаем рабочего агента, используя класс FunctionCallingAgentWorker
из Llama Index. Мы предоставляем список инструментов и языковую модель (в данном случае GPT-4 Mini) рабочему агенту.
agent_worker = FunctionCallingAgentWorker(
tools,
self.llm,
verbose=True
)
self.agent = agent_worker
Теперь мы можем использовать функцию chat
агента, чтобы взаимодействовать с ним. Мы можем предоставить агенту запрос, и он будет использовать инструменты для генерации ответа.
Реализация агентного рабочего
Реализация агентного рабочего
В этом разделе мы сравниваем производительность GPT-4o Mini и Cloud 3.5 Sonnet в качестве агентов в практическом агентном рабочем процессе RAG (Retrieval Augmented Generation) с использованием набора данных встроенных Airbnb из MongoDB.
Основные выводы:
-
GPT-4o Mini в качестве агента: Хотя GPT-4o Mini является способной моделью, она испытывает трудности с агентным рабочим процессом. Процесс мышления модели не хорошо артикулирован, и ответы не обладают уровнем детализации и точности, ожидаемым от эффективного агента.
-
Cloud 3.5 Sonnet в качестве агента: В отличие от этого, Cloud 3.5 Sonnet демонстрирует превосходную производительность в качестве агента. Он эффективно переписывает запросы, использует инструмент базы знаний для сбора соответствующей информации и предоставляет подробные и точные ответы, даже когда база знаний не содержит конкретной информации о запрашиваемой теме.
-
Важность мощных LLM для агентных рабочих процессов: Сравнение подчеркивает важность использования более мощной и способной LLM, такой как Cloud 3.5 Sonnet, для агентных рабочих процессов. Способность агента понимать контекст, переписывать запросы и генерировать высококачественные ответы имеет решающее значение для эффективного выполнения задач и взаимодействия с пользователем.
Часто задаваемые вопросы
Часто задаваемые вопросы

