Gemini API, Gemma को होस्ट किए गए ऐक्सेस के तौर पर उपलब्ध कराता है. यह एक प्रोग्रामिंग एपीआई है, जिसका इस्तेमाल ऐप्लिकेशन डेवलपमेंट या प्रोटोटाइपिंग में किया जा सकता है. यह एपीआई, Gemma के लोकल इंस्टेंस और जनरेटिव एआई से जुड़े टास्क मैनेज करने के लिए वेब सेवा को सेट अप करने का एक आसान विकल्प है.
काम करने वाले मॉडल
Gemini API, Gemma 4 के इन मॉडल के साथ काम करता है:
gemma-4-31b-itgemma-4-26b-a4b-it
इस उदाहरण में, Gemini API के साथ Gemma का इस्तेमाल करने का तरीका दिखाया गया है:
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);
REST
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..."}]
}]
}'
Gemini API को मोबाइल, वेब, और क्लाउड सेवाओं जैसे कई प्लैटफ़ॉर्म पर ऐक्सेस किया जा सकता है. साथ ही, इसे कई प्रोग्रामिंग भाषाओं के साथ इस्तेमाल किया जा सकता है. Gemini API SDK पैकेज के बारे में ज़्यादा जानने के लिए, Gemini API के एसडीके डाउनलोड पेज पर जाएं. Gemini API के बारे में सामान्य जानकारी के लिए, Gemini API के बारे में क्विकस्टार्ट गाइड देखें.
सूझ-बूझ वाला मॉडल
Gemma 4, "सोचने की प्रोसेस" का इस्तेमाल करता है. इससे, यह कई चरणों में तर्क देने की क्षमता को ऑप्टिमाइज़ करता है. साथ ही, यह ऐसे डोमेन में बेहतर परफ़ॉर्मेंस देता है जिनमें तर्क की ज़रूरत होती है. जैसे, एल्गोरिथम कोडिंग और गणित के मुश्किल सवालों को हल करना.
Gemma 4 में, इस सुविधा को चालू या बंद करने का विकल्प होता है. हालांकि, एपीआई में इसे चालू करने के लिए, थिंकिंग लेवल को "high" पर सेट करना होता है.
यहां दिए गए उदाहरण में, सोचने की प्रोसेस को चालू करने का तरीका बताया गया है:
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);
REST
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"
}
}
}'
सोचने के बारे में ज़्यादा जानें:
- Gemini API की सोच (सामान्य जानकारी)
- Gemma की सोचने-समझने की क्षमता (Gemma की खास क्षमताएं)
इमेज की बारीक़ी से पहचान
Gemma 4 मॉडल, इमेज को प्रोसेस कर सकते हैं. इससे डेवलपर को कई नई सुविधाएं मिलती हैं. पहले, इन सुविधाओं के लिए डोमेन के हिसाब से मॉडल की ज़रूरत होती थी.
इस उदाहरण में, Gemini API के साथ Gemma के इमेज इनपुट इस्तेमाल करने का तरीका दिखाया गया है:
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);
```
REST
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
इमेज को समझने की सुविधा के बारे में ज़्यादा जानें:
- Gemini API की इमेज समझने की सुविधा (सामान्य जानकारी)
- Gemma की इमेज समझने की क्षमता (Gemma की खास क्षमताएं)
सिस्टम के निर्देश
मॉडल के व्यवहार को सेट करने के लिए, सिस्टम के निर्देश दिए जा सकते हैं:
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);
REST
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."}]
}
}'
एक से ज़्यादा बार की जाने वाली बातचीत
एसडीके, चैट इंटरफ़ेस उपलब्ध कराता है. यह बातचीत के इतिहास को अपने-आप ट्रैक करता है:
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);
REST
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?" }]
}
]
}'
फ़ंक्शन कॉलिंग
टूल को फ़ंक्शन के तौर पर तय करें. मॉडल यह तय करता है कि उन्हें कब कॉल करना है:
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);
}
REST
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"]
}
}]
}]
}'
Google Search
Google Search की मदद से, रीयल-टाइम में वेब डेटा के आधार पर Gemma 4 से जवाब पाएं:
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}`);
}
}
}
REST
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": {}}]
}'