Оценивайте отзывы о продуктах с помощью ИИ

Мод Налпас
Maud Nalpas
Кенджи Бае
Kenji Baheux
Александра Клеппер
Alexandra Klepper

Опубликовано: 16 мая 2024 г.

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

Например, мы ищем рабочий рюкзак. Рюкзаки должны сочетать в себе функциональность, эстетику и практичность. Количество отзывов делает практически невозможным определить, нашли ли вы идеальную сумку. Что, если бы мы могли использовать ИИ, чтобы отсеивать все эти предложения и находить идеальный товар?

Было бы полезно получить сводку всех отзывов, а также список наиболее распространенных плюсов и минусов.

Пример отзыва пользователя с оценкой в звездах и списком плюсов и минусов.

Для этого мы используем серверный генеративный ИИ. Вывод выполняется на сервере.

В этом документе вы найдете руководство по использованию Gemini API с Node.js , используя Google AI JavaScript SDK для обобщения данных из множества обзоров. Мы сосредоточимся на генеративной части ИИ; мы не будем рассматривать, как хранить результаты или создавать очередь заданий.

На практике вы можете использовать любой LLM API с любым SDK. Однако предлагаемые подсказки могут потребовать адаптации к выбранной вами модели.

Предпосылки

  1. Создайте ключ для API Gemini и определите его в файле среды.

  2. Установите Google AI JavaScript SDK, например с помощью npm: npm install @google/generative-ai

Создайте приложение для резюмирования обзоров

  1. Инициализируем генеративный объект ИИ .
  2. Создайте функцию для генерации сводок обзоров.
    1. Выберите модель генеративного ИИ. В нашем случае мы будем использовать Gemini Pro. Используйте модель, соответствующую вашему случаю (например, gemini-pro-vision предназначена для мультимодального ввода).
    2. Добавить подсказку.
    3. Вызовите generateContent , чтобы передать приглашение в качестве аргумента.
    4. Сгенерируйте и верните ответ.
const { GoogleGenerativeAI } = require("@google/generative-ai");

// Access the API key env
const genAI = new GoogleGenerativeAI(process.env.API_KEY_GEMINI);

async function generateReviewSummary(reviews) {
  // Use gemini-pro model for text-only input
  const model = genAI.getGenerativeModel({ model: "gemini-pro" });
  // Shortened for legibility. See "Write an effective prompt" for
  // writing an actual production-ready prompt.
  const prompt = `Summarize the following product reviews:\n\n${reviews}`;
  const result = await model.generateContent(prompt);
  const response = await result.response;
  const summary = response.text();
  return summary;
}

Напишите эффективное предложение

Лучший способ добиться успеха с генеративным ИИ — создать подробную подсказку. В этом примере мы использовали технику одноразовой подсказки для получения согласованных результатов.

Однократное напоминание представлено в примере выходных данных для моделирования Gemini.

const prompt =
`I will give you user reviews for a product. Generate a short summary of the
reviews, with focus on the common positive and negative aspects across all of
the reviews. Use the exact same output format as in the example (list of
positive highlights, list of negative aspects, summary). In the summary,
address the potential buyer with second person ("you", "be aware").

Input (list of reviews):
// ... example

Output (summary of reviews):
// ... example

**Positive highlights**
// ... example
**Negative aspects**
// ... example
**Summary**
// ... example

Input (list of reviews):
${reviews}

Output (summary of all input reviews):`;

Вот пример вывода этой подсказки, который включает сводку всех отзывов, а также список распространенных плюсов и минусов.

## Summary of Reviews:

**Positive highlights:**

* **Style:** Several reviewers appreciate the backpack's color and design.
* **Organization:** Some users love the compartments and find them useful for
  organization.
* **Travel & School:** The backpack seems suitable for both travel and school
  use, being lightweight and able to hold necessary items.

**Negative aspects:**

* **Durability:** Concerns regarding the zipper breaking and water bottle holder
  ripping raise questions about the backpack's overall durability.
* **Size:** A few reviewers found the backpack smaller than expected.
* **Material:** One user felt the material was cheap and expressed concern about
  its longevity.

**Summary:**

This backpack seems to be stylish and appreciated for its organization and
suitability for travel and school. However, you should be aware of potential
durability issues with the zippers and water bottle holder. Some users also
found the backpack smaller than anticipated and expressed concerns about the
material's quality.

Лимиты токенов

Количество токенов может достигать лимита модели. Токены не всегда равны одному слову; токен может быть частью слова или несколькими словами вместе. Например, у Gemini Pro лимит токенов составляет 30 720. Это означает, что в запросе может быть максимум 600 отзывов на английском языке, средний объём которых составляет 30 слов, без учёта остальных инструкций.

Используйте countTokens() для проверки количества токенов и уменьшения ввода, если подсказка больше допустимого размера.

const MAX_INPUT_TOKENS = 30720
const { totalTokens } = await model.countTokens(prompt);
if (totalTokens > MAX_INPUT_TOKENS) {
    // Shorten the prompt.
}

Разработка для предприятий

Если вы являетесь пользователем Google Cloud или вам нужна корпоративная поддержка, вы можете получить доступ к Gemini Pro и другим моделям, например, к моделям Claude от Anthropic, с помощью Vertex AI . Вы можете использовать Model Garden , чтобы определить, какая модель лучше всего подходит для вашего конкретного случая.

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

Разработанное нами приложение в значительной степени опирается на качественные отзывы для создания наиболее эффективных обзоров. Чтобы собрать эти качественные отзывы, прочтите следующую статью из этой серии: « Помогите пользователям писать полезные обзоры продуктов с помощью встроенного веб-ИИ» .

Мы хотим узнать ваше мнение об этом подходе. Расскажите, какие варианты использования вас больше всего интересуют. Вы можете поделиться своим мнением и присоединиться к программе раннего ознакомления, чтобы протестировать эту технологию на локальных прототипах.

Ваш вклад может помочь нам сделать ИИ мощным и практичным инструментом для каждого.

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