Este guia de início rápido mostra como começar a usar a API Gemini usando o SDK da sua escolha.
Pré-requisitos
Python
Ver no Google AI | Executar no Google Colab | Acessar o notebook no GitHub (em inglês) |
Para concluir este guia de início rápido localmente, verifique se o ambiente de desenvolvimento atende aos seguintes requisitos:
- Python 3.9 ou superior
- Uma instalação de
jupyter
para executar o notebook.
Go
Para este guia de início rápido, você precisa estar familiarizado com a criação de aplicativos com Go.
Para concluir este guia de início rápido, verifique se o ambiente de desenvolvimento atende aos seguintes requisitos:
- Go 1.20+
Node.js
Para este guia de início rápido, você precisa estar familiarizado com a criação de aplicativos com o Node.js.
Para concluir este guia de início rápido, verifique se o ambiente de desenvolvimento atende aos seguintes requisitos:
- Node.js v18 ou mais recente
- npm
Web
Neste guia de início rápido, você precisa estar familiarizado com o uso do JavaScript para desenvolver apps da Web. Este guia não depende do framework.
Para concluir este guia de início rápido, verifique se o ambiente de desenvolvimento atende aos seguintes requisitos:
- Node.js (opcional)
- Navegador da Web moderno
Dart (Flutter)
Para este guia de início rápido, você precisa estar familiarizado com a criação de aplicativos com o Dart.
Para concluir este guia de início rápido, verifique se o ambiente de desenvolvimento atende aos seguintes requisitos:
- Dart 3.2.0 ou superior
Swift
Neste guia de início rápido, presumimos que você esteja familiarizado com o uso do Xcode para desenvolver apps Swift.
Para concluir este guia de início rápido, verifique se o ambiente de desenvolvimento e o app Swift atendem aos seguintes requisitos:
- Xcode 15.0 ou mais recente
- O app Swift precisa ser direcionado ao iOS 15 ou mais recente ou ao macOS 12 ou mais recente.
Android
Neste guia de início rápido, consideramos que você já sabe usar o Android Studio para desenvolver apps Android.
Para concluir este guia de início rápido, verifique se o ambiente de desenvolvimento e o app Android atendem aos seguintes requisitos:
- Android Studio (versão mais recente)
- Seu app Android precisa ser direcionado ao nível 21 da API ou mais recente.
Configurar sua chave de API
Para usar a API Gemini, você precisa de uma chave de API. Se você ainda não tiver uma, crie uma chave no Google AI Studio.
Em seguida, configure a chave.
Python
Recomendamos que você não verifique uma chave de API no seu sistema de controle de versões. Neste guia de início rápido, presumimos que você esteja acessando sua chave de API como uma variável de ambiente.
Atribua sua chave de API a uma variável de ambiente:
export API_KEY=<YOUR_API_KEY>
Go
Recomendamos que você não verifique uma chave de API no seu sistema de controle de versões. Neste guia de início rápido, presumimos que você esteja acessando sua chave de API como uma variável de ambiente.
Atribua sua chave de API a uma variável de ambiente:
export API_KEY=<YOUR_API_KEY>
Node.js
Recomendamos que você não verifique uma chave de API no seu sistema de controle de versões. Neste guia de início rápido, presumimos que você esteja acessando sua chave de API como uma variável de ambiente.
Atribua sua chave de API a uma variável de ambiente:
export API_KEY=<YOUR_API_KEY>
Web
Recomendamos que você não verifique uma chave de API no seu sistema de controle de versões. Em vez disso, é necessário transmitir a chave de API para o app antes de inicializar o modelo.
Neste guia de início rápido, supomos que você esteja acessando sua chave de API como uma constante global.
Dart (Flutter)
Recomendamos que você não verifique uma chave de API no seu sistema de controle de versões. Neste guia de início rápido, presumimos que você esteja acessando sua chave de API como uma variável de ambiente de processo. Se você estiver desenvolvendo um app Flutter, use String.fromEnvironment
e transmita --dart-define=API_KEY=$API_KEY
para flutter build
ou flutter run
para fazer a compilação com a chave de API, já que o ambiente do processo será diferente ao executar o app.
Swift
Recomendamos que você não verifique uma chave de API no seu sistema de controle de versões. Uma alternativa é armazená-la em um arquivo GenerativeAI-Info.plist
e, em seguida, ler a chave de API do arquivo .plist
. Coloque esse arquivo .plist
na pasta raiz do app e
o exclua do controle de versões.
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
}
}
Android
Recomendamos que você não verifique uma chave de API no seu sistema de controle de versões. Em vez disso, armazene-a em um arquivo local.properties
(que está localizado no diretório raiz do projeto, mas excluído do controle de versões) e use o plug-in Secrets Gradle para Android (link em inglês) para ler sua chave de API como uma variável de configuração do build.
Kotlin:
// Access your API key as a Build Configuration variable
val apiKey = BuildConfig.apiKey
Java:
// Access your API key as a Build Configuration variable
String apiKey = BuildConfig.apiKey;
Se você quiser conferir a implementação do plug-in Secrets Gradle, consulte
o
app de exemplo (link em inglês)
para esse SDK ou use a prévia mais recente do Android Studio Iguana, que tem um
modelo da Gemini API Starter
(que inclui o arquivo local.properties
para começar).
Instalar o SDK
Python
O SDK do Python para a API Gemini está incluído no
pacote
google-generativeai
. Instale a dependência usando pip:
pip install -q -U google-generativeai
Go
Para usar a API Gemini no seu aplicativo, você precisa get
o pacote do SDK do Go
no diretório do módulo:
go get github.com/google/generative-ai-go
Node.js
Para usar a API Gemini no seu aplicativo, instale o pacote GoogleGenerativeAI
para Node.js:
npm install @google/generative-ai
Web
Para usar a API Gemini no seu próprio app da Web, importe @google/generative-ai
:
<script type="importmap">
{
"imports": {
"@google/generative-ai": "https://esm.run/@google/generative-ai"
}
}
</script>
Dart (Flutter)
Para usar a API Gemini no seu próprio aplicativo, é necessário add
o pacote google_generative_ai
para seu app Dart ou Flutter:
Dart:
dart pub add google_generative_ai
Flutter:
flutter pub add google_generative_ai
Swift
Para usar a API Gemini no seu próprio app Swift, adicione o pacote GoogleGenerativeAI
ao app:
No Xcode, clique com o botão direito do mouse no seu projeto no navegador do projeto.
Selecione Add Packages no menu de contexto.
Na caixa de diálogo Add Packages, cole o URL do pacote na barra de pesquisa:
none https://github.com/google/generative-ai-swift
Clique em Add Package. O Xcode adicionará o pacote
GoogleGenerativeAI
ao projeto.
Android
No arquivo de configuração Gradle do módulo (nível do app) (como
<project>/<app-module>/build.gradle.kts
), adicione a dependência do SDK da IA do Google para Android:Kotlin:
dependencies { // add the dependency for the Google AI client SDK for Android implementation("com.google.ai.client.generativeai:generativeai:0.3.0") }
Java:
Para Java, é preciso adicionar mais duas bibliotecas.
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") }
Sincronize seu projeto do Android com os arquivos Gradle.
Inicializar o modelo generativo
Python
Antes de fazer qualquer chamada de API, é preciso importar e inicializar o modelo generativo.
import google.generativeai as genai
genai.configure(api_key=os.environ["API_KEY"])
model = genai.GenerativeModel('gemini-pro')
Go
Antes de fazer qualquer chamada de API, é preciso importar e inicializar o modelo generativo.
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
Antes de fazer qualquer chamada de API, é preciso importar e inicializar o modelo generativo.
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"});
// ...
Web
Antes de fazer qualquer chamada de API, é preciso importar e inicializar o modelo generativo.
<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>
Dart (Flutter)
Antes de fazer qualquer chamada de API, é preciso importar e inicializar o modelo generativo.
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);
Swift
Antes de fazer qualquer chamada de API, você precisa inicializar o modelo generativo.
Importe o módulo
GoogleAI
:import GoogleGenerativeAI
Inicialize o modelo generativo:
// 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)
Android
Antes de fazer qualquer chamada de API, você precisa inicializar o objeto GenerativeModel
:
Kotlin:
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:
Para Java, também é necessário inicializar o objeto 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);
Gerar texto
Python
response = model.generate_content("Write a story about a magic backpack.")
print(response.text)
Go
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();
Web
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();
Dart (Flutter)
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);
}
Swift
let prompt = "Write a story about a magic backpack."
let response = try await model.generateContent(prompt)
if let text = response.text {
print(text)
}
Android
Kotlin:
Observe que generateContent()
é uma função de suspensão e precisa ser
chamado em um escopo de corrotina. Se você não conhece as corrotinas, leia
Corrotinas do Kotlin no Android.
val prompt = "Write a story about a magic backpack."
val response = generativeModel.generateContent(prompt)
print(response.text)
Java:
Observe que generateContent()
retorna um ListenableFuture
. Se
você não conhece essa API, consulte a documentação do Android sobre
Como usar um 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);
A seguir
Para saber mais sobre como trabalhar com a API Gemini, consulte o tutorial da linguagem de sua preferência.
Você também pode usar os comandos curl
para testar a API Gemini:
Se você não tem experiência com modelos de IA generativa, consulte o guia de conceitos e a visão geral da API Generative antes de seguir este guia de início rápido.