Bazimi me "Kërko në Google" lidh modelin e Gemini me përmbajtjet e uebit në kohë reale dhe funksionon me të gjitha gjuhët e disponueshme. Kjo lejon që Gemini të ofrojë përgjigje më të sakta dhe të citojë burime të verifikueshme përtej kufirit të tij të njohurive.
Argumentimi të ndihmon të ndërtosh aplikacione që mund:
- Rrit saktësinë faktike: Zvogëlo halucinacionet e modelit duke i bazuar përgjigjet në informacione të botës reale.
- Qasu te informacionet në kohë reale: Përgjigju pyetjeve për ngjarjet dhe temat e fundit.
Ofro citime: Ndërto besimin e përdoruesit duke shfaqur burimet për pretendimet e modelit.
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="Who won the euro 2024?",
tools=[{"type": "google_search"}]
)
print(interaction.output_text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: "gemini-3.8-flash",
input: "Who won the euro 2024?",
tools: [{ type: "google_search" }]
});
console.log(interaction.output_text);
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.GoogleSearch;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.Arrays;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("gemini-3.8-flash"))
.input(InteractionsInput.of("Who won the euro 2024?"))
.tools(Arrays.asList(GoogleSearch.builder().build()))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println(interaction.outputText().orElse(""));
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
"google.golang.org/genai/interactions/models/interactions"
"google.golang.org/genai/interactions/models/operations"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
resp, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
Body: operations.NewCreateInteractionRequestBody(
interactions.CreateModelInteraction{
Model: interactions.Model("gemini-3.8-flash"),
Input: interactions.NewInteractionsInput("Who won the euro 2024?"),
Tools: []interactions.Tool{
interactions.NewTool(interactions.GoogleSearch{}),
},
},
),
})
if err != nil {
log.Fatal(err)
}
fmt.Println(resp.Interaction.GetOutputText())
}
QETËSI
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.8-flash",
"input": "Who won the euro 2024?",
"tools": [{"type": "google_search"}]
}'
Si funksionon argumentimi me "Kërko në Google"
Kur aktivizon veglën "google_search", modeli menaxhon të gjithë fluksin e punës për kërkimin, përpunimin dhe citimin e informacioneve në mënyrë automatike.

