Embeddings

เมธอด: collections.embedContent

สร้างการฝังจากโมเดลที่มีอินพุต Content

ปลายทาง

โพสต์ https://generativelanguage.googleapis.com/v1beta/{model=models/*}:embedContent

พารามิเตอร์เส้นทาง

model string

ต้องระบุ ชื่อทรัพยากรของโมเดล ซึ่งจะเป็นรหัสให้โมเดลใช้งาน

ชื่อนี้ควรตรงกับชื่อโมเดลที่แสดงผลโดยเมธอด models.list

รูปแบบ: models/{model} จะอยู่ในรูปแบบ models/{model}

เนื้อหาของคำขอ

เนื้อหาของคำขอมีข้อมูลที่มีโครงสร้างต่อไปนี้

ช่อง
content object (Content)

ต้องระบุ เนื้อหาที่จะฝัง ระบบจะนับเฉพาะช่อง parts.text เท่านั้น

taskType enum (TaskType)

ไม่บังคับ ประเภทงานที่ไม่บังคับซึ่งจะใช้การฝัง ตั้งค่าได้เฉพาะ models/embedding-001

title string

ไม่บังคับ ชื่อที่ไม่บังคับสำหรับข้อความ ใช้งานได้เมื่อ TaskType เป็น RETRIEVAL_DOCUMENT เท่านั้น

หมายเหตุ: การระบุ title สำหรับ RETRIEVAL_DOCUMENT จะทำให้การฝังมีคุณภาพดีขึ้นสำหรับการดึงข้อมูล

outputDimensionality integer

ไม่บังคับ ขนาดที่ลดลง (ไม่บังคับ) สำหรับการฝังเอาต์พุต หากมีการตั้งค่า ระบบจะตัดทอนค่าที่มากเกินไปในการฝังเอาต์พุตออกจากส่วนท้าย โมเดลใหม่รองรับตั้งแต่ปี 2024 และรุ่นก่อนหน้า (models/embedding-001) ระบุค่านี้ไม่ได้

ตัวอย่างคำขอ

Python


text = "Hello World!"
result = genai.embed_content(
    model="models/text-embedding-004", content=text, output_dimensionality=10
)
print(result["embedding"])

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "text-embedding-004",
});

const result = await model.embedContent("Hello world!");

console.log(result.embedding);

เนื้อหาการตอบกลับ

การตอบกลับ EmbedContentRequest

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

ช่อง
embedding object (ContentEmbedding)

เอาต์พุตเท่านั้น การฝังที่สร้างจากเนื้อหาอินพุต

การแสดง JSON
{
  "embedding": {
    object (ContentEmbedding)
  }
}

เมธอด: model.batchEmbedContents

สร้างการฝังหลายรายการจากโมเดลที่ระบุข้อความที่ป้อนในการเรียกแบบพร้อมกัน

ปลายทาง

โพสต์ https://generativelanguage.googleapis.com/v1beta/{model=models/*}:batchEmbedContents

พารามิเตอร์เส้นทาง

model string

ต้องระบุ ชื่อทรัพยากรของโมเดล ซึ่งจะเป็นรหัสให้โมเดลใช้งาน

ชื่อนี้ควรตรงกับชื่อโมเดลที่แสดงผลโดยเมธอด models.list

รูปแบบ: models/{model} จะอยู่ในรูปแบบ models/{model}

เนื้อหาของคำขอ

เนื้อหาของคำขอมีข้อมูลที่มีโครงสร้างต่อไปนี้

ช่อง
requests[] object (EmbedContentRequest)

ต้องระบุ คำขอฝังสำหรับกลุ่ม โมเดลในคำขอเหล่านี้แต่ละรายการต้องตรงกับโมเดลที่ระบุ BatchEmbedContentsRequest.model

ตัวอย่างคำขอ

Python

texts = [
    "What is the meaning of life?",
    "How much wood would a woodchuck chuck?",
    "How does the brain work?",
]
result = genai.embed_content(
    model="models/text-embedding-004", content=texts, output_dimensionality=10
)
print(result)

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "text-embedding-004",
});

