면책조항: 이 제품은 공식 Google 제품이 아닙니다.
FeedGen은 최대 30,000개의 항목에 가장 적합합니다. 더 확장하고 싶으신가요? Product Studio API 알파를 사용하거나([email protected]으로 문의) BigQuery에서 피드를 처리하는 것을 고려해 보세요.
개요 • 시작하기 • 해결 방법 • 작동 방식 • 기여 방법 • 커뮤니티 스포트라이트
gemini-1.5-pro
및 gemini-1.5-flash
에 대한 지원 추가title
과 description
대신 각각 structured_title
및 structured_description
사용하세요. 자세한 내용은 이 지침을 참조하세요.gemini-1.5-pro-preview-0409
. 모델명은 향후 (부분) 변경될 수 있으니 참고하시기 바랍니다.gemini-1.0-pro
및 gemini-1.0-pro-vision
으로 변경했습니다.gemini-pro
및 gemini-pro-vision
).gemini-pro-vision
에서만 사용 가능)v1
로 이동하고 main
에서 JS/TS로 전환했습니다. FeedGen 은 Google Cloud의 최첨단 LLM(대형 언어 모델)을 사용하여 제품 제목을 개선하고, 보다 포괄적인 설명을 생성하고, 제품 피드에서 누락된 속성을 채우는 오픈소스 도구입니다. 이는 판매자와 광고주가 간단하고 구성 가능한 방식으로 Generative AI를 사용하여 피드의 품질 문제를 표면화하고 수정하는 데 도움이 됩니다.
이 도구는 GCP의 Vertex AI API를 사용하여 GCP의 기본 LLM에 제로샷 추론 기능과 퓨샷 추론 기능을 모두 제공합니다. 몇 번의 메시지를 통해 자신의 쇼핑 피드에서 가장 좋은 3~10개의 샘플을 사용하여 자신의 데이터에 대한 모델의 응답을 맞춤화함으로써 더 높은 품질과 더 일관된 출력을 얻을 수 있습니다. 이는 자체 독점 데이터로 기본 모델을 미세 조정하여 더욱 최적화할 수 있습니다. 이 가이드에서 Vertex AI를 사용하여 모델을 미세 조정하는 방법과 이를 통해 얻을 수 있는 이점을 알아보세요.
참고: FeedGen을 사용하기 전에 대상 피드 언어가 Vertex AI 지원 언어 중 하나인지 확인하고, 그렇지 않은 경우 Google Cloud 또는 계정 담당자에게 문의하세요.
FeedGen을 시작하려면:
Getting Started
워크시트에 자세히 설명된 지침을 따르세요. 쇼핑 피드 최적화는 검색어 일치를 개선하고, 적용 범위를 늘리고, 궁극적으로 클릭률(CTR)을 높이기 위해 Google 판매자 센터(MC)와 협력하는 모든 광고주의 목표입니다. 하지만 MC에서 제품 비승인을 선별하거나 품질 문제를 수동으로 해결하는 것은 번거로운 일입니다.
FeedGen은 Generative AI를 사용하여 이 문제를 해결합니다. 이를 통해 사용자는 자동화된 방식으로 품질 문제를 표면화 및 수정하고 피드의 속성 격차를 메울 수 있습니다.
FeedGen은 Google Sheets에서 HTML 사이드바로 실행되는 Apps Script 기반 애플리케이션입니다(자세한 내용은 HtmlService 참조). 연결된 Google 스프레드시트 스프레드시트 템플릿은 모든 마법이 일어나는 곳입니다. 콘텐츠 생성 방법을 제어하는 특정 구성 값과 함께 최적화가 필요한 입력 피드를 보유합니다. 스프레드시트는 (선택 사항) 직접 확인하고 Google 판매자 센터(MC)에서 보충 피드를 설정하는 데에도 사용됩니다.
Vertex AI의 생성 언어는 일반적으로 초기 기능/기술입니다. 생성된 제목과 설명을 수동으로 검토하고 확인하는 것이 좋습니다. FeedGen은 데이터 필터를 통해 생성된 콘텐츠를 대량 승인하기 위한 Sheets 기본 방식과 함께 생성된 콘텐츠가 얼마나 "좋은지" 나타내는 제목 및 설명(세부 구성 요소와 함께)에 대한 점수를 제공하여 사용자가 이 프로세스를 신속하게 처리하도록 돕습니다.
먼저 템플릿 스프레드시트의 사본을 만들고 시작하기 섹션에 정의된 지침을 따르세요. 첫 번째 단계는 아래와 같이 초기화 버튼을 통해 Apps Script 환경에 자신을 인증하는 것입니다.
그런 다음 구성 워크시트로 이동하여 피드 설정, Vertex AI API 설정(발생할 비용 추정 포함), 콘텐츠 생성 제어 설정을 구성합니다.
설명 생성은 구성 시트에 제공된 프롬프트 접두사를 가져와 입력 에서 데이터 행을 추가하고 결과를 LLM에 프롬프트로 보내는 방식으로 작동합니다. 이를 통해 귀하가 가질 수 있는 문구, 스타일 및 기타 요구 사항을 형성하는 데 큰 유연성을 얻을 수 있습니다. 입력 피드 의 모든 데이터는 프롬프트의 일부로 제공됩니다.
입력 피드에 웹페이지 링크가 제공되는 경우 Use Landing Page Information
확인란을 선택하여 제품 웹페이지의 삭제된 콘텐츠를 로드하고 프롬프트에 전달할 수도 있습니다. 모든 span
및 p
태그는 가져온 HTML 콘텐츠에서 추출되고 함께 연결되어 이 추가 정보를 사용하는 방법에 대한 전용 지침과 함께 프롬프트의 LLM에 전달되는 추가 정보 단락을 형성합니다. JSON 웹 응답은 추가 구문 분석 없이 그대로 사용됩니다. 또한 가져온 웹페이지 정보는 제목 생성을 위해 콘텐츠를 다시 가져오고 다시 분석하는 것을 방지하기 위해 Apps Script의 CacheService를 사용하여 60초 동안 캐시됩니다(Vertex AI API에 대한 별도의 호출).
선택 사항 : Few-shot 예시 섹션에 설명 예시를 제공할 수도 있습니다(아래 참조). 이는 프롬프트 접두사에도 추가되어 모델에 설명이 얼마나 좋은지 알려줍니다.
결과는 생성된 설명 으로 직접 출력됩니다.
LLM은 환각을 느끼는 경향이 있으므로 생성된 설명이 기준을 충족하는지 모델에 물어볼 수 있는 옵션이 있습니다(동일한 프롬프트 내의 후속 지침에서). 모델은 방금 생성한 설명을 평가하고 추론뿐만 아니라 숫자 점수로 응답합니다. 설명을 평가하도록 모델에 지시하는 방법에 대한 몇 가지 힌트를 제공하기 위해 검증 기준 및 채점 예시가 제공됩니다. 예를 들어 여기에는 기준과 예시 점수 값이 포함되어 있습니다.
제목은 몇 번의 메시지를 사용합니다. 아래 표시된 대로 자체 입력 피드에서 샘플을 선택하여 데이터에 대한 모델의 응답을 맞춤설정하는 기술입니다. 이 프로세스를 돕기 위해 FeedGen은 유틸리티 Google Sheets 공식을 제공합니다.
= FEEDGEN_CREATE_CONTEXT_JSON( ' Input Feed ' !A2)
다른 Sheets 수식과 마찬가지로 몇 번의 프롬프트 예시 테이블에서 '컨텍스트' 정보 필드를 아래로 드래그하여 채우는 데 사용할 수 있습니다. 이 '컨텍스트'는 이 항목에 대한 입력 피드의 전체 데이터 행을 나타내며 Vertex AI API에 대한 프롬프트의 일부로 전송됩니다.
그런 다음 LLM의 예상 출력을 정의하는 몇 번의 프롬프트 예제 테이블의 나머지 열을 수동으로 채워야 합니다. 이러한 예는 LLM이 나머지 입력 피드에 대한 콘텐츠를 생성하는 방법을 학습하는 기초를 제공하므로 매우 중요합니다. 선택할 수 있는 가장 좋은 예는 다음과 같은 제품입니다.
특히 이상적인 제목 구성이 다를 경우 피드 내 고유 카테고리당 하나 이상의 예를 추가하는 것이 좋습니다.
FeedGen은 기본적으로 제목 작성을 위해 생성된 속성 값 대신 입력 피드의 속성을 사용하여 LLM 환각을 방지하고 일관성을 보장합니다. 예를 들어, 특정 피드 항목에 대한 입력 피드 속성 Color 의 Blue
값은 생성된 값 Navy
대신 해당 제목에 사용됩니다. 이 동작은 제목 프롬프트 설정 의 고급 설정 섹션에 있는 Prefer Generated Values
확인란을 통해 무시할 수 있으며 입력 피드 자체에 오류가 있거나 품질이 낮은 데이터가 포함될 때마다 유용합니다.
동일한 섹션 내에서 이전에 피드에 존재하지 않았더라도 생성된 제목에 출력될 수 있는 안전한 단어 목록을 지정할 수도 있습니다. 예를 들어, Size
속성의 모든 값에 "Size"라는 단어를 접두어로 붙이고 싶다면 이 목록에 "Size"라는 단어를 추가할 수 있습니다(예: "M" 대신 "Size M").
마지막으로 Use LLM-generated Titles
확인란을 사용하여 LLM이 귀하를 위해 제목을 생성하도록 할지 여부를 지정할 수도 있습니다. 이를 통해 LLM은 생성된 속성 값을 검사하고 모든 속성 값을 함께 연결하는 기본 논리 대신 중복을 방지하여 함께 연결할 항목을 선택할 수 있습니다. 이 기능은 PaLM 2보다 Gemini 모델에서 더 잘 작동합니다. Gemini 모델은 PaLM 2 모델에 대한 지침을 더 잘 전달할 수 있는 더 나은 추론 기능을 갖추고 있기 때문입니다. 또한 LLM에서 생성된 제목을 사용하면 이전에는 불가능했던 프롬프트에서 원하는 제목 길이(판매자 센터의 경우 최대 150자)를 지정할 수 있습니다.
설명과 마찬가지로 제공된 웹 페이지 링크에서 정보를 로드하고 더 높은 품질의 타이틀을 생성하기 위해 LLM에 전달하도록 선택할 수도 있습니다. Use Landing Page Information
확인란을 통해 이 작업을 수행할 수 있으며, 선택하면 웹페이지 데이터에서 추출된 모든 기능이 웹사이트 기능 이라는 새 속성 아래에 나열됩니다. 기존 속성에 포함되지 않은 새 단어가 생성된 제목에 추가됩니다.
이제 구성이 완료되었으며 피드를 최적화할 준비가 되었습니다. 상단 탐색 메뉴를 사용하여 FeedGen 사이드바를 실행하고 생성된 콘텐츠 검증 워크시트에서 콘텐츠 생성 및 검증을 시작하세요.
일반적으로 이 보기 내에서 작업하여 다음과 같이 각 피드 항목의 콘텐츠를 이해, 승인 및/또는 재생성합니다.
필요한 모든 승인을 완료하고 출력에 만족하면 출력 피드로 내보내기 를 클릭하여 승인된 모든 피드 항목을 출력 피드 워크시트로 전송합니다.
마지막 단계는 스프레드시트를 보조 피드로 MC에 연결하는 것입니다. 이 작업은 표준 MC 계정에 대한 도움말 센터 문서와 멀티 클라이언트 계정(MCA)에 대한 도움말 센터 문서에 설명된 대로 수행할 수 있습니다.
출력 피드에 att-p-feedgen 열이 있습니다. 이 열 이름은 완전히 유연하며 출력 워크시트에서 직접 변경할 수 있습니다. 보고 및 성과 측정 목적으로 보조 피드에 맞춤 속성을 추가합니다.
Gemini( gemini-pro-vision
)는 다중 모드 모델이므로 제품 이미지를 추가로 검사하고 이를 사용하여 더 높은 품질의 제목과 설명을 생성할 수 있습니다. 이는 제공된 이미지에서 눈에 보이는 제품 기능을 추출하기 위해 기존 제목 및 설명 생성 프롬프트에 추가 지침을 추가하여 수행됩니다.
제목의 경우 추출된 기능은 두 가지 방법으로 사용됩니다.
설명의 경우 추출된 특징은 모델에서 제품의 시각적 측면을 강조하는 보다 포괄적인 설명을 생성하는 데 사용됩니다. 이는 특히 시각적 매력이 가장 중요한 영역과 관련이 있습니다. 제품의 주요 세부정보가 피드 내의 구조화된 텍스트 형식이 아닌 시각적으로 전달되는 경우입니다. 여기에는 패션, 가정 장식 및 가구, 향수 및 보석류가 포함됩니다.
마지막으로 다음 제한 사항에 유의하는 것이 중요합니다(이 정보는 Gemini의 공개 미리보기 동안 유효합니다).
Image Link
열에서 웹 이미지 및/또는 Google Cloud Storage(GCS) 파일 URI를 지정할 수 있습니다. GCS URI는 있는 그대로 Gemini에 전달되는 반면(모델 자체에서 지원됨) 웹 이미지는 먼저 다운로드되어 모델 입력의 일부로 인라인으로 제공됩니다.image/png
및 image/jpeg
MIME 유형만 지원됩니다. Min. Evaluation Approval Score
사전 승인되지 않습니다. 설명 점수를 필터링하고 생성 유효성 검사 탭에서 상태 값을 제거하여 이를 다시 생성할 수 있습니다.
FeedGen은 품질 지표 역할을 하는 -1에서 1 사이의 생성된 제목에 대한 점수를 제공합니다. 양수 점수는 다양한 정도의 좋은 품질을 나타내고, 음수 점수는 생성된 콘텐츠에 대한 불확실성을 나타냅니다. 설명과 마찬가지로 FeedGen이 사전 승인할 최소 점수(기본값은 0)를 지정할 수 있습니다.
타이틀 점수를 더 잘 이해하기 위해 몇 가지 가상의 예를 자세히 살펴보겠습니다.
동일한 제품에 대한 다른 예를 살펴보겠습니다.
<Brand> <Gender> <Category> <Product Type>
<Brand> <Gender> <Category> <Product Type> <Size>
Product Type
속성의 구성 요소가 더 나쁜 방식으로 변경되었으므로 점수가 음수입니다.FeedGen은 점수 매기기에 있어 보수적입니다. 단어 가 제거될 때마다 -0.5점을 할당합니다. 이는 해당 단어가 판매자 센터(MC)에서 설명하는 모범 사례에 따라 제목에 포함되어서는 안 되는
get yours now
또는while stocks last
프로모션 문구인 경우에도 마찬가지입니다. .
좋습니다. 그렇다면 좋은 제목은 무엇일까요? 또 다른 예를 살펴보겠습니다.
마지막으로 이상적인 경우는 무엇입니까? 마지막 예를 하나 살펴보겠습니다.
요약하면 채점 시스템은 다음과 같이 작동합니다.
환각이 있습니까? | 어떤 단어도 삭제했나요? | 전혀 변화가 없나요? | 제목을 최적화했나요? | 누락된 공백을 메우거나 새로운 속성을 추출했나요? |
---|---|---|---|---|
-1 | -0.5 | 0 | 0.5를 더하다 | 0.5를 더하다 |
FeedGen은 또한 제목과 설명이 각각 150자와 5000자를 넘지 않아야 하는 등 몇 가지 기본적인 MC 규정 준수 검사를 적용합니다. 생성된 콘텐츠가 이러한 검사에 실패하면 Failed compliance checks
값이 상태 열에 출력됩니다. 위에서 언급한 대로 FeedGen은 생성 버튼을 클릭할 때마다 Failed
항목을 먼저 재생성하려고 시도합니다.
FeedGen은 피드의 공백을 메울 뿐만 아니라 입력 피드 에 제공되지 않은 완전히 새로운 속성을 생성할 수도 있습니다. 이는 구성 시트의 몇 번의 프롬프트 예시를 통해 제어할 수 있습니다. 해당 예시 내의 입력에 존재하지 않는 "새" 속성을 제공함으로써 FeedGen은 입력 피드의 다른 값에서 해당 새 속성에 대한 값을 추출 하려고 시도합니다. 예를 살펴보겠습니다.
원래 제목 | 원래 제목의 제품 속성 | 생성된 제목의 제품 속성 | 생성된 속성 값 |
---|---|---|---|
아식스 여성용 퍼포먼스 러닝 카프리 타이트 | 브랜드, 성별, 제품 유형 | 브랜드, 성별, 제품 유형, 핏 | 아식스, 여성 퍼포먼스, 러닝 카프리, 타이트 |
Product Type 에서 Fit 속성이 어떻게 추출되었는지 확인하세요. 이제 FeedGen은 피드의 다른 모든 제품에 대해 동일한 작업을 시도합니다. 예를 들어 Agave Men's Jeans Waterman Relaxed
라는 제목에서 Relaxed
as Fit 값을 추출합니다. 이러한 속성이 생성되는 것을 원하지 않는 경우에는 몇 번 메시지를 표시하는 예에 대한 입력 피드에 존재하는 속성만 사용해야 합니다. 또한 완전히 새로운 피드 속성에는 출력 피드 (예: Feedgen-Fit)에서 Feedgen- 이라는 접두사가 붙고 시트 끝 부분에 정렬되어 사용하지 않을 경우 쉽게 찾고 삭제할 수 있습니다. .
귀하의 비즈니스 도메인에 따라 제목에 대해 다음 패턴을 권장합니다.
도메인 | 권장 제목 구조 | 예 |
---|---|---|
의복 | 브랜드 + 성별 + 제품 유형 + 속성(색상, 사이즈, 소재) | Ann Taylor 여성용 스웨터, 블랙(사이즈 6) |
소모품 | 브랜드 + 제품 유형 + 속성(무게, 개수) | TwinLab Mega CoQ10, 50mg, 60정 |
하드 제품 | 브랜드 + 제품 + 속성(크기, 무게, 수량) | Frontgate 고리버들 테라스 의자 세트, 브라운, 4피스 |
전자제품 | 브랜드 + 속성 + 제품 유형 | 4K 3D 곡면 스크린을 갖춘 삼성 88인치 스마트 LED TV |
서적 | 제목 + 유형 + 형식(하드커버, eBook) + 저자 | 1,000가지 이탈리아 레시피 요리책, 하드커버(Michele Scicolone 제작) |
이러한 패턴을 사용하여 FeedGen Config
워크시트에 정의된 몇 번의 프롬프트 예시를 생성할 수 있으며, 이에 따라 모델에서 생성된 값이 조정됩니다.
우리는 또한 다음을 제안합니다:
자세한 내용은 Vertex AI 가격, 할당량 및 한도 가이드를 참조하세요.
2024년 4월 9일부터 업데이트된 판매자 센터 제품 데이터 사양에 따라 사용자는 제목과 설명의 텍스트 콘텐츠를 선별하는 데 생성 AI가 사용되었는지 여부를 공개해야 합니다. 여기서 가장 큰 문제는 원래 열 값이 항상 structured_
변형보다 우선하므로 사용자가 동일한 피드에서 title
과 structured_title
또는 description
과 structured_description
모두 보낼 수 없다는 것입니다. 따라서 사용자는 승인된 세대를 FeedGen의 출력 피드 탭으로 내보낸 후 추가 일련의 단계를 수행해야 합니다.
title
및 description
열의 이름을 각각 structured_title
및 structured_description
으로 바꿉니다.trained_algorithmic_media:
접두사를 추가합니다. 곧 3단계와 4단계를 자동화할 예정입니다. 계속 지켜봐 주시기 바랍니다!
자세한 내용과 이미지는 Glen Wilson과 Solutions-8 팀에게 감사드립니다.
기여 가이드에 설명된 정보 외에도 FeedGen을 로컬로 구축하려면 다음 추가 단계를 따라야 합니다.
npm install
실행하세요.npx @google/aside init
실행하고 프롬프트를 클릭하세요.Script ID
입력하세요. 대상 시트의 상단 탐색 메뉴에서 Extensions > Apps Script
클릭한 다음 결과 Apps Script 보기에서 Project Settings
(기어 아이콘)으로 이동하여 이 값을 확인할 수 있습니다.npm run deploy
실행하여 모든 코드를 대상 스프레드시트/Apps Script 프로젝트에 빌드, 테스트 및 배포(clasp를 통해)합니다.