โมเดล text-embedding-004
จะสร้างการฝังที่ทันสมัยสำหรับคำ วลี และประโยค จากนั้นจะใช้การฝังที่ได้ในงานต่างๆ ได้ เช่น การค้นหาเชิงความหมาย การแยกประเภทข้อความ และการจัดกลุ่ม เป็นต้น ดูข้อมูลเพิ่มเติมเกี่ยวกับการฝังได้ที่บทความวิจัย
องค์ประกอบคืออะไร
ข้อมูลดังกล่าวจะบันทึกความหมายเชิงความหมายและบริบท ซึ่งส่งผลให้ข้อความที่มีความหมายคล้ายกันมีข้อมูล "ใกล้เคียงกัน" มากขึ้น เช่น ประโยค "ฉันพาสุนัขไปหาสัตว์แพทย์" และ "ฉันพาแมวไปหาสัตว์แพทย์" จะมีการฝังที่ใกล้เคียงกันในเวกเตอร์สเปซ เนื่องจากทั้ง 2 ประโยคอธิบายบริบทที่คล้ายกัน
คุณสามารถใช้การฝังเพื่อเปรียบเทียบข้อความต่างๆ และทําความเข้าใจความเชื่อมโยงของข้อความเหล่านั้น เช่น หากการฝังของข้อความ "แมว" และ "สุนัข" อยู่ใกล้กัน คุณจะอนุมานได้ว่าคําเหล่านี้มีความหมาย บริบท หรือทั้งความหมายและบริบทคล้ายกัน ซึ่งช่วยให้มีกรณีการใช้งาน AI ทั่วไปที่หลากหลาย
สร้างการฝัง
ใช้embedContent
method
เพื่อสร้างการฝังข้อความ
Python
import google.generativeai as genai
import os
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
result = genai.embed_content(
model="models/text-embedding-004",
content="What is the meaning of life?")
print(str(result['embedding']))
Node.js
const { GoogleGenerativeAI } = require("@google/generative-ai");
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const model = genAI.getGenerativeModel({ model: "text-embedding-004"});
async function run() {
const result = await model.embedContent("What is the meaning of life?");
console.log(result.embedding.values);
}
run();
curl
curl "https://generativelanguage.googleapis.com/v1beta/models/text-embedding-004:embedContent?key=$GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model": "models/text-embedding-004",
"content": {
"parts":[{
"text": "What is the meaning of life?"}]}
}'
Go
ctx := context.Background()
client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("GEMINI_API_KEY")))
if err != nil {
log.Fatal(err)
}
defer client.Close()
em := client.EmbeddingModel("text-embedding-004")
res, err := em.EmbedContent(ctx, genai.Text("What is the meaning of life?"))
if err != nil {
panic(err)
}
fmt.Println(res.Embedding.Values)
กรณีการใช้งาน
การใช้การฝังข้อความมีอยู่ใน Use Case ทั่วไปของ AI หลายรายการ เช่น
การดึงข้อมูล: คุณสามารถใช้การฝังเพื่อดึงข้อความที่คล้ายกันตามความหมายจากข้อความอินพุตได้
การจัดกลุ่ม: การเปรียบเทียบกลุ่มของข้อมูลเชิงลึกที่ฝังจะช่วยระบุแนวโน้มที่ซ่อนอยู่
ฐานข้อมูลเวกเตอร์: เมื่อนํากรณีการใช้งานการฝังที่แตกต่างกันไปใช้กับเวอร์ชันที่ใช้งานจริง การเก็บการฝังไว้ในฐานข้อมูลเวกเตอร์เป็นแนวทางปฏิบัติทั่วไป
การจัดประเภท: คุณสามารถฝึกโมเดลโดยใช้การฝังเพื่อจัดประเภทเอกสารเป็นหมวดหมู่
โมเดลการฝังของ Gemini
Gemini API มี 2 รูปแบบที่สร้างการฝังข้อความ ดังนี้
การฝังข้อความเป็นโมเดลการฝังเวอร์ชันอัปเดตที่มีขนาดการฝังแบบยืดหยุ่นภายใต้มิติข้อมูล 768 การฝังแบบยืดหยุ่นจะสร้างมิติข้อมูลเอาต์พุตที่เล็กลงและอาจช่วยประหยัดค่าใช้จ่ายในการประมวลผลและพื้นที่เก็บข้อมูลได้แม้จะสูญเสียประสิทธิภาพเล็กน้อย
ใช้การฝังข้อความสำหรับโปรเจ็กต์หรือแอปพลิเคชันใหม่