Google AI Swift SDK
Google AI Swift SDK 是 Swift 开发者使用 Gemini API 最简单的方式。Gemini API 让您可以访问由 Google DeepMind 创建的 Gemini 模型。Gemini 模型从根本上设计为多模态,因此您可以无缝地跨文本、图像和代码进行推理。
[!注意] Google AI Swift SDK 仅推荐用于原型开发。 如果您计划启用计费,我们强烈建议您使用后端 SDK 来访问 Google AI Gemini API。如果您直接将 API 密钥嵌入 Swift 应用程序中或在运行时远程获取,可能会面临 API 密钥被恶意行为者获取的风险。
Gemini API 入门
- 访问 Google AI Studio。
- 使用您的 Google 账户登录。
- 创建 API 密钥。请注意,在欧洲不提供免费套餐。
- 克隆此仓库。
git clone https://github.com/google/generative-ai-swift
- 打开并构建位于此仓库
Examples
文件夹中的示例应用。 - 运行一次应用程序,确保构建脚本生成一个空的
GenerativeAI-Info.plist
文件。 - 将您的 API 密钥粘贴到
GenerativeAI-Info.plist
文件中的API_KEY
属性中。 - 运行应用程序。
- 有关详细说明,请参阅 ai.google.dev 上的 Swift SDK 教程。
使用示例
-
使用 Swift Package Manager 将
generative-ai-swift
添加到您的 Xcode 项目中。 -
导入
GoogleGenerativeAI
模块
import GoogleGenerativeAI
- 初始化模型
let model = GenerativeModel(name: "gemini-1.5-flash-latest", apiKey: "YOUR_API_KEY")
- 运行提示
let cookieImage = UIImage(...)
let prompt = "这些看起来像是商店买的还是自制的?"
let response = try await model.generateContent(prompt, cookieImage)
有关详细说明,您可以在 Google 文档中找到 Google AI Swift SDK 的快速入门。
这个快速入门介绍了如何将 API 密钥和 Swift 包添加到您的应用程序中,初始化模型,然后调用 API 访问模型。它还描述了一些额外的用例和功能,如流式传输、计算令牌和控制响应。
日志记录
要在 Xcode 控制台中启用额外的日志记录,包括每个模型请求的 cURL 命令和原始流响应,请在 Xcode scheme 中的 Arguments Passed On Launch
中添加 -GoogleGenerativeAIDebugLogEnabled
。
命令行工具
提供了一个命令行工具,可通过 Xcode 或命令行试验 Gemini 模型请求:
open Examples/GenerativeAICLI/Package.swift
- 在 Xcode 中运行并查看控制台以了解可用选项。
- 使用所需选项编辑 scheme 的
Arguments Passed On Launch
。
文档
有关完整文档,请参阅 Gemini API Cookbook 或 ai.google.dev。
贡献
有关为 Google AI Swift SDK 贡献的更多信息,请参阅 Contributing。
使用 PaLM SDK for Swift 的开发者(已弃用)
[!重要] PaLM API 已被弃用,不再用于 Google AI 服务和工具(但不包括 Vertex AI)。了解有关此弃用、其时间表以及如何迁移到使用 Gemini 的更多信息,请参阅 PaLM API 弃用指南。
如果您正在使用 PaLM SDK for Swift,请查看以下信息,以便在迁移到允许使用 Gemini 的新版本之前继续使用已弃用的 PaLM SDK。
-
要继续使用 PaLM 模型,请确保您的应用程序依赖于版本
0.3.0
直到下一个次要版本0.4.0
的generative-ai-swift
。 -
当您准备使用 Gemini 模型时,请将您的代码迁移到 Gemini API,并将应用程序的
generative-ai-swift
依赖项更新到版本0.4.0
或更高版本。
要查看 PaLM 文档和代码,请转到 palm
分支。
许可证
本仓库的内容根据 Apache License, version 2.0 进行许可。