Краткое руководство по API Gemini

В этом кратком руководстве показано, как начать работу с Gemini API, используя выбранный вами SDK.

Предварительные условия

Питон

Посмотреть в Google AI Запустить в Google Colab Посмотреть блокнот на GitHub

Чтобы выполнить это краткое руководство локально, убедитесь, что ваша среда разработки соответствует следующим требованиям:

  • Питон 3.9+
  • Установка jupyter для запуска ноутбука.

Идти

В этом кратком руководстве предполагается, что вы знакомы с созданием приложений на Go.

Чтобы выполнить это краткое руководство, убедитесь, что ваша среда разработки соответствует следующим требованиям:

  • Перейти 1.20+

Node.js

В этом кратком руководстве предполагается, что вы знакомы с созданием приложений с помощью Node.js.

Чтобы выполнить это краткое руководство, убедитесь, что ваша среда разработки соответствует следующим требованиям:

  • Node.js 18+
  • НПМ

Интернет

В этом кратком руководстве предполагается, что вы знакомы с использованием JavaScript для разработки веб-приложений. Это руководство не зависит от платформы.

Чтобы выполнить это краткое руководство, убедитесь, что ваша среда разработки соответствует следующим требованиям:

  • (Необязательно) Node.js
  • Современный веб-браузер

Дарт (Флаттер)

В этом кратком руководстве предполагается, что вы знакомы с созданием приложений с помощью Dart.

Чтобы выполнить это краткое руководство, убедитесь, что ваша среда разработки соответствует следующим требованиям:

  • Дарт 3.2.0+

Быстрый

В этом кратком руководстве предполагается, что вы знакомы с использованием Xcode для разработки приложений Swift.

Чтобы выполнить это краткое руководство, убедитесь, что ваша среда разработки и приложение Swift соответствуют следующим требованиям:

  • Xcode 15.0 или выше
  • Ваше приложение Swift должно быть ориентировано на iOS 15 или более позднюю версию или macOS 12 или более позднюю версию.

Андроид

В этом кратком руководстве предполагается, что вы знакомы с использованием Android Studio для разработки приложений Android.

Чтобы выполнить это краткое руководство, убедитесь, что ваша среда разработки и приложение Android соответствуют следующим требованиям:

  • Android Studio (последняя версия)
  • Ваше Android-приложение должно быть ориентировано на уровень API 21 или выше.

Настройте свой ключ API

Чтобы использовать API Gemini, вам понадобится ключ API. Если у вас его еще нет, создайте ключ в Google AI Studio.

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

Затем настройте свой ключ.

Питон

Настоятельно рекомендуется не проверять ключ API в вашей системе контроля версий. В этом кратком руководстве предполагается, что вы получаете доступ к своему ключу API как к переменной среды.

Назначьте свой ключ API переменной среды:

export API_KEY=<YOUR_API_KEY>

Идти

Настоятельно рекомендуется не проверять ключ API в вашей системе контроля версий. В этом кратком руководстве предполагается, что вы получаете доступ к своему ключу API как к переменной среды.

Назначьте свой ключ API переменной среды:

export API_KEY=<YOUR_API_KEY>

Node.js

Настоятельно рекомендуется не проверять ключ API в вашей системе контроля версий. В этом кратком руководстве предполагается, что вы получаете доступ к своему ключу API как к переменной среды.

Назначьте свой ключ API переменной среды:

export API_KEY=<YOUR_API_KEY>

Интернет

Настоятельно рекомендуется не проверять ключ API в вашей системе контроля версий. Вместо этого вам следует передать ключ API в свое приложение непосредственно перед инициализацией модели.

В этом кратком руководстве предполагается, что вы обращаетесь к своему ключу API как к глобальной константе.

Дарт (Флаттер)

Настоятельно рекомендуется не проверять ключ API в вашей системе контроля версий. В этом кратком руководстве предполагается, что вы получаете доступ к своему ключу API как к переменной среды процесса. Если вы разрабатываете приложение Flutter, вы можете использовать String.fromEnvironment и передать --dart-define=API_KEY=$API_KEY для flutter build или flutter run для компиляции с ключом API, поскольку при запуске приложения среда процесса будет другой. .

Быстрый

Настоятельно рекомендуется не проверять ключ API в вашей системе контроля версий. Один из альтернативных вариантов — сохранить его в файле GenerativeAI-Info.plist , а затем прочитать ключ API из файла .plist . Обязательно поместите этот файл .plist в корневую папку вашего приложения и исключите его из контроля версий.

enum APIKey {
   // Fetch the API key from `GenerativeAI-Info.plist`
   static var `default`: String {
      guard let filePath = Bundle.main.path(forResource: "GenerativeAI-Info", ofType: "plist")
      else {
         fatalError("Couldn't find file 'GenerativeAI-Info.plist'.")
      }
      let plist = NSDictionary(contentsOfFile: filePath)
      guard let value = plist?.object(forKey: "API_KEY") as? String else {
         fatalError("Couldn't find key 'API_KEY' in 'GenerativeAI-Info.plist'.")
      }
      if value.starts(with: "_") {
         fatalError(
           "Follow the instructions at https://ai.google.dev/tutorials/setup to get an API key."
         )
      }
      return value
   }
}

