SwiftOpenAI 项目介绍
项目概述
SwiftOpenAI 是一个开源的 Swift 包,旨在简化与 OpenAI 公共 API 的交互。该项目专为 iOS 平台(支持 iOS 15 及以上)及 Swift 5.9 版本而设计,并兼容 SwiftUI 和 Xcode 15。SwiftOpenAI 提供了一种便捷的方式来访问 OpenAI 的所有 API 端点,同时新增了对 Azure、AIProxy 和 Assistant 流 API 的支持。
功能特点
支持的 API 端点
SwiftOpenAI 支持多种 OpenAI API 端点,包括但不限于以下几类:
-
音频处理:
- 转录
- 翻译
- 语音生成
-
聊天服务:
- 功能调用
- 结构化输出
- 视觉支持
-
向量嵌入、模型细调、批处理、文件处理、图片生成、模型管理、内容审核等。
新增的 BETA 功能
- 助手文件对象
- 消息处理与文件对象
- 运行步骤对象及其细节
- 助手流媒体
- 向量存储文件及批量处理
如何获得 API Key
要使用 SwiftOpenAI 访问 OpenAI 的服务,用户需要一个 API 密钥。获取步骤如下:
- 访问 OpenAI 官网。
- 注册或登录账户。
- 进入 API 密钥页面并按照指示生成新的 API 密钥。
使用 SwiftOpenAI 提供的 AIProxy 后端,用户可以更安全地管理这些密钥。
安装
SwiftOpenAI 使用 Swift Package Manager 进行安装。用户只需在 Xcode 中的项目点击“文件” -> "添加包依赖",输入项目的 GitHub 地址并选择需要的版本即可。
兼容性
SwiftOpenAI 兼容多种 OpenAI 服务提供商,包括但不限于:
- Azure OpenAI
- Gemini
- Ollama
- Groq
- AIProxy
为自定义 URL 提供便捷的初始化选项。
使用方法
使用 SwiftOpenAI 在 Swift 项目非常简单。首先,需要导入 SwiftOpenAI 包,然后初始化服务:
import SwiftOpenAI
let apiKey = "your_openai_api_key_here"
let service = OpenAIServiceFactory.service(apiKey: apiKey)
这样即可开始访问 OpenAI 的全部 API 端点。此包对于错误处理也提供了简单明了的方式,比如获取网络错误状态码等。
实用示例
以下是一个简单的 API 使用示例,展示了如何使用聊天 API 返回一个笑话:
let prompt = "Tell me a joke"
let parameters = ChatCompletionParameters(
messages: [.init(role: .user, content: .text(prompt))],
model: .gpt4o
)
let chatCompletionObject = try await service.startChat(parameters: parameters)
小结
SwiftOpenAI 是一个为开发者提供高效而简单的解决方案,与 OpenAI 的强大功能无缝集成,支持广泛的功能和最新技术,非常适合对 AI 技术有需求的开发者。通过 SwiftOpenAI,开发者可以轻松地构建各种基于 AI 的 iOS 应用程序,享受 OpenAI API 端点带来的便利与创新。