Tính năng Kết nối với Google Tìm kiếm kết nối mô hình Gemini với nội dung web theo thời gian thực và hoạt động với tất cả các ngôn ngữ hiện có. Điều này cho phép Gemini đưa ra câu trả lời chính xác hơn và trích dẫn các nguồn có thể xác minh ngoài phạm vi kiến thức của mô hình.
Tính năng Kết nối giúp bạn xây dựng các ứng dụng có thể:
- Tăng độ chính xác về mặt thực tế: Giảm hiện tượng ảo giác của mô hình bằng cách dựa trên thông tin thực tế.
- Truy cập vào thông tin theo thời gian thực: Trả lời các câu hỏi về các sự kiện và chủ đề gần đây.
Cung cấp thông tin trích dẫn: Xây dựng niềm tin của người dùng bằng cách cho biết nguồn của các tuyên bố của mô hình.
Python
from google import genai
from google.genai import types
client = genai.Client()
grounding_tool = types.Tool(
google_search=types.GoogleSearch()
)
config = types.GenerateContentConfig(
tools=[grounding_tool]
)
response = client.models.generate_content(
model="gemini-3-flash-preview",
contents="Who won the euro 2024?",
config=config,
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
const groundingTool = {
googleSearch: {},
};
const config = {
tools: [groundingTool],
};
const response = await ai.models.generateContent({
model: "gemini-3-flash-preview",
contents: "Who won the euro 2024?",
config,
});
console.log(response.text);
REST
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-X POST \
-d '{
"contents": [
{
"parts": [
{"text": "Who won the euro 2024?"}
]
}
],
"tools": [
{
"google_search": {}
}
]
}'
Bạn có thể tìm hiểu thêm bằng cách dùng thử sổ tay về công cụ Tìm kiếm.
Cách hoạt động của tính năng Kết nối với Google Tìm kiếm
Khi bạn bật công cụ google_search, mô hình sẽ tự động xử lý toàn bộ quy trình
tìm kiếm, xử lý và trích dẫn thông tin.