Андроид

Настоятельно рекомендуется не проверять ключ API в вашей системе контроля версий. Вместо этого вам следует сохранить его в файле local.properties (который находится в корневом каталоге вашего проекта, но исключен из контроля версий), а затем использовать плагин Secrets Gradle для Android , чтобы прочитать ваш ключ API как переменную конфигурации сборки.

Котлин:

// Access your API key as a Build Configuration variable
val apiKey = BuildConfig.apiKey

Джава:

// Access your API key as a Build Configuration variable
String apiKey = BuildConfig.apiKey;

Если вы хотите увидеть реализацию плагина Secrets Gradle, вы можете просмотреть пример приложения для этого SDK или использовать последнюю предварительную версию Android Studio Iguana, в которой есть стартовый шаблон Gemini API (который включает файл local.properties для начала работы). ).

Установите SDK

Питон

Python SDK для Gemini API содержится в пакете google-generativeai . Установите зависимость с помощью pip:

pip install -q -U google-generativeai

Идти

Чтобы использовать Gemini API в своем приложении, вам необходимо get пакет Go SDK в каталоге вашего модуля:

go get github.com/google/generative-ai-go

Node.js

Чтобы использовать Gemini API в своем приложении, вам необходимо установить пакет GoogleGenerativeAI для Node.js:

npm install @google/generative-ai

Интернет

Чтобы использовать Gemini API в своем веб-приложении, импортируйте @google/generative-ai :

<script type="importmap">
   {
     "imports": {
       "@google/generative-ai": "https://esm.run/@google/generative-ai"
     }
   }
</script>

Дарт (Флаттер)

Чтобы использовать API Gemini в своем приложении, вам необходимо add пакет google_generative_ai в приложение Dart или Flutter:

Дарт:

dart pub add google_generative_ai

Трепетание:

flutter pub add google_generative_ai

Быстрый

Чтобы использовать Gemini API в своем собственном приложении Swift, добавьте в свое приложение пакет GoogleGenerativeAI :

  1. В Xcode щелкните правой кнопкой мыши свой проект в навигаторе проекта.

  2. Выберите «Добавить пакеты» в контекстном меню.

  3. В диалоговом окне «Добавление пакетов» вставьте URL-адрес пакета в строку поиска: none https://github.com/google/generative-ai-swift

  4. Нажмите «Добавить пакет» . Xcode теперь добавит пакет GoogleGenerativeAI в ваш проект.

Андроид

  1. В файле конфигурации Gradle вашего модуля (на уровне приложения) (например <project>/<app-module>/build.gradle.kts ) добавьте зависимость для Google AI SDK для Android:

    Котлин:

    dependencies {
    
       // add the dependency for the Google AI client SDK for Android
       implementation("com.google.ai.client.generativeai:generativeai:0.3.0")
    }
    

    Джава:

    Для Java вам необходимо добавить две дополнительные библиотеки.

    dependencies {
    
        // add the dependency for the Google AI client SDK for Android
        implementation("com.google.ai.client.generativeai:generativeai:0.3.0")
    
        // Required for one-shot operations (to use `ListenableFuture` from Guava Android)
        implementation("com.google.guava:guava:31.0.1-android")
    
        // Required for streaming operations (to use `Publisher` from Reactive Streams)
        implementation("org.reactivestreams:reactive-streams:1.0.4")
    }
    
  2. Синхронизируйте проект Android с файлами Gradle.

Инициализируйте генеративную модель

Питон

Прежде чем вы сможете выполнять какие-либо вызовы API, вам необходимо импортировать и инициализировать генеративную модель.

import google.generativeai as genai

genai.configure(api_key=os.environ["API_KEY"])
model = genai.GenerativeModel('gemini-pro')

Идти

Прежде чем вы сможете выполнять какие-либо вызовы API, вам необходимо импортировать и инициализировать генеративную модель.

import "github.com/google/generative-ai-go/genai"
import "google.golang.org/api/option"

ctx := context.Background()
// Access your API key as an environment variable (see "Set up your API key" above)
client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("API_KEY")))
if err != nil {
    log.Fatal(err)
}
defer client.Close()

// For text-only input, use the gemini-pro model
model := client.GenerativeModel("gemini-pro")

Node.js

Прежде чем вы сможете выполнять какие-либо вызовы API, вам необходимо импортировать и инициализировать генеративную модель.

const { GoogleGenerativeAI } = require("@google/generative-ai");

// Access your API key as an environment variable (see "Set up your API key" above)
const genAI = new GoogleGenerativeAI(process.env.API_KEY);

// ...

// For text-only input, use the gemini-pro model
const model = genAI.getGenerativeModel({ model: "gemini-pro"});

// ...

Интернет

