במדריך למתחילים נסביר איך להתחיל להשתמש ב-Gemini API באמצעות SDK לבחירתכם.
דרישות מוקדמות
Python
לצפייה ב-Google AI | הפעלה ב-Google Colab | הצגת ה-notebook ב-GitHub |
כדי להשלים את המדריך למתחילים באופן מקומי, צריך לוודא שסביבת הפיתוח עומדת בדרישות הבאות:
- Python 3.9 ואילך
- התקנה של
jupyter
להפעלת ה-notebook.
Go
המדריך למתחילים מבוסס על ההנחה שאתם מכירים את בניית אפליקציות באמצעות Go.
על מנת להשלים את המדריך למתחילים, ודאו שסביבת הפיתוח עומדת בדרישות הבאות:
- מעבר ל-1.20 ואילך
Node.js
המדריך למתחילים מבוסס על ההנחה שאתם מכירים את בניית אפליקציות עם Node.js.
על מנת להשלים את המדריך למתחילים, ודאו שסביבת הפיתוח עומדת בדרישות הבאות:
- Node.js v18+
- נשימות בדקה
אתרים
המדריך למתחילים מבוסס על ההנחה שאתם מכירים את השימוש ב-JavaScript כדי לפתח אפליקציות אינטרנט. המדריך הזה לא תלוי ב-framework.
על מנת להשלים את המדריך למתחילים, ודאו שסביבת הפיתוח עומדת בדרישות הבאות:
- (אופציונלי) Node.js
- דפדפן אינטרנט מודרני
קליעה למטרה (פלוטר)
המדריך למתחילים מבוסס על ההנחה שאתם מכירים את בניית אפליקציות עם Dut.
על מנת להשלים את המדריך למתחילים, ודאו שסביבת הפיתוח עומדת בדרישות הבאות:
- Dart 3.2.0+
Swift
המדריך למתחילים מבוסס על ההנחה שאתם מכירים את השימוש ב-Xcode כדי לפתח אפליקציות של Swift.
על מנת להשלים את המדריך למתחילים, ודאו שסביבת הפיתוח ואפליקציית Swift עומדות בדרישות הבאות:
- Xcode 15.0 ואילך
- אפליקציית Swift צריכה לטרגט ל-iOS מגרסה 15 ואילך או ל-macOS מגרסה 12 ואילך.
Android
המדריך למתחילים מבוסס על ההנחה שאתם מכירים את השימוש ב-Android Studio כדי לפתח אפליקציות ל-Android.
על מנת להשלים את המדריך למתחילים, ודאו שסביבת הפיתוח והאפליקציה ל-Android עומדות בדרישות הבאות:
- Android Studio (הגרסה האחרונה)
- האפליקציה ל-Android חייבת לטרגט לרמת API 21 ומעלה.
הגדרת מפתח ה-API
כדי להשתמש ב-Gemini API, תצטרכו מפתח API. אם עדיין אין לכם מפתח, עליכם ליצור מפתח ב-Google AI Studio.
לאחר מכן מגדירים את המפתח.
Python
מומלץ מאוד לא לבדוק את מפתח ה-API במערכת בקרת הגרסאות. ההנחה במדריך למתחילים היא שאתם ניגשים למפתח ה-API בתור משתנה סביבה.
מקצים את מפתח ה-API למשתנה סביבה:
export API_KEY=<YOUR_API_KEY>
Go
מומלץ מאוד לא לבדוק את מפתח ה-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, כי סביבת התהליך תהיה שונה כשמפעילים את האפליקציה.
Swift
מומלץ מאוד לא לבדוק את מפתח ה-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
}
}
Android
מומלץ מאוד לא לבדוק את מפתח ה-API במערכת בקרת הגרסאות. במקום זאת, יש לאחסן אותו בקובץ local.properties
(שנמצא בספריית הבסיס של הפרויקט, אבל לא נכלל בניהול הגרסאות), ואז להשתמש בפלאגין Secrets Gradle ל-Android כדי לקרוא את מפתח ה-API כמשתנה של Build Configuration.
קוטלין:
// 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, תוכלו לעיין באפליקציה לדוגמה של ה-SDK הזה או להשתמש בתצוגה המקדימה העדכנית ביותר של Android Studio Iguana, שכוללת תבנית Gemini API Starter (שכוללת את הקובץ local.properties
שיעזור לכם להתחיל).
התקנת ה-SDK
Python
ה-Python SDK ל-Gemini API נמצא בחבילה google-generativeai
. מתקינים את התלות באמצעות PIP:
pip install -q -U google-generativeai
Go
כדי להשתמש ב-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>
קליעה למטרה (פלוטר)
כדי להשתמש ב-Gemini API באפליקציה שלכם, צריך add
את חבילת
google_generative_ai
לאפליקציית Dart או Flutter:
קליעה למטרה:
dart pub add google_generative_ai
רופפים:
flutter pub add google_generative_ai
Swift
כדי להשתמש ב-Gemini API באפליקציית Swift משלכם, צריך להוסיף את החבילה GoogleGenerativeAI
לאפליקציה:
ב-Xcode, לוחצים לחיצה ימנית על הפרויקט בניווט הפרויקט.
בוחרים באפשרות הוספת חבילות מתפריט ההקשר.
בתיבת הדו-שיח Add Packages (הוספת חבילות), מדביקים את כתובת ה-URL של החבילה בסרגל החיפוש:
none https://github.com/google/generative-ai-swift
לוחצים על הוספת חבילה. עכשיו Xcode יוסיף את החבילה
GoogleGenerativeAI
לפרויקט.
Android
בקובץ התצורה של 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
עבור 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") }
סנכרון פרויקט Android עם קובצי Gradle.
מאתחלים את המודל הגנרטיבי
Python
לפני שתוכלו לבצע קריאות ל-API, עליכם לייבא ולהפעיל את המודל הגנרטיבי.
import google.generativeai as genai
genai.configure(api_key=os.environ["API_KEY"])
model = genai.GenerativeModel('gemini-pro')
Go
לפני שתוכלו לבצע קריאות ל-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);
Swift
לפני שתוכלו לבצע קריאות ל-API, אתם צריכים לאתחל את המודל הגנרטיבי.
מייבאים את המודול
GoogleAI
:import GoogleGenerativeAI
מפעילים את המודל הגנרטיבי:
// 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, עליכם לאתחל את האובייקט 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
עבור 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);
יצירת טקסט
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();
אתרים
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);
}
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
קוטלין:
שימו לב ש-generateContent()
היא פונקציית השעיה וצריך לקרוא לה בהיקף של Coroutine. אם לא התחלתם להשתמש ב-Coroutines, קראו את המאמר Kotlin Coroutines ב-Android.
val prompt = "Write a story about a magic backpack."
val response = generativeModel.generateContent(prompt)
print(response.text)
Java
לתשומת ליבך, הפונקציה 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:
אם זו הפעם הראשונה שאתם משתמשים במודלים של בינה מלאכותית גנרטיבית, מומלץ לעיין במדריך המושגים ובסקירה הכללית על Gemini API לפני שמנסים את המדריך למתחילים.