The official Swift library for the Google Gemini API
The Google AI Swift SDK is the easiest way for Swift developers to build with
the Gemini API. The Gemini API gives you access to Gemini
models created by
Google DeepMind.
Gemini models are built from the ground up to be multimodal, so you can reason
seamlessly across text, images, and code.
[!CAUTION]
The Google AI SDK for Swift is recommended for prototyping only. If you
plan to enable billing, we strongly recommend that you use a backend SDK to
access the Google AI Gemini API. You risk potentially exposing your API key to
malicious actors if you embed your API key directly in your Swift app or fetch
it remotely at runtime.
git clone https://github.com/google/generative-ai-swift
Examples
folder of this repo.GenerativeAI-Info.plist
fileAPI_KEY
property in theGenerativeAI-Info.plist
file.Add generative-ai-swift
to your Xcode project using Swift Package Manager.
Import the GoogleGenerativeAI
module
import GoogleGenerativeAI
let model = GenerativeModel(name: "gemini-1.5-flash-latest", apiKey: "YOUR_API_KEY")
let cookieImage = UIImage(...)
let prompt = "Do these look store-bought or homemade?"
let response = try await model.generateContent(prompt, cookieImage)
For detailed instructions, you can find a
quickstart for the Google AI
SDK for Swift in the Google documentation.
This quickstart describes how to add your API key and the Swift package to your
app, initialize the model, and then call the API to access the model. It also
describes some additional use cases and features, like streaming, counting
tokens, and controlling responses.
To enable additional logging in the Xcode console, including a cURL command and
raw stream response for each model request, add
-GoogleGenerativeAIDebugLogEnabled
as Arguments Passed On Launch
in the
Xcode scheme.
A command line tool is available to experiment with Gemini model requests via
Xcode or the command line:
open Examples/GenerativeAICLI/Package.swift
Arguments Passed On Launch
with the desired options.See the
Gemini API Cookbook or
ai.google.dev for complete documentation.
See
Contributing
for more information on contributing to the Google AI SDK for Swift.
[!IMPORTANT]
The PaLM API is now
decommissioned. This means that
users cannot use a PaLM model in a prompt, tune a new PaLM model, or run
inference on PaLM-tuned models.Note: This is different from the
Vertex AI PaLM API,
which is scheduled to be decommissioned in October 2024.
If you’re using the PaLM SDK for Swift, migrate your code to the Gemini API
and update your app’s generative-ai-swift
dependency to version 0.4.0
or
higher. For more information on migrating from PaLM to Gemini, see the
migration guide.
The contents of this repository are licensed under the
Apache License, version 2.0.