function textToRequest(text) {
  return { content: { role: "user", parts: [{ text }] } };
}

const result = await model.batchEmbedContents({
  requests: [
    textToRequest("What is the meaning of life?"),
    textToRequest("How much wood would a woodchuck chuck?"),
    textToRequest("How does the brain work?"),
  ],
});

console.log(result.embeddings);

เนื้อหาการตอบกลับ

การตอบกลับ BatchEmbedContentsRequest

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

ช่อง
embeddings[] object (ContentEmbedding)

เอาต์พุตเท่านั้น การฝังสำหรับแต่ละคำขอ ในลำดับเดียวกับที่ระบุไว้ในคำขอแบบกลุ่ม

การแสดง JSON
{
  "embeddings": [
    {
      object (ContentEmbedding)
    }
  ]
}

EmbedContentRequest

คำขอที่มี Content สำหรับโมเดลที่จะฝัง

การแสดง JSON
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}
ช่อง
model string

ต้องระบุ ชื่อทรัพยากรของโมเดล ซึ่งจะเป็นรหัสให้โมเดลใช้งาน

ชื่อนี้ควรตรงกับชื่อโมเดลที่แสดงผลโดยเมธอด models.list

รูปแบบ: models/{model}

content object (Content)

ต้องระบุ เนื้อหาที่จะฝัง ระบบจะนับเฉพาะช่อง parts.text เท่านั้น

taskType enum (TaskType)

ไม่บังคับ ประเภทงานที่ไม่บังคับซึ่งจะใช้การฝัง ตั้งค่าได้เฉพาะ models/embedding-001

title string

ไม่บังคับ ชื่อที่ไม่บังคับสำหรับข้อความ ใช้งานได้เมื่อ TaskType เป็น RETRIEVAL_DOCUMENT เท่านั้น

หมายเหตุ: การระบุ title สำหรับ RETRIEVAL_DOCUMENT จะทำให้การฝังมีคุณภาพดีขึ้นสำหรับการดึงข้อมูล

outputDimensionality integer

ไม่บังคับ ขนาดที่ลดลง (ไม่บังคับ) สำหรับการฝังเอาต์พุต หากมีการตั้งค่า ระบบจะตัดทอนค่าที่มากเกินไปในการฝังเอาต์พุตออกจากส่วนท้าย โมเดลใหม่รองรับตั้งแต่ปี 2024 และรุ่นก่อนหน้า (models/embedding-001) ระบุค่านี้ไม่ได้

ContentEmbedding

รายการ Float ที่แสดงการฝัง

การแสดง JSON
{
  "values": [
    number
  ]
}
ช่อง
values[] number

ค่าที่ฝัง

TaskType

ประเภทงานที่จะใช้การฝัง

Enum
TASK_TYPE_UNSPECIFIED ไม่ได้ตั้งค่า ซึ่งจะเป็นค่าเริ่มต้นเป็นค่า enum อื่นๆ ค่าใดค่าหนึ่ง
RETRIEVAL_QUERY ระบุว่าข้อความที่ระบุเป็นคำค้นหาในการตั้งค่าการค้นหา/ดึงข้อมูล
RETRIEVAL_DOCUMENT ระบุว่าข้อความที่ระบุเป็นเอกสารจากคลังข้อมูลที่กำลังค้นหา
SEMANTIC_SIMILARITY ระบุว่าจะใช้ข้อความที่กำหนดสำหรับ STS
CLASSIFICATION ระบุว่าข้อความที่ให้ไว้จะได้รับการจัดประเภท
CLUSTERING ระบุว่าจะมีการใช้การฝังสำหรับการจัดคลัสเตอร์
QUESTION_ANSWERING ระบุว่าจะใช้ข้อความที่ระบุในการตอบคำถาม
FACT_VERIFICATION ระบุว่าจะใช้ข้อความที่ระบุสำหรับการยืนยันข้อเท็จจริง