- Kërkesa e përdoruesit: Aplikacioni yt dërgon një kërkesë të përdoruesit te Gemini API
me veglën
google_searchtë aktivizuar. - Analiza e kërkesës: Modeli analizon kërkesën dhe përcakton nëse "Kërko në Google" mund ta përmirësojë përgjigjen.
- "Kërko në Google": Nëse është e nevojshme, modeli gjeneron automatikisht një ose disa kërkesa kërkimi dhe i ekzekuton ato.
- Përpunimi i rezultateve të kërkimit: Modeli përpunon rezultatet e kërkimit, sintetizon informacionet dhe formulon një përgjigje.
- Përgjigje e bazuar: API-ja kthen një përgjigje përfundimtare dhe të përshtatshme për përdoruesin që bazohet në rezultatet e kërkimit. Kjo përgjigje përfshin përgjigjen me tekst të modelit me
annotationstë ndërfutur që përmban citimet, si dhegoogle_search_calldhegoogle_search_resulthapa me kërkesat e kërkimit dhe sugjerimet e kërkimit.
Kuptimi i përgjigjes së bazuar
Kur një përgjigje është e bazuar me sukses, dalja e tekstit të modelit përfshin annotations të integruar drejtpërdrejt në bllokun e përmbajtjes me tekst. Këto shënime
ofrojnë informacione citimi që lidhin pjesë të përgjigjes me burimet e tyre.
{
"steps": [
{
"type": "thought",
"summary": [
{
"type": "text",
"text": "The user is asking for the winner of Euro 2024. I need to search for the result of the Euro 2024 final."
}
],
"signature": "CoMDAXLI2nynRYojJIy6B1Jh9os2crpWLfB0..."
},
{
"type": "google_search_call",
"arguments": {
"queries": ["UEFA Euro 2024 winner"]
}
},
{
"type": "google_search_result",
"call_id": "search_001",
"result": [
{
"search_suggestions": "<!-- HTML and CSS for the search widget -->"
}
]
},
{
"type": "model_output",
"content": [
{
"type": "text",
"text": "Spain won Euro 2024, defeating England 2-1 in the final. This victory marks Spain's record fourth European Championship title.",
"annotations": [
{
"type": "url_citation",
"url": "https://www.aljazeera.com/sports/euro-2024-final",
"title": "aljazeera.com",
"start_index": 0,
"end_index": 56
},
{
"type": "url_citation",
"url": "https://www.uefa.com/euro2024/news/spain-wins-euro-2024",
"title": "uefa.com",
"start_index": 57,
"end_index": 124
}
]
}
]
}
]
}
Fushat kryesore në përgjigje:
google_search_call: Përmban kërkiminqueriesqë ka ekzekutuar modeli.google_search_result: Përmbansearch_suggestions, një fragment HTML për paraqitjen e sugjerimeve të kërkimit në ndërfaqen tënde të përdoruesit. Kërkesat e plota për përdorimin janë të detajuara te Kushtet e shërbimit.textmeannotations: Përgjigjja e sintetizuar e modelit me citime të integruara. Çdo shënimurl_citationlidh një segment teksti (të përcaktuar ngastart_indexdheend_index) me një URL burimi. Ky është çelësi për ndërtimin e citimeve të integruara.
"Bazimi me 'Kërko në Google'" mund të përdoret gjithashtu në kombinim me veglën e kontekstit të URL-së për të bazuar përgjigjet në të dhënat publike të uebit dhe në URL-të specifike që ti jep.
Atribuimi i burimeve me citime të ndërfutura
API-ja kthen shënime të integruara url_citation në bllokun e përmbajtjes së tekstit,
duke të të dhënë kontroll të plotë mbi mënyrën se si i shfaq burimet në ndërfaqen tënde të përdoruesit.
Çdo shënim përfshin start_index dhe end_index për të identifikuar se cilën pjesë të tekstit citon. Ja se si t'i nxjerrësh dhe t'i shfaqësh ato.
Python
for step in interaction.steps:
if step.type == "model_output":
for content_block in step.content:
if content_block.type == "text":
print(content_block.text)
if content_block.annotations:
print("\nCitations:")
for annotation in content_block.annotations:
if annotation.type == "url_citation":
cited_text = content_block.text[annotation.start_index:annotation.end_index]
print(f" [{annotation.title}]({annotation.url})")
print(f" Cited text: \"{cited_text}\"")
JavaScript
for (const step of interaction.steps) {
if (step.type === 'model_output') {
for (const contentBlock of step.content) {
if (contentBlock.type === 'text') {
console.log(contentBlock.text);
if (contentBlock.annotations) {
console.log("\nCitations:");
for (const annotation of contentBlock.annotations) {
if (annotation.type === 'url_citation') {
const citedText = contentBlock.text.slice(annotation.startIndex, annotation.endIndex);
console.log(` [${annotation.title}](${annotation.url})`);
console.log(` Cited text: "${citedText}"`);
}
}
}
}
}
}
}
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.Annotation;
import com.google.genai.gaos.models.interactions.Content;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.GoogleSearch;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ModelOutputStep;
import com.google.genai.gaos.models.interactions.Step;
import com.google.genai.gaos.models.interactions.TextContent;
import com.google.genai.gaos.models.interactions.URLCitation;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.Arrays;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("gemini-3.8-flash"))
.input(InteractionsInput.of("Who won the euro 2024?"))
.tools(Arrays.asList(GoogleSearch.builder().build()))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
if (interaction.steps().isPresent()) {
for (Step step : interaction.steps().get()) {
if (step instanceof ModelOutputStep) {
ModelOutputStep outputStep = (ModelOutputStep) step;
if (outputStep.content().isPresent()) {
for (Content contentBlock : outputStep.content().get()) {
if (contentBlock instanceof TextContent) {
TextContent textContent = (TextContent) contentBlock;
String text = textContent.text().orElse("");
System.out.println(text);
if (textContent.annotations().isPresent()
&& !textContent.annotations().get().isEmpty()) {
System.out.println("\nCitations:");
for (Annotation annotation : textContent.annotations().get()) {
if (annotation instanceof URLCitation) {
URLCitation citation = (URLCitation) annotation;
int start = citation.startIndex().orElse(0);
int end = citation.endIndex().orElse(0);
String citedText =
(start >= 0 && end <= text.length() && start <= end)
? text.substring(start, end)
: "";
System.out.printf(
" [%s](%s)%n", citation.title().orElse(""), citation.url().orElse(""));
System.out.printf(" Cited text: \"%s\"%n", citedText);
}
}
}
}
}
}
}
}
}
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
"google.golang.org/genai/interactions/models/interactions"
"google.golang.org/genai/interactions/models/operations"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
resp, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
Body: operations.NewCreateInteractionRequestBody(
interactions.CreateModelInteraction{
Model: interactions.Model("gemini-3.8-flash"),
Input: interactions.NewInteractionsInput("Who won the euro 2024?"),
Tools: []interactions.Tool{
interactions.NewTool(interactions.GoogleSearch{}),
},
},
),
})
if err != nil {
log.Fatal(err)
}
for _, step := range resp.Interaction.Steps {
if step.ModelOutputStep != nil {
for _, content := range step.ModelOutputStep.Content {
if content.TextContent != nil {
text := content.TextContent.Text
fmt.Println(text)
if len(content.TextContent.Annotations) > 0 {
fmt.Println("\nCitations:")
for _, annotation := range content.TextContent.Annotations {
if annotation.URLCitation != nil {
c := annotation.URLCitation
start := 0
if c.StartIndex != nil {
start = *c.StartIndex
}
end := 0
if c.EndIndex != nil {
end = *c.EndIndex
}
citedText := ""
if start >= 0 && end <= len(text) && start <= end {
citedText = text[start:end]
}
title := ""
if c.Title != nil {
title = *c.Title
}
url := ""
if c.URL != nil {
url = *c.URL
}
fmt.Printf(" [%s](%s)\n", title, url)
fmt.Printf(" Cited text: %q\n", citedText)
}
}
}
}
}
}
}
}
Rezultati do të shfaqë tekstin e ndjekur nga citimet e tij:
Spain won Euro 2024, defeating England 2-1 in the final. This victory marks Spain's record fourth European Championship title.
Citations:
[aljazeera.com](https://www.aljazeera.com/sports/euro-2024-final)
Cited text: "Spain won Euro 2024, defeating England 2-1 in the final."
[uefa.com](https://www.uefa.com/euro2024/news/spain-wins-euro-2024)
Cited text: "This victory marks Spain's record fourth European Championship title."
Çmimet
Kur përdor "Argumentimin me 'Kërko në Google'" me Gemini 3 dhe modele më të reja, projekti yt faturohet për çdo kërkesë kërkimi që modeli vendos të ekzekutojë. Ky model faturimi për çdo kërkesë përfshin 5000 kërkesa falas për kërkim në muaj të ndara në të gjitha modelet Gemini 3 dhe më të reja dhe më pas kushton 14 USD për 1000 kërkesa për kërkim.
Për shembull, nëse modeli vendos të ekzekutojë disa kërkesa kërkimi për t'iu përgjigjur një kërkese të vetme (p.sh. kërkimi për "UEFA Euro 2024 winner" dhe "Spain vs
England Euro 2024 final score" brenda të njëjtit telefonatë API), kjo llogaritet si dy përdorime të faturueshme të veglës për atë kërkesë. Për qëllime faturimi, ne i shpërfillim kërkesat boshe të kërkimit në ueb kur numërojmë kërkesat unike.
Kur përdor argumentimin e kërkimit me Gemini 2.5 ose modele më të vjetra, projekti yt faturohet për çdo kërkesë.
Për informacione të detajuara për çmimet, shiko faqen e çmimeve të Gemini API.
Modelet e mbështetura
Mund t'i gjesh aftësitë e plota në faqen e përmbledhjes së modelit.
| Modeli | Argumentimi me "Kërko në Google" |
|---|---|
| Gemini 3.8 Flash | ✔️ |
| Gemini 3.6 Flash | ✔️ |
| Gemini 3.5 Flash-Lite | ✔️ |
| Pamja paraprake e imazhit të Gemini 3.1 Flash | ✔️ |
| Gemini 3.1 Pro Preview | ✔️ |
| Pamja paraprake e imazheve me Gemini 3 Pro | ✔️ |
| Pamja paraprake e Gemini 3 Flash | ✔️ |
| Gemini 2.5 Pro | ✔️ |
| Gemini 2.5 Flash | ✔️ |
| Gemini 2.5 Flash-Lite | ✔️ |
| Gemini 2.0 Flash | ✔️ |
Kombinimet e mbështetura të veglave
Mund ta përdorësh Grounding me "Kërko në Google" me vegla të tjera si ekzekutimi i kodit, konteksti i URL-së dhe Grounding me Google Maps (mbështetur në Gemini 3.5 Flash-Lite dhe modelet e mëvonshme) për të mundësuar raste përdorimi më kompleks. Modelet e Gemini 3 mbështesin gjithashtu kombinimin e këtyre veglave të integruara me vegla të personalizuara (thirrja e funksioneve). Mëso më shumë në faqen e kombinimeve të veglave.
Çfarë ka më pas
- Mëso rreth veglave të tjera të disponueshme, si Thirrja e funksionit.
- Mëso se si t'i rritësh kërkesat me URL specifike duke përdorur veglën e kontekstit të URL-së.