Опубликовано: 16 мая 2024 г.
При совершении покупок в Интернете может быть ошеломляюще видеть количество обзоров продуктов и количество доступных продуктов. Как нам разобраться во всем этом шуме и найти продукт, который действительно будет отвечать нашим конкретным потребностям?
Например, предположим, что мы покупаем рабочий рюкзак. Рюкзаки должны соответствовать балансу функциональности, эстетики и практичности. Из-за большого количества отзывов практически невозможно узнать, нашли ли вы идеальную сумку. Что, если бы мы могли использовать ИИ, чтобы разобраться в этом шуме и найти идеальный продукт?
Было бы полезно краткое изложение всех обзоров, а также список наиболее распространенных плюсов и минусов.
Для этого мы используем генеративный искусственный интеллект на стороне сервера. Вывод происходит на сервере.
В этом документе вы можете ознакомиться с руководством по API Gemini с Node.js , используя Google AI JavaScript SDK для обобщения данных из многих обзоров. Мы концентрируемся на генеративной части этой работы; мы не будем рассказывать о том, как сохранять результаты или создавать очередь заданий.
На практике вы можете использовать любой LLM API с любым SDK. Однако предлагаемую подсказку, возможно, придется адаптировать в соответствии с выбранной вами моделью.
Предварительные условия
Создайте ключ для Gemini API и определите его в файле среды.
Установите Google AI JavaScript SDK, например, с помощью npm:
npm install @google/generative-ai
Создание приложения для суммирования обзоров
- Инициализируйте генеративный объект AI .
- Создайте функцию для создания сводок отзывов.
- Выберите генеративную модель ИИ. В нашем случае мы будем использовать Gemini Pro. Используйте модель, соответствующую вашему варианту использования (например,
gemini-pro-vision
предназначена для мультимодального ввода). - Добавьте подсказку.
- Вызовите
generateContent
, чтобы передать приглашение в качестве аргумента. - Сгенерируйте и верните ответ.
- Выберите генеративную модель ИИ. В нашем случае мы будем использовать Gemini Pro. Используйте модель, соответствующую вашему варианту использования (например,
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 , чтобы определить, какая модель лучше всего соответствует вашему конкретному случаю использования.
Следующие шаги
Приложение, которое мы создали, в значительной степени опирается на качественные обзоры, чтобы предоставлять наиболее эффективные сводки. Чтобы собрать эти качественные обзоры, прочтите следующую статью из этой серии: « Помогите пользователям писать полезные обзоры продуктов с помощью веб-ИИ на устройстве» .
Мы хотим услышать ваше мнение об этом подходе. Расскажите нам, какие варианты использования вас больше всего интересуют. Вы можете поделиться своим отзывом и присоединиться к программе ранней предварительной версии, чтобы протестировать эту технологию на местных прототипах.
Ваш вклад может помочь нам сделать ИИ мощным и практичным инструментом для каждого.
Далее: Помогите пользователям писать полезные обзоры продуктов