AI로 제품 리뷰 평가하기

Maud Nalpas
Maud Nalpas
Kenji Baheux
Kenji Baheux
Alexandra Klepper
Alexandra Klepper

온라인 쇼핑을 할 때는 제품 리뷰의 양과 제공되는 제품의 양을 보는 것이 부담스러울 수 있습니다. 이 모든 노이즈를 어떻게 처리하여 특정 요구를 실제로 충족하는 제품을 찾을 수 있을까요?

예를 들어 업무용 배낭을 쇼핑한다고 가정해 보겠습니다. 배낭은 기능, 미적 요소, 실용성의 균형을 충족해야 합니다. 리뷰 수가 많아서 완벽한 가방을 찾았는지 알기가 거의 불가능합니다. AI를 사용해 노이즈를 가려내고 완벽한 제품을 찾을 수 있다면 어떨까요?

가장 일반적인 장단점 목록과 함께 모든 리뷰에 대한 요약을 제공하는 것이 좋습니다.

긍정적 및 부정적 강조가 포함된 사용자 리뷰의 예
별표 평점과 장단점 목록이 포함된 사용자 리뷰 예

이를 위해 Google은 서버 측 생성형 AI를 사용합니다. 추론은 서버에서 발생합니다.

이 문서에서는 Google AI JavaScript SDK를 사용하여 여러 리뷰의 데이터를 요약하여 Node.js와 함께 Gemini API에 대한 튜토리얼을 진행할 수 있습니다. 여기서는 이 작업의 생성형 AI 부분에 중점을 둡니다. 결과를 저장하거나 작업 큐를 만드는 방법은 다루지 않습니다.

실제로는 모든 LLM API를 모든 SDK와 함께 사용할 수 있습니다. 하지만 추천 프롬프트는 선택한 모델에 맞게 조정해야 할 수 있습니다.

자격 요건

  1. Gemini API의 키를 만들고 환경 파일에 정의합니다.

  2. Google AI JavaScript SDK를 설치합니다(예: npm 사용). npm install @google/generative-ai

리뷰 요약 도구 애플리케이션 빌드

  1. 생성형 AI 객체를 초기화합니다.
  2. 리뷰 요약을 생성하는 함수를 만듭니다.
    1. 생성형 AI 모델을 선택합니다. 이 사용 사례에서는 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;
}

효과적인 프롬프트 작성

생성형 AI를 성공적으로 활용하는 가장 좋은 방법은 철저한 프롬프트를 만드는 것입니다. 이 예에서는 일관된 출력을 얻기 위해 원샷 프롬프팅 기법을 사용했습니다.

원샷 프롬프팅은 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개입니다. 즉, 프롬프트에는 영어로 된 평균 30단어 리뷰 중 최대 600개에서 프롬프트 명령의 나머지 부분을 뺀 값이 포함될 수 있습니다.

프롬프트가 허용된 것보다 크면 countTokens()를 사용하여 토큰 수를 확인하고 입력을 줄이세요.

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

엔터프라이즈를 위한 빌드

Google Cloud 사용자이거나 엔터프라이즈 지원이 필요한 경우 Vertex AI를 사용하여 Gemini Pro 및 Anthropic의 Claude 모델과 같은 다양한 모델에 액세스할 수 있습니다. 모델 가든을 사용하여 특정 사용 사례에 가장 적합한 모델을 결정할 수 있습니다.

다음 단계

우리가 빌드한 애플리케이션은 가장 효과적인 요약을 제공하기 위해 품질 검토에 크게 의존합니다. 이러한 품질 리뷰를 수집하려면 이 시리즈의 다음 문서인 사용자가 기기 내 웹 AI를 사용하여 유용한 제품 리뷰를 작성하도록 지원을 읽어보세요.

이러한 접근 방식에 대해 의견을 듣고자 합니다. 가장 관심이 가는 사용 사례를 알려주세요. 의견을 공유하고 초기 미리보기 프로그램에 참여하여 로컬 프로토타입으로 이 기술을 테스트할 수 있습니다.

여러분의 참여는 Google이 AI를 모두를 위한 강력하면서도 실용적인 도구로 만드는 데 도움이 됩니다

다음: 유용한 제품 리뷰 작성 지원