L'API Gemini fournit un accès hébergé à Gemma en tant qu'API de programmation que vous pouvez utiliser pour le développement ou le prototypage d'applications. Cette API constitue une alternative pratique à la configuration de votre propre instance locale de Gemma et de votre propre service Web pour gérer les tâches d'IA générative.
L'exemple suivant montre comment utiliser Gemma avec l'API Gemini :
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..."}]
}]
}'
Vous pouvez accéder à l'API Gemini sur de nombreuses plates-formes, telles que les services mobiles, Web et cloud, et avec plusieurs langages de programmation. Pour en savoir plus sur les packages SDK de l'API Gemini, consultez la page Téléchargements du SDK de l'API Gemini. Pour une introduction générale à l'API Gemini, consultez le guide de démarrage rapide de l'API Gemini.
Raisonnement
Gemma 4 utilise un "processus de réflexion" interne qui optimise son raisonnement en plusieurs étapes, ce qui lui permet d'offrir des performances supérieures dans les domaines logiquement exigeants tels que le codage algorithmique et les démonstrations mathématiques avancées.
Alors que Gemma 4 permet uniquement d'activer ou de désactiver cette fonctionnalité, vous l'activez dans l'API en définissant le niveau de réflexion sur "high".
L'exemple suivant montre comment activer le processus de réflexion :
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"
}
}
}'
En savoir plus sur la pensée :
- Réflexion sur l'API Gemini (Introduction générale)
- Réflexion Gemma (fonctionnalités spécifiques à Gemma)
Compréhension des images
Les modèles Gemma 4 peuvent traiter des images, ce qui permet de nombreux cas d'utilisation pour les développeurs de pointe qui auraient historiquement nécessité des modèles spécifiques à un domaine.
L'exemple suivant montre comment utiliser les entrées d'image Gemma avec l'API Gemini :
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
En savoir plus sur la compréhension des images :
- Compréhension des images avec l'API Gemini (Introduction générale)
- Compréhension des images Gemma (fonctionnalités spécifiques à Gemma)