API-ja Gemini ofron akses të hostuar në Gemma si një API programimi që mund ta përdorni në zhvillimin e aplikacioneve ose prototipimin. Ky API është një alternativë e përshtatshme për të konfiguruar instancën tuaj lokale të Gemma dhe shërbimin web për të trajtuar detyra gjeneruese të IA-së.
Modelet e Mbështetura
API-ja Gemini mbështet modelet e mëposhtme Gemma 4:
-
gemma-4-31b-it -
gemma-4-26b-a4b-it
Shembulli i mëposhtëm tregon se si të përdoret Gemma me Gemini API:
Python
from google import genai
client = genai.Client()
response = client.models.generate_content(
model="gemma-4-26b-a4b-it",
contents="Roses are red...",
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI();
const response = await ai.models.generateContent({
model: "gemma-4-26b-a4b-it",
contents: "Roses are red...",
});
console.log(response.text);
PUSHTIM
curl "https://generativelanguage.googleapis.com/v1beta/models/gemma-4-26b-a4b-it:generateContent" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[{"text": "Roses are red..."}]
}]
}'
Mund të qaseni në Gemini API në shumë platforma, të tilla si shërbimet mobile, web dhe cloud, si dhe me gjuhë të shumta programimi. Për më shumë informacion mbi paketat Gemini API SDK, shihni faqen e shkarkimeve të Gemini API SDK . Për një hyrje të përgjithshme në Gemini API, shihni udhëzuesin e shpejtë të Gemini API .
Të menduarit
Gemma 4 përdor një "proces të të menduarit" të brendshëm që optimizon arsyetimin e tij me shumë hapa, duke ofruar performancë superiore në fusha që kërkojnë shumë logjikë, siç janë kodimi algoritmik dhe provat matematikore të avancuara.
Ndërkohë që Gemma 4 mbështet në mënyrë strikte aktivizimin ose çaktivizimin e kësaj veçorie, ju e aktivizoni atë në API duke e vendosur nivelin e të menduarit në "high" .
Shembulli i mëposhtëm tregon se si të aktivizohet procesi i të menduarit:
Python
from google import genai
from google.genai import types
client = genai.Client()
response = client.models.generate_content(
model="gemma-4-26b-a4b-it",
contents="What is the water formula?",
config=types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_level="high")
),
)
print(response.text)
JavaScript
import { GoogleGenAI, ThinkingLevel } from "@google/genai";
const ai = new GoogleGenAI();
const response = await ai.models.generateContent({
model: "gemma-4-26b-a4b-it",
contents: "What is the water formula?",
config: {
thinkingConfig: {
thinkingLevel: ThinkingLevel.HIGH,
},
},
});
console.log(response.text);
PUSHTIM
curl "https://generativelanguage.googleapis.com/v1beta/models/gemma-4-26b-a4b-it:generateContent" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[{"text": "What is the water formula?"}]
}],
"generationConfig": {
"thinkingConfig": {
"thinkingLevel": "high"
}
}
}'
Mësoni më shumë rreth të menduarit:
- Mendimi i API-t Gemini (Hyrje e përgjithshme)
- Gemma Thinking (aftësi specifike për Gemma-n)
Kuptimi i Imazhit
Modelet Gemma 4 mund të përpunojnë imazhe, duke mundësuar shumë raste përdorimi nga zhvilluesit e nivelit të lartë që historikisht do të kishin kërkuar modele specifike për domenin.
Shembulli i mëposhtëm tregon se si të përdoren inputet e Gemma Image me Gemini API:
Python
from google import genai
client = genai.Client()
my_file = client.files.upload(file="path/to/sample.jpg")
response = client.models.generate_content(
model="gemma-4-26b-a4b-it",
contents=[my_file, "Caption this image."],
)
print(response.text)
JavaScript
import {
GoogleGenAI,
createUserContent,
createPartFromUri,
} from "@google/genai";
const ai = new GoogleGenAI();
const myfile = await ai.files.upload({
file: "path/to/sample.jpg",
config: { mimeType: "image/jpeg" },
});
const response = await ai.models.generateContent({
model: "gemma-4-26b-a4b-it",
contents: createUserContent([
createPartFromUri(myfile.uri, myfile.mimeType),
"Caption this image.",
]),
});
console.log(response.text);
```
PUSHTIM
IMAGE_PATH="cats-and-dogs.jpg"
MIME_TYPE=$(file -b --mime-type "${IMAGE_PATH}")
NUM_BYTES=$(wc -c < "${IMAGE_PATH}")
DISPLAY_NAME=IMAGE
tmp_header_file=upload-header.tmp
# Initial resumable request defining metadata.
curl "https://generativelanguage.googleapis.com/upload/v1beta/files" \
-D upload-header.tmp \
-H "X-Goog-Upload-Protocol: resumable" \
-H "X-Goog-Upload-Command: start" \
-H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
-H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
-H "Content-Type: application/json" \
-d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null
upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"
# Upload the actual bytes.
curl "${upload_url}" \
-H "Content-Length: ${NUM_BYTES}" \
-H "X-Goog-Upload-Offset: 0" \
-H "X-Goog-Upload-Command: upload, finalize" \
--data-binary "@${IMAGE_PATH}" 2> /dev/null > file_info.json
file_uri=$(jq -r ".file.uri" file_info.json)
echo file_uri=$file_uri
# Now generate content using that file
curl "https://generativelanguage.googleapis.com/v1beta/models/gemma-4-26b-a4b-it:generateContent" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[
{"file_data":{"mime_type": "'"${MIME_TYPE}"'", "file_uri": "'"${file_uri}"'"}},
{"text": "Caption this image."}]
}]
}' 2> /dev/null > response.json
cat response.json
echo
jq -r ".candidates[].content.parts[].text" response.json
Mësoni më shumë rreth Kuptimit të Imazhit:
- Kuptimi i Imazhit Gemini API (Hyrje e përgjithshme)
- Kuptimi i Imazhit Gemma (aftësi specifike për Gemma-n)
Udhëzimet e Sistemit
Mund të kaloni një udhëzim sistemi për të vendosur sjelljen e modelit:
Python
from google import genai
from google.genai import types
client = genai.Client()
response = client.models.generate_content(
model="gemma-4-26b-a4b-it",
config=types.GenerateContentConfig(
system_instruction="You are a wise Kyoto tea master. Speak calmly and poetically, using nature metaphors. Keep answers under 3 sentences."
),
contents="What is the purpose of the tea ceremony?"
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI();
const response = await ai.models.generateContent({
model: "gemma-4-26b-a4b-it",
contents: "What is the purpose of the tea ceremony?",
config: {
systemInstruction: "You are a wise Kyoto tea master. Speak calmly and poetically, using nature metaphors. Keep answers under 3 sentences."
}
});
console.log(response.text);
PUSHTIM
curl "https://generativelanguage.googleapis.com/v1beta/models/gemma-4-26b-a4b-it:generateContent" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[{"text": "What is the purpose of the tea ceremony?"}]
}],
"systemInstruction": {
"parts": [{"text": "You are a wise Kyoto tea master. Speak calmly and poetically, using nature metaphors. Keep answers under 3 sentences."}]
}
}'
Biseda me shumë kthesa
SDK ofron një ndërfaqe bisede që gjurmon automatikisht historikun e bisedave:
Python
from google import genai
client = genai.Client()
chat = client.chats.create(model="gemma-4-26b-a4b-it")
response = chat.send_message("What are the three most famous castles in Japan?")
print(response.text)
response = chat.send_message("Which one should I visit in spring for cherry blossoms?")
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI();
const chat = ai.chats.create({ model: "gemma-4-26b-a4b-it" });
let response = await chat.sendMessage({ message: "What are the three most famous castles in Japan?" });
console.log(response.text);
response = await chat.sendMessage({ message: "Which one should I visit in spring for cherry blossoms?" });
console.log(response.text);
PUSHTIM
curl "https://generativelanguage.googleapis.com/v1beta/models/gemma-4-26b-a4b-it:generateContent" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [
{
"role": "user",
"parts": [{ "text": "What are the three most famous castles in Japan?" }]
},
{
"role": "model",
"parts": [{ "text": "Himeji Castle, Matsumoto Castle, and Kumamoto Castle are often considered the top three." }]
},
{
"role": "user",
"parts": [{ "text": "Which one should I visit in spring for cherry blossoms?" }]
}
]
}'
Thirrja e funksionit
Përcaktoni mjetet si deklarime funksionesh. Modeli vendos se kur t'i thërrasë ato:
Python
from google import genai
from google.genai import types
# Define the function declaration
get_weather = {
"name": "get_weather",
"description": "Get current weather for a given location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "City and state, e.g. 'San Francisco, CA'",
},
},
"required": ["location"],
},
}
client = genai.Client()
tools = types.Tool(function_declarations=[get_weather])
config = types.GenerateContentConfig(tools=[tools])
response = client.models.generate_content(
model="gemma-4-26b-a4b-it",
contents="Should I bring an umbrella to Kyoto today?",
config=config,
)
# The model returns a function call instead of text
if response.function_calls:
for fc in response.function_calls:
print(f"Function to call: {fc.name}")
print(f"ID: {fc.id}")
print(f"Arguments: {fc.args}")
else:
print("No function call found in the response.")
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI();
const get_weather = {
name: "get_weather",
description: "Get current weather for a given location.",
parameters: {
type: "object",
properties: {
location: {
type: "string",
description: "City and state, e.g. 'San Francisco, CA'",
},
},
required: ["location"],
},
};
const response = await ai.models.generateContent({
model: "gemma-4-26b-a4b-it",
contents: "Should I bring an umbrella to Kyoto today?",
config: {
tools: [{ functionDeclarations: [get_weather] }]
}
});
if (response.functionCalls) {
for (const fc of response.functionCalls) {
console.log(`Function to call: ${fc.name}`);
console.log(`Arguments: ${JSON.stringify(fc.args)}`);
}
} else {
console.log("No function call found in the response.");
console.log(response.text);
}
PUSHTIM
curl "https://generativelanguage.googleapis.com/v1beta/models/gemma-4-26b-a4b-it:generateContent" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[{"text": "Should I bring an umbrella to Kyoto today?"}]
}],
"tools": [{
"functionDeclarations": [{
"name": "get_weather",
"description": "Get current weather for a given location.",
"parameters": {
"type": "OBJECT",
"properties": {
"location": {
"type": "STRING",
"description": "City and state, e.g. 'San Francisco, CA'"
}
},
"required": ["location"]
}
}]
}]
}'
Kërkimi në Google
Përgjigjet e Ground Gemma 4 në të dhëna në kohë reale në internet me Kërkimin në Google:
Python
from google import genai
from google.genai import types
client = genai.Client()
response = client.models.generate_content(
model="gemma-4-26b-a4b-it",
contents="What are the dates for cherry blossom season in Tokyo this year?",
config=types.GenerateContentConfig(
tools=[{"google_search":{}}]
),
)
print(response.text)
# Access grounding metadata for citations
for chunk in response.candidates[0].grounding_metadata.grounding_chunks:
print(f"Source: {chunk.web.title} — {chunk.web.uri}")
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI();
const response = await ai.models.generateContent({
model: "gemma-4-26b-a4b-it",
contents: "What are the dates for cherry blossom season in Tokyo this year?",
config: {
tools: [{ googleSearch: {} }]
}
});
console.log(response.text);
if (response.candidates?.[0]?.groundingMetadata?.groundingChunks) {
for (const chunk of response.candidates[0].groundingMetadata.groundingChunks) {
if (chunk.web) {
console.log(`Source: ${chunk.web.title} — ${chunk.web.uri}`);
}
}
}
PUSHTIM
curl "https://generativelanguage.googleapis.com/v1beta/models/gemma-4-26b-a4b-it:generateContent" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[{"text": "What are the dates for cherry blossom season in Tokyo this year?"}]
}],
"tools": [{"googleSearch": {}}]
}'