การฝังใน Gemini API

โมเดล 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 การฝังแบบยืดหยุ่นจะสร้างมิติข้อมูลเอาต์พุตที่เล็กลงและอาจช่วยประหยัดค่าใช้จ่ายในการประมวลผลและพื้นที่เก็บข้อมูลได้แม้จะสูญเสียประสิทธิภาพเล็กน้อย

ใช้การฝังข้อความสำหรับโปรเจ็กต์หรือแอปพลิเคชันใหม่