Embeddings

Phương thức: model.embedContent

Tạo một mục nhúng từ mô hình dựa trên dữ liệu đầu vào Content.

Điểm cuối

bài đăng https://generativelanguage.googleapis.com/v1beta/{model=models/*}:embedContent

Tham số đường dẫn

model string

Bắt buộc. Tên tài nguyên của mô hình. Giá trị này đóng vai trò là mã nhận dạng cho Mô hình sử dụng.

Tên này phải khớp với tên mô hình được phương thức models.list trả về.

Định dạng: models/{model}. Định dạng này có dạng models/{model}.

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:

Số trường
content object (Content)

Bắt buộc. Nội dung muốn nhúng. Sẽ chỉ có các trường parts.text được tính.

taskType enum (TaskType)

Không bắt buộc. Loại tác vụ không bắt buộc mà các mục nhúng sẽ được sử dụng. Chỉ có thể đặt cho models/embedding-001.

title string

Không bắt buộc. Tiêu đề tuỳ ý cho văn bản. Chỉ áp dụng khi TaskType là RETRIEVAL_DOCUMENT.

Lưu ý: Việc chỉ định title cho RETRIEVAL_DOCUMENT sẽ cung cấp các mục nhúng có chất lượng tốt hơn để truy xuất.

outputDimensionality integer

Không bắt buộc. Kích thước rút gọn (không bắt buộc) đối với tính năng nhúng đầu ra. Nếu bạn đặt chính sách này, các giá trị vượt quá trong phần nhúng đầu ra sẽ bị cắt bớt ở phần cuối. Các mô hình mới hơn được hỗ trợ kể từ năm 2024 và mô hình cũ (models/embedding-001) không thể chỉ định giá trị này.

Yêu cầu mẫu

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);

Nội dung phản hồi

Phản hồi cho EmbedContentRequest.

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

Số trường
embedding object (ContentEmbedding)

Chỉ có đầu ra. Mục nhúng được tạo từ nội dung đầu vào.

Biểu diễn dưới dạng JSON
{
  "embedding": {
    object (ContentEmbedding)
  }
}

Phương thức: model.batchEmbeddedContents

Tạo nhiều mục nhúng từ mô hình mà văn bản đầu vào đã cho trong một lệnh gọi đồng bộ.

Điểm cuối

bài đăng https://generativelanguage.googleapis.com/v1beta/{model=models/*}:batchEmbedContents

Tham số đường dẫn

model string

Bắt buộc. Tên tài nguyên của mô hình. Giá trị này đóng vai trò là mã nhận dạng cho Mô hình sử dụng.

Tên này phải khớp với tên mô hình được phương thức models.list trả về.

Định dạng: models/{model}. Định dạng này có dạng models/{model}.

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:

Số trường
requests[] object (EmbedContentRequest)

Bắt buộc. Các yêu cầu nhúng cho lô. Mô hình trong mỗi yêu cầu này phải khớp với mô hình được chỉ định BatchEmbedContentsRequest.model.

Yêu cầu mẫu

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);

Nội dung phản hồi

Phản hồi cho BatchEmbedContentsRequest.

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

Số trường
embeddings[] object (ContentEmbedding)

Chỉ có đầu ra. Các mục nhúng cho từng yêu cầu, theo cùng thứ tự như được cung cấp trong yêu cầu hàng loạt.

Biểu diễn dưới dạng JSON
{
  "embeddings": [
    {
      object (ContentEmbedding)
    }
  ]
}

EmbedContentRequest

Yêu cầu chứa Content dành cho mô hình sẽ nhúng.

Biểu diễn dưới dạng JSON
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}
Số trường
model string

Bắt buộc. Tên tài nguyên của mô hình. Giá trị này đóng vai trò là mã nhận dạng cho Mô hình sử dụng.

Tên này phải khớp với tên mô hình được phương thức models.list trả về.

Định dạng models/{model}

content object (Content)

Bắt buộc. Nội dung muốn nhúng. Sẽ chỉ có các trường parts.text được tính.

taskType enum (TaskType)

Không bắt buộc. Loại tác vụ không bắt buộc mà các mục nhúng sẽ được sử dụng. Chỉ có thể đặt cho models/embedding-001.

title string

Không bắt buộc. Tiêu đề tuỳ ý cho văn bản. Chỉ áp dụng khi TaskType là RETRIEVAL_DOCUMENT.

Lưu ý: Việc chỉ định title cho RETRIEVAL_DOCUMENT sẽ cung cấp các mục nhúng có chất lượng tốt hơn để truy xuất.

outputDimensionality integer

Không bắt buộc. Kích thước rút gọn (không bắt buộc) đối với tính năng nhúng đầu ra. Nếu bạn đặt chính sách này, các giá trị vượt quá trong phần nhúng đầu ra sẽ bị cắt bớt ở phần cuối. Các mô hình mới hơn được hỗ trợ kể từ năm 2024 và mô hình cũ (models/embedding-001) không thể chỉ định giá trị này.

ContentEmbedding

Danh sách số thực có độ chính xác đơn đại diện cho một mục nhúng.

Biểu diễn dưới dạng JSON
{
  "values": [
    number
  ]
}
Số trường
values[] number

Các giá trị nhúng.

TaskType

Loại tác vụ mà chức năng nhúng sẽ được sử dụng.

Enum
TASK_TYPE_UNSPECIFIED Giá trị chưa đặt. Giá trị này sẽ được đặt mặc định thành một trong các giá trị enum khác.
RETRIEVAL_QUERY Chỉ định văn bản đã cho là một truy vấn trong chế độ cài đặt tìm kiếm/truy xuất.
RETRIEVAL_DOCUMENT Cho biết văn bản đã cho là một tài liệu trong tập sao lục đang được tìm kiếm.
SEMANTIC_SIMILARITY Chỉ định văn bản đã cho sẽ được dùng cho STS.
CLASSIFICATION Chỉ định rằng văn bản đã cho sẽ được phân loại.
CLUSTERING Chỉ định xem các mục nhúng có được dùng để phân cụm hay không.
QUESTION_ANSWERING Chỉ định rằng văn bản đã cho sẽ được dùng để trả lời câu hỏi.
FACT_VERIFICATION Chỉ định rằng văn bản đã cho sẽ được dùng để xác minh tính xác thực.