Bazimi me Kërkimin në Google lidh modelin Gemini me përmbajtjen e uebit në kohë reale dhe funksionon me të gjitha gjuhët e disponueshme. Kjo i lejon Gemini të ofrojë përgjigje më të sakta dhe të citojë burime të verifikueshme përtej kufirit të njohurive të tij.
Grounding ju ndihmon të ndërtoni aplikacione që mund të:
- Rrit saktësinë faktike: Zvogëlo halucinacionet e modelit duke i bazuar përgjigjet në informacione nga bota reale.
- Qasuni në informacion në kohë reale: Përgjigjuni pyetjeve rreth ngjarjeve dhe temave të fundit.
Jepni citime: Ndërtoni besimin e përdoruesit duke treguar burimet për pretendimet e modelit.
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-2.5-flash",
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-2.5-flash",
contents: "Who won the euro 2024?",
config,
});
console.log(response.text);
PUSHTIM
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash: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": {}
}
]
}'
Mund të mësoni më shumë duke provuar fletoren e mjetit të kërkimit .
Si funksionon bazamentimi me Kërkimin në Google
Kur aktivizoni mjetin google_search , modeli trajton automatikisht të gjithë rrjedhën e punës së kërkimit, përpunimit dhe citimit të informacionit.

- Kërkesa e përdoruesit: Aplikacioni juaj dërgon një kërkesë të përdoruesit te Gemini API me mjetin
google_searchtë aktivizuar. - Analiza e kërkesës: Modeli analizon kërkesën dhe përcakton nëse një Kërkim në Google mund ta përmirësojë përgjigjen.
- Kërkimi në Google: Nëse është e nevojshme, modeli gjeneron automatikisht një ose më shumë pyetje kërkimi dhe i ekzekuton ato.
- Përpunimi i Rezultateve të Kërkimit: Modeli përpunon rezultatet e kërkimit, sintetizon informacionin dhe formulon një përgjigje.
- Përgjigje e Bazuar: API kthen një përgjigje përfundimtare, miqësore për përdoruesit, e cila bazohet në rezultatet e kërkimit. Kjo përgjigje përfshin përgjigjen me tekst të modelit dhe
groundingMetadatame pyetjet e kërkimit, rezultatet e uebit dhe citimet.
Kuptimi i përgjigjes së tokëzimit
Kur një përgjigje është bazuar me sukses, përgjigjja përfshin një fushë groundingMetadata . Këto të dhëna të strukturuara janë thelbësore për verifikimin e pretendimeve dhe ndërtimin e një përvoje të pasur me citime në aplikacionin tuaj.
{
"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]
}
]
}
}
]
}
API-ja Gemini kthen informacionin e mëposhtëm me groundingMetadata :
-
webSearchQueries: Matricë e pyetjeve të kërkimit të përdorura. Kjo është e dobishme për debugging dhe kuptimin e procesit të arsyetimit të modelit. -
searchEntryPoint: Përmban HTML dhe CSS për të paraqitur Sugjerimet e Kërkimit të kërkuara. Kërkesat e plota të përdorimit janë të detajuara në Kushtet e Shërbimit . -
groundingChunks: Matricë objektesh që përmbajnë burimet e uebit (uridhetitle). -
groundingSupports: Matricë chunk-esh për të lidhurtexte përgjigjes së modelit me burimet nëgroundingChunks. Çdo chunk lidh njësegmentteksti (të përcaktuar ngastartIndexdheendIndex) me një ose më shumëgroundingChunkIndices. Ky është çelësi për ndërtimin e citimeve brenda rreshtit.
Tokëzimi me Kërkimin në Google mund të përdoret gjithashtu në kombinim me mjetin e kontekstit të URL-së për të bazuar përgjigjet si në të dhënat publike të uebit ashtu edhe në URL-të specifike që ofroni.
Atribuimi i burimeve me citime të integruara
API-ja kthen të dhëna të strukturuara të citimeve, duke ju dhënë kontroll të plotë mbi mënyrën se si i shfaqni burimet në ndërfaqen tuaj të përdoruesit. Mund të përdorni fushat groundingSupports dhe groundingChunks për të lidhur deklaratat e modelit direkt me burimet e tyre. Ja një model i zakonshëm për përpunimin e meta të dhënave për të krijuar një përgjigje me citime të integruara dhe të klikueshme.
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);
Përgjigja e re me citime të brendshme do të duket kështu:
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:/...)
Çmimet
Kur përdorni Grounding me Google Search, projekti juaj faturohet sipas kërkesës API që përfshin mjetin google_search . Nëse modeli vendos të ekzekutojë pyetje të shumëfishta kërkimi për t'iu përgjigjur një kërkese të vetme (për shembull, duke kërkuar për "UEFA Euro 2024 winner" dhe "Spain vs England Euro 2024 final score" brenda të njëjtës thirrje API), kjo llogaritet si një përdorim i vetëm i faturueshëm i mjetit për atë kërkesë.
Për informacion të detajuar mbi çmimet, shihni faqen e çmimeve të Gemini API .
Modelet e mbështetura
Modelet eksperimentale dhe ato të pamjes paraprake nuk përfshihen. Mund t’i gjeni aftësitë e tyre në faqen e përmbledhjes së modelit .
| Model | Bazë me Kërkimin në Google |
|---|---|
| Gemini 2.5 Pro | ✔️ |
| Binjakët 2.5 Flash | ✔️ |
| Gemini 2.5 Flash-Lite | ✔️ |
| Binjakët 2.0 Flash | ✔️ |
| Gemini 1.5 Pro | ✔️ |
| Binjakët 1.5 Flash | ✔️ |
Kombinimet e mjeteve të mbështetura
Mund të përdorni Grounding me Google Search me mjete të tjera si ekzekutimi i kodit dhe konteksti i URL-së për të mundësuar raste përdorimi më komplekse.
Tokëzimi me modelet Gemini 1.5 (Legacy)
Ndërsa mjeti google_search rekomandohet për Gemini 2.0 dhe versionet më të reja, Gemini 1.5 mbështet një mjet të trashëguar të quajtur google_search_retrieval . Ky mjet ofron një modalitet dynamic që i lejon modelit të vendosë nëse do të kryejë një kërkim bazuar në besimin e tij se kërkesa kërkon informacion të ri. Nëse besimi i modelit është mbi një dynamic_threshold që keni vendosur (një vlerë midis 0.0 dhe 1.0), ai do të kryejë një kërkim.
Python
# Note: This is a legacy approach for Gemini 1.5 models.
# The 'google_search' tool is recommended for all new development.
import os
from google import genai
from google.genai import types
client = genai.Client()
retrieval_tool = types.Tool(
google_search_retrieval=types.GoogleSearchRetrieval(
dynamic_retrieval_config=types.DynamicRetrievalConfig(
mode=types.DynamicRetrievalConfigMode.MODE_DYNAMIC,
dynamic_threshold=0.7 # Only search if confidence > 70%
)
)
)
config = types.GenerateContentConfig(
tools=[retrieval_tool]
)
response = client.models.generate_content(
model='gemini-1.5-flash',
contents="Who won the euro 2024?",
config=config,
)
print(response.text)
if not response.candidates[0].grounding_metadata:
print("\nModel answered from its own knowledge.")
JavaScript
// Note: This is a legacy approach for Gemini 1.5 models.
// The 'googleSearch' tool is recommended for all new development.
import { GoogleGenAI, DynamicRetrievalConfigMode } from "@google/genai";
const ai = new GoogleGenAI({});
const retrievalTool = {
googleSearchRetrieval: {
dynamicRetrievalConfig: {
mode: DynamicRetrievalConfigMode.MODE_DYNAMIC,
dynamicThreshold: 0.7, // Only search if confidence > 70%
},
},
};
const config = {
tools: [retrievalTool],
};
const response = await ai.models.generateContent({
model: "gemini-1.5-flash",
contents: "Who won the euro 2024?",
config,
});
console.log(response.text);
if (!response.candidates?.[0]?.groundingMetadata) {
console.log("\nModel answered from its own knowledge.");
}
PUSHTIM
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash: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_retrieval": {
"dynamic_retrieval_config": {
"mode": "MODE_DYNAMIC",
"dynamic_threshold": 0.7
}
}
}]
}'
Çfarë vjen më pas
- Provoni Grounding me Google Search në Gemini API Cookbook .
- Mësoni rreth mjeteve të tjera të disponueshme, si Thirrja e Funksioneve .
- Mësoni si të plotësoni kërkesat me URL specifike duke përdorur mjetin e kontekstit të URL-së .