เผยแพร่: 16 พฤษภาคม 2024
เมื่อเลือกซื้อทางออนไลน์ คุณอาจเห็นรีวิวผลิตภัณฑ์และจำนวนผลิตภัณฑ์ที่มีให้เลือกมากมายจนทำให้สับสน เราจะคัดแยกข้อมูลทั้งหมดนี้เพื่อค้นหาผลิตภัณฑ์ที่ตรงกับความต้องการเฉพาะของเราได้อย่างไร
ตัวอย่างเช่น สมมติว่าเรากําลังเลือกซื้อกระเป๋าเป้สำหรับทำงาน กระเป๋าเป้ต้องมีความสมดุลระหว่างฟังก์ชันการทำงาน ความงาม และการใช้งานจริง จำนวนรีวิวทำให้คุณแทบจะไม่ทราบเลยว่าคุณได้กระเป๋าที่เหมาะกับตัวเองแล้วหรือยัง จะเกิดอะไรขึ้นหากเราใช้ AI เพื่อกรองข้อมูลที่ไม่เกี่ยวข้องและค้นหาผลิตภัณฑ์ที่เหมาะกับคุณที่สุดได้
สิ่งที่มีประโยชน์คือสรุปรีวิวทั้งหมด พร้อมรายการข้อดีและข้อเสียที่พบบ่อยที่สุด
เราใช้ Generative AI ฝั่งเซิร์ฟเวอร์ในการสร้างฟีเจอร์นี้ การทำนายจะเกิดขึ้นในเซิร์ฟเวอร์
ในเอกสารนี้ คุณสามารถทําตามบทแนะนําสําหรับ Gemini API ด้วย Node.js โดยใช้ Google AI JavaScript SDK เพื่อสรุปข้อมูลจากรีวิวจำนวนมาก เราจะมุ่งเน้นไปที่ส่วน Generative AI ของงานนี้ โดยไม่กล่าวถึงวิธีจัดเก็บผลลัพธ์หรือสร้างคิวงาน
ในทางปฏิบัติ คุณสามารถใช้ LLM API ใดก็ได้กับ SDK ใดก็ได้ อย่างไรก็ตาม คุณอาจต้องปรับพรอมต์ที่แนะนําให้เหมาะกับรูปแบบที่คุณเลือก
ข้อกำหนดเบื้องต้น
สร้างคีย์สําหรับ Gemini API และกำหนดไว้ในไฟล์สภาพแวดล้อม
ติดตั้ง Google AI JavaScript SDK เช่น ด้วย npm
npm install @google/generative-ai
สร้างแอปพลิเคชันสรุปรีวิว
- เริ่มต้นวัตถุ Generative AI
- สร้างฟังก์ชันเพื่อสร้างข้อมูลสรุปรีวิว
- เลือกโมเดล Generative AI เราจะใช้ Gemini Pro สำหรับ Use Case ของเรา ใช้รูปแบบที่เฉพาะเจาะจงสำหรับ Use Case ของคุณ (เช่น
gemini-pro-vision
ใช้สำหรับอินพุตหลายรูปแบบ) - เพิ่มพรอมต์
- โทรหา
generateContent
เพื่อส่งพรอมต์เป็นอาร์กิวเมนต์ - สร้างและแสดงผลลัพธ์
- เลือกโมเดล Generative AI เราจะใช้ Gemini Pro สำหรับ Use Case ของเรา ใช้รูปแบบที่เฉพาะเจาะจงสำหรับ Use Case ของคุณ (เช่น
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;
}
เขียนพรอมต์ที่มีประสิทธิภาพ
วิธีที่ดีที่สุดในการทําให้ Generative 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 หรือต้องการการสนับสนุนสำหรับองค์กร คุณสามารถเข้าถึง Gemini Pro และโมเดลอื่นๆ เช่น โมเดล Claude ของ Anthropic ได้ด้วย Vertex AI คุณอาจต้องใช้ Model Garden เพื่อดูว่าโมเดลใดเหมาะกับกรณีการใช้งานที่เฉพาะเจาะจงของคุณมากที่สุด
ขั้นตอนถัดไป
แอปพลิเคชันที่เราสร้างขึ้นอาศัยรีวิวคุณภาพสูงเป็นอย่างมากเพื่อให้สรุปที่มีประสิทธิภาพมากที่สุด หากต้องการรวบรวมรีวิวคุณภาพเหล่านั้น โปรดอ่านบทความถัดไปในชุดบทความนี้ ซึ่งได้แก่ ช่วยให้ผู้ใช้เขียนรีวิวผลิตภัณฑ์ที่เป็นประโยชน์ด้วย AI บนเว็บในอุปกรณ์
เราอยากฟังความคิดเห็นจากคุณเกี่ยวกับแนวทางนี้ บอกเราว่า Use Case ใดที่คุณสนใจมากที่สุด คุณสามารถแชร์ความคิดเห็นและเข้าร่วมโปรแกรมทดลองใช้ก่อนเปิดตัวเพื่อทดสอบเทคโนโลยีนี้ด้วยต้นแบบในพื้นที่
ข้อมูลที่คุณให้ไว้จะช่วยให้เราทําให้ AI เป็นเครื่องมือที่มีประสิทธิภาพแต่ใช้งานได้จริงสําหรับทุกคน