Z tego krótkiego wprowadzenia dowiesz się, jak rozpocząć korzystanie z interfejsu Gemini API przy użyciu wybranego pakietu SDK.
Wymagania wstępne
Python
Zobacz w Google AI | Uruchom w Google Colab | Wyświetl notatnik w GitHub |
Aby wykonać to krótkie wprowadzenie lokalnie, sprawdź, czy Twoje środowisko programistyczne spełnia te wymagania:
- Python 3.9 lub nowszy
- Instalacja pakietu
jupyter
do uruchamiania notatnika.
Go
W tym krótkim wprowadzeniu zakładamy, że umiesz tworzyć aplikacje w języku Go.
Aby skorzystać z tego krótkiego wprowadzenia, sprawdź, czy Twoje środowisko programistyczne spełnia następujące wymagania:
- Go 1.20+
Node.js
W tym krótkim wprowadzeniu zakładamy, że umiesz tworzyć aplikacje przy użyciu Node.js.
Aby skorzystać z tego krótkiego wprowadzenia, sprawdź, czy Twoje środowisko programistyczne spełnia następujące wymagania:
- Node.js w wersji 18 lub nowszej
- npm
Web
W tym krótkim wprowadzeniu zakładamy, że umiesz tworzyć aplikacje internetowe przy użyciu JavaScriptu. Ten przewodnik jest niezależny od platformy.
Aby skorzystać z tego krótkiego wprowadzenia, sprawdź, czy Twoje środowisko programistyczne spełnia następujące wymagania:
- (Opcjonalnie) Node.js
- Nowoczesna przeglądarka
Rzutki (zrzuty)
W tym krótkim wprowadzeniu zakładamy, że umiesz tworzyć aplikacje za pomocą Dart.
Aby skorzystać z tego krótkiego wprowadzenia, sprawdź, czy Twoje środowisko programistyczne spełnia następujące wymagania:
- Dart 3.2.0 lub nowszy
Swift
W tym krótkim wprowadzeniu zakładamy, że umiesz używać Xcode do tworzenia aplikacji w języku Swift.
Aby skorzystać z tego krótkiego wprowadzenia, sprawdź, czy Twoje środowisko programistyczne i aplikacja Swift spełniają te wymagania:
- Xcode 15.0 lub nowsza
- Aplikacja Swift musi być kierowana na system iOS w wersji 15 lub nowszej albo macOS w wersji 12 lub nowszej.
Android
W tym krótkim wprowadzeniu zakładamy, że umiesz tworzyć aplikacje na Androida za pomocą Android Studio.
Aby skorzystać z tego krótkiego wprowadzenia, sprawdź, czy Twoje środowisko programistyczne i aplikacja na Androida spełniają te wymagania:
- Android Studio (najnowsza wersja)
- Aplikacja na Androida musi być kierowana na interfejs API na poziomie 21 lub wyższym.
Konfigurowanie klucza interfejsu API
Aby korzystać z interfejsu Gemini API, potrzebujesz klucza interfejsu API. Jeśli nie masz jeszcze klucza, utwórz go w Google AI Studio.
Uzyskiwanie klucza interfejsu API
Następnie skonfiguruj klucz.
Python
Zdecydowanie zalecamy, aby nie sprawdzać klucza interfejsu API w systemie kontroli wersji. W tym krótkim wprowadzeniu zakładamy, że użytkownik uzyskuje dostęp do klucza interfejsu API w postaci zmiennej środowiskowej.
Przypisz klucz interfejsu API do zmiennej środowiskowej:
export API_KEY=<YOUR_API_KEY>
Go
Zdecydowanie zalecamy, aby nie sprawdzać klucza interfejsu API w systemie kontroli wersji. W tym krótkim wprowadzeniu zakładamy, że użytkownik uzyskuje dostęp do klucza interfejsu API w postaci zmiennej środowiskowej.
Przypisz klucz interfejsu API do zmiennej środowiskowej:
export API_KEY=<YOUR_API_KEY>
Node.js
Zdecydowanie zalecamy, aby nie sprawdzać klucza interfejsu API w systemie kontroli wersji. W tym krótkim wprowadzeniu zakładamy, że użytkownik uzyskuje dostęp do klucza interfejsu API w postaci zmiennej środowiskowej.
Przypisz klucz interfejsu API do zmiennej środowiskowej:
export API_KEY=<YOUR_API_KEY>
Web
Zdecydowanie zalecamy, aby nie sprawdzać klucza interfejsu API w systemie kontroli wersji. Zamiast tego przekaż klucz interfejsu API do aplikacji bezpośrednio przed zainicjowaniem modelu.
W tym krótkim wprowadzeniu zakładamy, że używasz klucza interfejsu API w postaci stałej globalnej.
Rzutki (zrzuty)
Zdecydowanie zalecamy, aby nie sprawdzać klucza interfejsu API w systemie kontroli wersji. W tym krótkim wprowadzeniu zakładamy, że używasz klucza interfejsu API jako zmiennej środowiskowej procesu. Jeśli tworzysz aplikację Flutter, możesz użyć String.fromEnvironment
i przekazać --dart-define=API_KEY=$API_KEY
do flutter build
lub flutter run
, aby przeprowadzić kompilację z kluczem interfejsu API, ponieważ środowisko procesu będzie inne podczas uruchamiania aplikacji.
Swift
Zdecydowanie zalecamy, aby nie sprawdzać klucza interfejsu API w systemie kontroli wersji. Możesz też zapisać ją w pliku GenerativeAI-Info.plist
, a potem odczytać klucz interfejsu API z pliku .plist
. Pamiętaj, aby umieścić ten plik .plist
w folderze głównym aplikacji i wykluczyć go z kontroli wersji.
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
Zdecydowanie zalecamy, aby nie sprawdzać klucza interfejsu API w systemie kontroli wersji. Zamiast tego zapisz go w pliku local.properties
, który znajduje się w katalogu głównym projektu, ale jest wykluczony z kontroli wersji, a następnie użyj wtyczki do obsługi obiektów tajnych w Gradle na Androida, aby odczytać swój klucz interfejsu API jako zmienną konfiguracji kompilacji.
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;
Jeśli chcesz zobaczyć implementację wtyczki Secrets Gradle, przejrzyj przykładową aplikację dla tego pakietu SDK lub skorzystaj z najnowszej wersji przedpremierowej Android Studio Iguana, która zawiera szablon Gemini API Starter (zawierający na początek plik local.properties
).
Zainstaluj pakiet SDK
Python
Pakiet SDK Pythona dla interfejsu Gemini API znajduje się w pakiecie google-generativeai
. Zainstaluj zależność za pomocą narzędzia pip:
pip install -q -U google-generativeai
Go
Aby użyć interfejsu Gemini API we własnej aplikacji, musisz get
pakiet SDK Go w katalogu modułów:
go get github.com/google/generative-ai-go
Node.js
Aby używać interfejsu Gemini API we własnej aplikacji, musisz zainstalować pakiet GoogleGenerativeAI
dla Node.js:
npm install @google/generative-ai
Web
Aby używać interfejsu Gemini API we własnej aplikacji internetowej, zaimportuj @google/generative-ai
:
<script type="importmap">
{
"imports": {
"@google/generative-ai": "https://esm.run/@google/generative-ai"
}
}
</script>
Rzutki (zrzuty)
Aby użyć interfejsu Gemini API we własnej aplikacji, musisz add
pakiet google_generative_ai
dla aplikacji Dart lub Flutter:
Rzutki:
dart pub add google_generative_ai
Skrzydełko:
flutter pub add google_generative_ai
Swift
Aby używać interfejsu Gemini API we własnej aplikacji Swift, dodaj do niej pakiet GoogleGenerativeAI
:
W Xcode kliknij prawym przyciskiem myszy projekt w nawigatorze projektów.
Wybierz Dodaj pakiety z menu kontekstowego.
W oknie Dodaj pakiety wklej adres URL pakietu na pasku wyszukiwania:
none https://github.com/google/generative-ai-swift
Kliknij Dodaj pakiet. Xcode doda teraz pakiet
GoogleGenerativeAI
do projektu.
Android
W pliku konfiguracji Gradle modułu (na poziomie aplikacji) (np.
<project>/<app-module>/build.gradle.kts
) dodaj zależność pakietu SDK AI od Google na Androida:Kotlin:
dependencies { // add the dependency for the Google AI client SDK for Android implementation("com.google.ai.client.generativeai:generativeai:0.3.0") }
Java:
W przypadku Javy musisz dodać 2 dodatkowe biblioteki.
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") }
Zsynchronizuj projekt na Androida z plikami Gradle.
Inicjowanie modelu generatywnego
Python
Zanim zaczniesz wywoływać interfejs API, musisz zaimportować i zainicjować model generatywny.
import google.generativeai as genai
genai.configure(api_key=os.environ["API_KEY"])
model = genai.GenerativeModel('gemini-pro')
Go
Zanim zaczniesz wywoływać interfejs API, musisz zaimportować i zainicjować model generatywny.
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
Zanim zaczniesz wywoływać interfejs API, musisz zaimportować i zainicjować model generatywny.
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
Zanim zaczniesz wywoływać interfejs API, musisz zaimportować i zainicjować model generatywny.
<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>
Rzutki (zrzuty)
Zanim zaczniesz wywoływać interfejs API, musisz zaimportować i zainicjować model generatywny.
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
Zanim zaczniesz wywoływać interfejs API, musisz zainicjować model generatywny.
Zaimportuj moduł
GoogleAI
:import GoogleGenerativeAI
Zainicjuj model generatywny:
// 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
Zanim zaczniesz wywołania interfejsu API, musisz zainicjować obiekt 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:
W przypadku Javy musisz też zainicjować obiekt 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);
Generowanie tekstu
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();
Rzutki (zrzuty)
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:
Pamiętaj, że generateContent()
to funkcja zawieszania, która musi być wywoływana z zakresu Coroutine. Jeśli nie znasz aplikacji Coroutine, przeczytaj artykuł na temat Kotlin Coroutines na Androidzie.
val prompt = "Write a story about a magic backpack."
val response = generativeModel.generateContent(prompt)
print(response.text)
Java:
Pamiętaj, że generateContent()
zwraca ListenableFuture
. Jeśli nie znasz tego interfejsu API, zapoznaj się z dokumentacją Androida na temat używania interfejsu 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);
Co dalej
Więcej informacji o korzystaniu z interfejsu Gemini API znajdziesz w samouczku dotyczący wybranego języka.
Aby wypróbować interfejs Gemini API, możesz też używać poleceń curl
:
Jeśli nie masz doświadczenia z modelami generatywnej AI, zanim zaczniesz krótkie wprowadzenie, zapoznaj się z przewodnikiem po koncepcjach i omówieniem interfejsu Gemini API.