- Câu lệnh của người dùng: Ứng dụng của bạn gửi câu lệnh của người dùng đến Gemini API
khi công cụ
google_searchđược bật. - Phân tích câu lệnh: Mô hình phân tích câu lệnh và xác định xem Google Tìm kiếm có thể cải thiện câu trả lời hay không.
- Google Tìm kiếm: Nếu cần, mô hình sẽ tự động tạo một hoặc nhiều cụm từ tìm kiếm và thực thi các cụm từ đó.
- Xử lý kết quả tìm kiếm: Mô hình xử lý kết quả tìm kiếm, tổng hợp thông tin và đưa ra câu trả lời.
- Câu trả lời dựa trên thông tin thực tế: API trả về một câu trả lời cuối cùng, thân thiện với người dùng và
dựa trên kết quả tìm kiếm. Câu trả lời này bao gồm câu trả lời bằng văn bản của mô hình
và
groundingMetadatacó các cụm từ tìm kiếm, kết quả trên web và thông tin trích dẫn.
Tìm hiểu về câu trả lời dựa trên thông tin thực tế
Khi một câu trả lời được kết nối thành công với thông tin thực tế, câu trả lời đó sẽ bao gồm trường
groundingMetadata. Dữ liệu có cấu trúc này là yếu tố cần thiết để xác minh
các tuyên bố và xây dựng trải nghiệm trích dẫn phong phú trong ứng dụng của bạn.
{
"candidates": [
{
"content": {
"parts": [
{
"text": "Spain won Euro 2024, defeating England 2-1 in the final. This victory marks Spain's record fourth European Championship title."
}
],
"role": "model"
},
"groundingMetadata": {
"webSearchQueries": [
"UEFA Euro 2024 winner",
"who won euro 2024"
],
"searchEntryPoint": {
"renderedContent": "<!-- HTML and CSS for the search widget -->"
},
"groundingChunks": [
{"web": {"uri": "https://vertexaisearch.cloud.google.com.....", "title": "aljazeera.com"}},
{"web": {"uri": "https://vertexaisearch.cloud.google.com.....", "title": "uefa.com"}}
],
"groundingSupports": [
{
"segment": {"startIndex": 0, "endIndex": 85, "text": "Spain won Euro 2024, defeatin..."},
"groundingChunkIndices": [0]
},
{
"segment": {"startIndex": 86, "endIndex": 210, "text": "This victory marks Spain's..."},
"groundingChunkIndices": [0, 1]
}
]
}
}
]
}
Gemini API trả về thông tin sau đây với groundingMetadata:
webSearchQueries: Mảng các cụm từ tìm kiếm được sử dụng. Điều này hữu ích cho việc gỡ lỗi và tìm hiểu quy trình suy luận của mô hình.searchEntryPoint: Chứa HTML và CSS để kết xuất các Đề xuất tìm kiếm bắt buộc. Các yêu cầu sử dụng đầy đủ được nêu chi tiết trong Điều khoản dịch vụ.groundingChunks: Mảng các đối tượng chứa nguồn trên web (urivàtitle).groundingSupports: Mảng các đoạn để kết nối phản hồi của mô hìnhtextvới các nguồn tronggroundingChunks. Mỗi đoạn liên kết một văn bảnsegment(được xác định bởistartIndexvàendIndex) với một hoặc nhiềugroundingChunkIndices. Đây là chìa khoá để xây dựng thông tin trích dẫn nội tuyến.
Bạn cũng có thể sử dụng tính năng Kết nối với Google Tìm kiếm kết hợp với công cụ ngữ cảnh URL để kết nối câu trả lời với cả dữ liệu web công khai và các URL cụ thể mà bạn cung cấp.
Phân bổ nguồn bằng thông tin trích dẫn nội tuyến
API trả về dữ liệu trích dẫn có cấu trúc, giúp bạn kiểm soát hoàn toàn cách
bạn hiển thị nguồn trong giao diện người dùng. Bạn có thể sử dụng các trường groundingSupports
và groundingChunks để liên kết trực tiếp các câu lệnh của mô hình với nguồn
của chúng. Dưới đây là một mẫu phổ biến để xử lý siêu dữ liệu nhằm tạo câu trả lời có thông tin trích dẫn nội tuyến có thể nhấp.
Python
def add_citations(response):
text = response.text
supports = response.candidates[0].grounding_metadata.grounding_supports
chunks = response.candidates[0].grounding_metadata.grounding_chunks
# Sort supports by end_index in descending order to avoid shifting issues when inserting.
sorted_supports = sorted(supports, key=lambda s: s.segment.end_index, reverse=True)
for support in sorted_supports:
end_index = support.segment.end_index
if support.grounding_chunk_indices:
# Create citation string like [1](link1)[2](link2)
citation_links = []
for i in support.grounding_chunk_indices:
if i < len(chunks):
uri = chunks[i].web.uri
citation_links.append(f"[{i + 1}]({uri})")
citation_string = ", ".join(citation_links)
text = text[:end_index] + citation_string + text[end_index:]
return text
# Assuming response with grounding metadata
text_with_citations = add_citations(response)
print(text_with_citations)
JavaScript
function addCitations(response) {
let text = response.text;
const supports = response.candidates[0]?.groundingMetadata?.groundingSupports;
const chunks = response.candidates[0]?.groundingMetadata?.groundingChunks;
// Sort supports by end_index in descending order to avoid shifting issues when inserting.
const sortedSupports = [...supports].sort(
(a, b) => (b.segment?.endIndex ?? 0) - (a.segment?.endIndex ?? 0),
);
for (const support of sortedSupports) {
const endIndex = support.segment?.endIndex;
if (endIndex === undefined || !support.groundingChunkIndices?.length) {
continue;
}
const citationLinks = support.groundingChunkIndices
.map(i => {
const uri = chunks[i]?.web?.uri;
if (uri) {
return `[${i + 1}](${uri})`;
}
return null;
})
.filter(Boolean);
if (citationLinks.length > 0) {
const citationString = citationLinks.join(", ");
text = text.slice(0, endIndex) + citationString + text.slice(endIndex);
}
}
return text;
}
const textWithCitations = addCitations(response);
console.log(textWithCitations);
Câu trả lời mới có thông tin trích dẫn nội tuyến sẽ có dạng như sau:
Spain won Euro 2024, defeating England 2-1 in the final.[1](https:/...), [2](https:/...), [4](https:/...), [5](https:/...) This victory marks Spain's record-breaking fourth European Championship title.[5]((https:/...), [2](https:/...), [3](https:/...), [4](https:/...)
Giá
Khi bạn sử dụng tính năng Kết nối với Google Tìm kiếm bằng Gemini 3, dự án của bạn sẽ bị tính phí
cho mỗi cụm từ tìm kiếm mà mô hình quyết định thực thi. Nếu mô hình quyết định
thực thi nhiều cụm từ tìm kiếm để trả lời một câu lệnh (ví dụ:
tìm kiếm "UEFA Euro 2024 winner" và "Spain vs England Euro 2024 final
score" trong cùng một lệnh gọi API), thì đây được tính là 2 lần sử dụng công cụ có tính phí
cho yêu cầu đó. Đối với mục đích tính phí, chúng tôi bỏ qua các cụm từ tìm kiếm trên web trống
khi tính số lượng cụm từ tìm kiếm duy nhất. Mô hình tính phí này chỉ áp dụng cho các mô hình Gemini 3
; khi bạn sử dụng tính năng kết nối tìm kiếm với Gemini 2.5 hoặc các mô hình cũ hơn, dự án của bạn sẽ bị tính phí cho mỗi câu lệnh.
Để biết thông tin chi tiết về giá, hãy xem trang giá của Gemini API.
Mô hình được hỗ trợ
Bạn có thể xem đầy đủ các tính năng trên trang tổng quan về mô hình.
| Mô hình | Kết nối với Google Tìm kiếm |
|---|---|
| Bản xem trước hình ảnh Gemini 3.1 Flash | ✔️ |
| Bản xem trước Gemini 3.1 Pro | ✔️ |
| Bản xem trước hình ảnh Gemini 3 Pro | ✔️ |
| Bản xem trước Gemini 3 Flash | ✔️ |
| Gemini 2.5 Pro | ✔️ |
| Gemini 2.5 Flash | ✔️ |
| Gemini 2.5 Flash-Lite | ✔️ |
| Gemini 2.0 Flash | ✔️ |
Các cách kết hợp công cụ được hỗ trợ
Bạn có thể sử dụng tính năng Kết nối với Google Tìm kiếm cùng với các công cụ khác như thực thi mã và ngữ cảnh URL để hỗ trợ các trường hợp sử dụng phức tạp hơn.
Bước tiếp theo
- Dùng thử tính năng Kết nối với Google Tìm kiếm trong Gemini API Sổ tay.
- Tìm hiểu về các công cụ hiện có khác, chẳng hạn như Lệnh gọi hàm.
- Tìm hiểu cách tăng cường câu lệnh bằng các URL cụ thể bằng công cụ ngữ cảnh URL.