Запустите Gemma с помощью Gemini API

API Gemini предоставляет доступ к Gemma через хостинг в качестве программного API, который можно использовать при разработке приложений или прототипировании. Этот API является удобной альтернативой настройке собственного локального экземпляра Gemma и веб-сервиса для обработки задач генеративного ИИ.

В следующем примере показано, как использовать Gemma с 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);

ОТДЫХ

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..."}]
    }]
   }'

Получить ключ API

Доступ к API Gemini возможен на многих платформах, таких как мобильные устройства, веб-браузеры и облачные сервисы, а также с использованием различных языков программирования. Более подробную информацию о пакетах SDK для API Gemini можно найти на странице загрузок SDK для API Gemini. Общее описание API Gemini можно найти в кратком руководстве по API Gemini .

Мышление

Gemma 4 использует внутренний «процесс мышления», который оптимизирует многоэтапные рассуждения, обеспечивая превосходную производительность в логически сложных областях, таких как алгоритмическое программирование и сложные математические доказательства.

Хотя Gemma 4 строго поддерживает включение или выключение этой функции, вы можете активировать её в API, установив уровень мышления на "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);

ОТДЫХ

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"
      }
    }
   }'

Узнайте больше о мышлении:

Понимание изображений

Модели Gemma 4 способны обрабатывать изображения, что открывает множество перспективных возможностей для разработчиков, которые ранее требовали использования специализированных моделей.

В следующем примере показано, как использовать входные данные Gemma Image с 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);
 ```

ОТДЫХ

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

Узнайте больше об обработке изображений: