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 i lejon Gemini të ofrojë përgjigje më të sakta dhe të citon burime të verifikueshme përtej kufirit kohor të shkëputjes së 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.
- Të qasesh tek informacionet në kohë reale: T'u përgjigjesh pyetjeve rreth ngjarjeve dhe temave të 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())
}
REST
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 administron të gjithë rrjedhën e punës
për kërkimin, përpunimin dhe citimin automatik të informacioneve.
- Kërkesa e përdoruesit: Aplikaiconi yt dërgon kërkesën e një përdoruesi tek API-ja e Gemini 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 nevojitet, 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ërgjigjja e bazuar: API-ja kthen një përgjigje përfundimtare 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 bazohet me sukses, rezultati i tekstit të modelit përfshin
annotations të integruar drejtpërdrejt në bllokun e përmbajtjes së tekstit. 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 kodi 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ënim iurl_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 të 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 modelet më të reja, projekti yt faturohet për çdo kërkesë kërkimi që modeli vendos të ekzekutojë. Ky model faturimi për kërkesë përfshin 5 000 kërkesa kërkimi falas në muaj të ndara në të gjitha modelet Gemini 3 dhe më të reja dhe më pas kushton 14 USD për 1 000 kërkesa kërkimi.
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 së njëjtës thirrje 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 me kërkimin me modelet Gemini 2.5 ose më të vjetra, projekti yt faturohet për 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 4 Argon | ✔️ |
| 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 imazhit me Gemini 3 Pro | ✔️ |
| Gemini 3 Flash Preview | ✔️ |
| 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 "Argumentimin me 'Kërko në Google'" me vegla të tjera si ekzekutimi i kodit, konteksti me URL dhe Argumentimi me Google Maps (mbështetet në Gemini 3.5 Flash-Lite dhe modelet e mëvonshme) për të mundësuar raste përdorimi më komplekse. Modelet e Gemini 3 mbështesin gjithashtu kombinimin e këtyre veglave të integruara me veglat e personalizuara (thirrja e funksionit). 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ë.