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

Кенджи Баэ
Kenji Baheux
Александра Клеппер
Alexandra Klepper

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

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

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

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

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

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

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

На практике вы можете использовать любой API LLM с любым 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 и другим моделям, таким как модели Клода от Anthropic, через Vertex AI . Возможно, вам также понадобится Model Garden , чтобы определить, какая модель лучше всего подходит для вашего конкретного случая.

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

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

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

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

Далее: Помогите пользователям писать полезные отзывы о товарах.