Прежде чем вы сможете выполнять какие-либо вызовы API, вам необходимо импортировать и инициализировать генеративную модель.

<html>
<body>
   <!-- ... Your HTML and CSS -->
   <!-- Import @google/generative-ai, as shown above. -->
   <script type="module">
      import { GoogleGenerativeAI } from "@google/generative-ai";

      // Fetch your API_KEY
      const API_KEY = "...";

      // Access your API key (see "Set up your API key" above)
      const genAI = new GoogleGenerativeAI(API_KEY);

      // ...

      // For text-only input, use the gemini-pro model
      const model = genAI.getGenerativeModel({ model: "gemini-pro"});

      // ...
   </script>
</body>
</html>

Дарт (Флаттер)

Прежде чем вы сможете выполнять какие-либо вызовы API, вам необходимо импортировать и инициализировать генеративную модель.

import 'package:google_generative_ai/google_generative_ai.dart';

// Access your API key as an environment variable (see "Set up your API key" above)
final apiKey = Platform.environment['API_KEY'];
if (apiKey == null) {
  print('No \$API_KEY environment variable');
  exit(1);
}

// For text-only input, use the gemini-pro model
final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey);

Быстрый

Прежде чем вы сможете совершать какие-либо вызовы API, вам необходимо инициализировать генеративную модель.

  1. Импортируйте модуль GoogleAI :

    import GoogleGenerativeAI
    
  2. Инициализируйте генеративную модель:

    // For text-only input, use the gemini-pro model
    // Access your API key from your on-demand resource .plist file (see "Set up your API key" above)
    let model = GenerativeModel(name: "gemini-pro", apiKey: APIKey.default)
    

Андроид

Прежде чем вы сможете совершать какие-либо вызовы API, вам необходимо инициализировать объект GenerativeModel :

Котлин:

val generativeModel = GenerativeModel(
      // For text-only input, use the gemini-pro model
      modelName = "gemini-pro",
      // Access your API key as a Build Configuration variable (see "Set up your API key" above)
      apiKey = BuildConfig.apiKey
)

Джава:

Для Java вам также необходимо инициализировать объект GenerativeModelFutures .

// For text-only input, use the gemini-pro model
GenerativeModel gm = new GenerativeModel(/* modelName */ "gemini-pro",
// Access your API key as a Build Configuration variable (see "Set up your API key" above)
      /* apiKey */ BuildConfig.apiKey);

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Создать текст

Питон

response = model.generate_content("Write a story about a magic backpack.")
print(response.text)

Идти

resp, err := model.GenerateContent(ctx, genai.Text("Write a story about a magic backpack."))
if err != nil {
  log.Fatal(err)
}

Node.js

async function run() {
  const prompt = "Write a story about a magic backpack."

  const result = await model.generateContent(prompt);
  const response = await result.response;
  const text = response.text();
  console.log(text);
}

run();

Интернет

async function run() {
  const prompt = "Write a story about a magic backpack."

  const result = await model.generateContent(prompt);
  const response = await result.response;
  const text = response.text();
  console.log(text);
}

run();

Дарт (Флаттер)

void main() async {
   // Access your API key as an environment variable (see "Set up your API key" above)
   final apiKey = Platform.environment['API_KEY'];
   if (apiKey == null) {
      print('No \$API_KEY environment variable');
      exit(1);
   }
   // For text-only input, use the gemini-pro model
   final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey);
   final content = [Content.text('Write a story about a magic backpack.')];
   final response = await model.generateContent(content);
   print(response.text);
}

Быстрый

let prompt = "Write a story about a magic backpack."
let response = try await model.generateContent(prompt)
if let text = response.text {
  print(text)
}

Андроид

Котлин:

Обратите внимание, чтоgenerateContent generateContent() — это функция приостановки, и ее необходимо вызывать из области Coroutine. Если вы не знакомы с корутинами, прочитайте Kotlin Coroutines для Android .

val prompt = "Write a story about a magic backpack."
val response = generativeModel.generateContent(prompt)
print(response.text)

Джава:

Обратите внимание, чтоgenerateContent generateContent() возвращает ListenableFuture . Если вы не знакомы с этим API, см. документацию Android об использовании ListenableFuture .

Content content = new Content.Builder()
      .addText("Write a story about a magic backpack.")
      .build();

Executor executor = // ...

ListenableFuture<GenerateContentResponse> response = model.generateContent(content);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
      @Override
      public void onSuccess(GenerateContentResponse result) {
         String resultText = result.getText();
         System.out.println(resultText);
      }

      @Override
      public void onFailure(Throwable t) {
         t.printStackTrace();
      }
}, executor);

Что дальше

Чтобы узнать больше о работе с Gemini API, ознакомьтесь с руководством для выбранного вами языка.

Вы также можете использовать команды curl , чтобы опробовать Gemini API:

Если вы новичок в генеративных моделях искусственного интеллекта, возможно, вам стоит просмотреть руководство по концепциям и обзор API Gemini, прежде чем приступать к быстрому началу работы.