توفّر Gemini API إمكانية الوصول المستضاف إلى Gemma كواجهة برمجة تطبيقات يمكنك استخدامها في تطوير التطبيقات أو إنشاء النماذج الأولية. توفّر واجهة برمجة التطبيقات هذه بديلاً مناسبًا لإعداد نسخة محلية من Gemma وخدمة ويب للتعامل مع مهام الذكاء الاصطناعي التوليدي.
يوضّح المثال التالي كيفية استخدام Gemma مع Gemini API:
Python
from google import genai
client = genai.Client(api_key="YOUR_API_KEY")
response = client.models.generate_content(
model="gemma-4-31b-it",
contents="Roses are red...",
)
print(response.text)
Node.js
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: "YOUR_API_KEY"});
const response = await ai.models.generateContent({
model: "gemma-4-31b-it",
contents: "Roses are red...",
});
console.log(response.text);
REST
curl "https://generativelanguage.googleapis.com/v1beta/models/gemma-4-31b-it:generateContent?key=YOUR_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[{"text": "Roses are red..."}]
}]
}'
الحصول على مفتاح واجهة برمجة التطبيقات
يمكنك الوصول إلى Gemini API على العديد من المنصات، مثل الأجهزة الجوّالة والويب وخدمات السحابة الإلكترونية، وباستخدام لغات برمجة متعددة. لمزيد من المعلومات حول حِزم Gemini API SDK، يُرجى الاطّلاع على صفحة عمليات تنزيل حِزم SDK الخاصة بواجهة Gemini API. للحصول على مقدّمة عامة حول Gemini API، يمكنك الاطّلاع على دليل التشغيل السريع لواجهة Gemini API.
المفكِّر
يستخدم نموذج Gemma 4 "عملية تفكير" داخلية تعمل على تحسين الاستدلال المتعدّد الخطوات، ما يؤدي إلى تحقيق أداء فائق في المجالات التي تتطلّب تفكيرًا منطقيًا، مثل الترميز الخوارزمي وإثباتات الرياضيات المتقدّمة.
في حين أنّ Gemma 4 تتيح إمكانية تفعيل هذه الميزة أو إيقافها، يمكنك تفعيلها في واجهة برمجة التطبيقات من خلال ضبط مستوى التفكير على "high".
يوضّح المثال التالي كيفية تفعيل عملية التفكير:
Python
from google import genai
client = genai.Client(api_key="YOUR_API_KEY")
response = client.models.generate_content(
model="gemma-4-31b-it",
contents="What is the water formula?",
config=types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_level="high")
),
)
print(response.text)
Node.js
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: "YOUR_API_KEY"});
const response = await ai.models.generateContent({
model: "gemma-4-31b-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-31b-it:generateContent?key=YOUR_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[{"text": "What is the water formula?"}]
}],
"generationConfig": {
"thinkingConfig": {
"thinkingLevel": "high"
}
}
}'
مزيد من المعلومات حول ميزة "التفكير":
- Gemini API Thinking (مقدّمة عامة)
- Gemma Thinking (إمكانات خاصة بنموذج Gemma)
فهم الصور
يمكن لنماذج Gemma 4 معالجة الصور، ما يتيح العديد من حالات الاستخدام المتقدّمة للمطوّرين التي كانت تتطلّب في السابق نماذج محدّدة للمجال.
يوضّح المثال التالي كيفية استخدام مدخلات صور Gemma مع Gemini API:
Python
from google import genai
client = genai.Client(api_key="YOUR_API_KEY")
my_file = client.files.upload(file="path/to/sample.jpg")
response = client.models.generate_content(
model="gemma-4-31b-it",
contents=[my_file, "Caption this image."],
)
print(response.text)
Node.js
import {
GoogleGenAI,
createUserContent,
createPartFromUri,
} from "@google/genai";
const ai = new GoogleGenAI({ apiKey: "YOUR_API_KEY" });
const myfile = await ai.files.upload({
file: "path/to/sample.jpg",
config: { mimeType: "image/jpeg" },
});
const response = await ai.models.generateContent({
model: "gemma-4-31b-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.
# The upload url is in the response headers dump them to a file.
curl "https://generativelanguage.googleapis.com/upload/v1beta/files?key=YOUR_API_KEY" \
-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-31b-it:generateContent?key=YOUR_API_KEY" \
-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)