Bu hızlı başlangıç kılavuzu, istediğiniz SDK'yı kullanarak Gemini API'yi kullanmaya nasıl başlayacağınızı gösterir.
Ön koşullar
Python
Google Yapay Zeka'da görüntüle | Google Colab'de çalıştır | GitHub'da not defterini görüntüle |
Bu hızlı başlangıç kılavuzunu yerel olarak tamamlamak için geliştirme ortamınızın aşağıdaki gereksinimleri karşıladığından emin olun:
- Python 3.9 ve üzeri
- Not defterini çalıştırmak için
jupyter
yüklemesi.
Go
Bu hızlı başlangıç kılavuzunda, Go ile uygulama derleme hakkında bilgi sahibi olduğunuz varsayılır.
Bu hızlı başlangıç kılavuzunu tamamlamak için geliştirme ortamınızın aşağıdaki gereksinimleri karşıladığından emin olun:
- 1.20 ve üzeri sürümler
Node.js
Bu hızlı başlangıç kılavuzu, Node.js ile uygulama derleme hakkında bilgi sahibi olduğunuzu varsayar.
Bu hızlı başlangıç kılavuzunu tamamlamak için geliştirme ortamınızın aşağıdaki gereksinimleri karşıladığından emin olun:
- Node.js v18 ve sonraki sürümleri
- npm
Web
Bu hızlı başlangıç kılavuzunda, web uygulamaları geliştirmek için JavaScript kullanmaya aşina olduğunuz varsayılır. Bu kılavuz, çerçeveden bağımsızdır.
Bu hızlı başlangıç kılavuzunu tamamlamak için geliştirme ortamınızın aşağıdaki gereksinimleri karşıladığından emin olun:
- (İsteğe bağlı) Node.js
- Modern web tarayıcısı
Dart (Flutter)
Bu hızlı başlangıç kılavuzu, Dart ile uygulama derleme konusunda bilgi sahibi olduğunuzu varsayar.
Bu hızlı başlangıç kılavuzunu tamamlamak için geliştirme ortamınızın aşağıdaki gereksinimleri karşıladığından emin olun:
- Dart 3.2.0 ve üzeri
Swift
Bu hızlı başlangıç kılavuzunda, Swift uygulamaları geliştirmek için Xcode kullanmayı bildiğiniz varsayılmaktadır.
Bu hızlı başlangıç kılavuzunu tamamlamak için geliştirme ortamınızın ve Swift uygulamanızın aşağıdaki gereksinimleri karşıladığından emin olun:
- Xcode 15.0 veya üstü
- Swift uygulamanız iOS 15 veya sonraki sürümleri ya da macOS 12 veya sonraki sürümleri hedeflemelidir.
Android
Bu hızlı başlangıç kılavuzunda, Android uygulamaları geliştirmek için Android Studio'nun nasıl kullanıldığı konusunda bilgi sahibi olduğunuz varsayılır.
Bu hızlı başlangıç kılavuzunu tamamlamak için geliştirme ortamınızın ve Android uygulamanızın aşağıdaki gereksinimleri karşıladığından emin olun:
- Android Studio (en son sürüm)
- Android uygulamanız API düzeyi 21 veya üstünü hedeflemelidir.
API anahtarınızı oluşturma
Gemini API'yi kullanmak için API anahtarı gerekir. Anahtarınız yoksa Google AI Studio'da bir anahtar oluşturun.
Ardından anahtarınızı yapılandırın.
Python
Sürüm kontrol sisteminizde bir API anahtarını kontrol etmemeniz kesinlikle önerilir. Bu hızlı başlangıç kılavuzunda, API anahtarınıza ortam değişkeni olarak eriştiğiniz varsayılır.
API anahtarınızı bir ortam değişkenine atayın:
export API_KEY=<YOUR_API_KEY>
Go
Sürüm kontrol sisteminizde bir API anahtarını kontrol etmemeniz kesinlikle önerilir. Bu hızlı başlangıç kılavuzunda, API anahtarınıza ortam değişkeni olarak eriştiğiniz varsayılır.
API anahtarınızı bir ortam değişkenine atayın:
export API_KEY=<YOUR_API_KEY>
Node.js
Sürüm kontrol sisteminizde bir API anahtarını kontrol etmemeniz kesinlikle önerilir. Bu hızlı başlangıç kılavuzunda, API anahtarınıza ortam değişkeni olarak eriştiğiniz varsayılır.
API anahtarınızı bir ortam değişkenine atayın:
export API_KEY=<YOUR_API_KEY>
Web
Sürüm kontrol sisteminizde bir API anahtarını kontrol etmemeniz kesinlikle önerilir. Bunun yerine, modeli başlatmadan hemen önce API anahtarınızı uygulamanıza iletmeniz gerekir.
Bu hızlı başlangıç kılavuzunda, API anahtarınıza global sabit olarak eriştiğiniz varsayılır.
Dart (Flutter)
Sürüm kontrol sisteminizde bir API anahtarını kontrol etmemeniz kesinlikle önerilir. Bu hızlı başlangıç kılavuzunda, API anahtarınıza işlem ortam değişkeni olarak eriştiğiniz varsayılmıştır. Flutter uygulaması geliştiriyorsanız String.fromEnvironment
uygulamasını kullanabilir ve uygulamayı çalıştırırken işlem ortamı farklı olacağından API anahtarıyla derlemek için --dart-define=API_KEY=$API_KEY
öğesini flutter build
veya flutter run
öğesine iletebilirsiniz.
Swift
Sürüm kontrol sisteminizde bir API anahtarını kontrol etmemeniz kesinlikle önerilir. Alternatif bir seçenek de bunu bir GenerativeAI-Info.plist
dosyasında depolamak ve ardından API anahtarını .plist
dosyasından okumaktır. Bu .plist
dosyasını uygulamanızın kök klasörüne yerleştirdiğinizden ve sürüm kontrolünden hariç tuttuğunuzdan emin olun.
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
Sürüm kontrol sisteminizde bir API anahtarını kontrol etmemeniz kesinlikle önerilir. Bunun yerine, bunu bir local.properties
dosyasında depolamanız (projenizin kök dizininde bulunur ancak sürüm kontrolü dışında bulunur) ve ardından API anahtarınızı Derleme Yapılandırması değişkeni olarak okumak için Android için Secrets Gradle eklentisini kullanmanız gerekir.
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;
Secrets Gradle eklentisinin nasıl uygulandığını görmek isterseniz bu SDK için örnek uygulamayı inceleyebilir veya Android Studio Iguana'nın Gemini API Starter şablonuna (başlamanız için local.properties
dosyasını içerir) sahip en son önizlemesini kullanabilirsiniz.
SDK'yı yükleyin
Python
Gemini API için Python SDK, google-generativeai
paketinde yer alır. Pip kullanarak bağımlılığı yükleyin:
pip install -q -U google-generativeai
Go
Gemini API'yi kendi uygulamanızda kullanmak için modül dizininizdeki Go SDK paketini get
işlemi yapmanız gerekir:
go get github.com/google/generative-ai-go
Node.js
Gemini API'yi kendi uygulamanızda kullanmak için Node.js için GoogleGenerativeAI
paketini yüklemeniz gerekir:
npm install @google/generative-ai
Web
Gemini API'yi kendi web uygulamanızda kullanmak için @google/generative-ai
dosyasını içe aktarın:
<script type="importmap">
{
"imports": {
"@google/generative-ai": "https://esm.run/@google/generative-ai"
}
}
</script>
Dart (Flutter)
Gemini API'yi kendi uygulamanızda kullanmak için google_generative_ai
paketini Dart veya Flutter uygulamanıza add
eklemeniz gerekir:
Dart:
dart pub add google_generative_ai
Flutter:
flutter pub add google_generative_ai
Swift
Gemini API'yi kendi Swift uygulamanızda kullanmak için GoogleGenerativeAI
paketini uygulamanıza ekleyin:
Xcode'da proje gezgininde projenizi sağ tıklayın.
İçerik menüsünden Paket Ekle'yi seçin.
Paket Ekle iletişim kutusundaki arama çubuğuna paket URL'sini yapıştırın:
none https://github.com/google/generative-ai-swift
Paket Ekle'yi tıklayın. Xcode şimdi projenize
GoogleGenerativeAI
paketini ekleyecektir.
Android
Modül (uygulama düzeyi) Gradle yapılandırma dosyanıza (ör.
<project>/<app-module>/build.gradle.kts
) Android için Google AI SDK'sının bağımlılığını ekleyin:Kotlin:
dependencies { // add the dependency for the Google AI client SDK for Android implementation("com.google.ai.client.generativeai:generativeai:0.3.0") }
Java:
Java için iki ek kitaplık eklemeniz gerekir.
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") }
Android projenizi Gradle dosyalarıyla senkronize edin.
Üretken modeli ilk kullanıma hazırlama
Python
Herhangi bir API çağrısı yapabilmeniz için önce üretici modeli içe aktarıp başlatmanız gerekir.
import google.generativeai as genai
genai.configure(api_key=os.environ["API_KEY"])
model = genai.GenerativeModel('gemini-pro')
Go
Herhangi bir API çağrısı yapabilmeniz için önce üretici modeli içe aktarıp başlatmanız gerekir.
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
Herhangi bir API çağrısı yapabilmeniz için önce üretici modeli içe aktarıp başlatmanız gerekir.
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
Herhangi bir API çağrısı yapabilmeniz için önce üretici modeli içe aktarıp başlatmanız gerekir.
<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)
Herhangi bir API çağrısı yapabilmeniz için önce üretici modeli içe aktarıp başlatmanız gerekir.
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
API çağrısı yapabilmek için üretici modeli ilk kullanıma hazırlamanız gerekir.
GoogleAI
modülünü içe aktarma:import GoogleGenerativeAI
Üretken modeli ilk kullanıma hazırlayın:
// 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
API çağrısı yapabilmek için GenerativeModel
nesnesini başlatmanız gerekir:
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:
Java için GenerativeModelFutures
nesnesini başlatmanız da gerekir.
// 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);
Metin oluştur
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:
generateContent()
işlevinin bir askıya alma işlevi olduğunu ve Coroutine kapsamından çağrılması gerektiğini unutmayın. Coroutines hakkında bilginiz yoksa Android'de Kotlin Coroutines makalesini okuyun.
val prompt = "Write a story about a magic backpack."
val response = generativeModel.generateContent(prompt)
print(response.text)
Java:
generateContent()
işlevinin bir ListenableFuture
döndürdüğünü unutmayın. Bu API hakkında bilginiz yoksa ListenableFuture
kullanma hakkındaki Android belgelerine bakın.
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);
Sırada ne var?
Gemini API ile çalışma hakkında daha fazla bilgi edinmek için seçtiğiniz dile ilişkin eğiticiye göz atın.
Gemini API'yi denemek için curl
komutlarını da kullanabilirsiniz:
Üretken yapay zeka modellerini kullanmaya yeni başladıysanız hızlı başlangıç kılavuzundan önce kavramlar kılavuzuna ve Gemini API'ye genel bakışa göz atabilirsiniz.