Repolode
jamesrochabrun

jamesrochabrun/SwiftOpenAI

一个 Swift 包,用于在 Apple 平台和 Linux 上调用 OpenAI 公开 API,并支持多种兼容 OpenAI 的服务商。

Star
665
Fork
130
未关闭 Issue
12
最近提交
上个月

这是什么?

SwiftOpenAI 是一个 Swift 包,把 OpenAI 的 REST 接口封装为带类型的参数和返回值,覆盖音频、Chat、Responses、Embeddings、微调、Batch、文件、图像、模型、审核,以及 Assistants、Threads、Runs、Vector Stores 等 Beta 接口。它还提供 Realtime API 客户端,通过 WebSocket 实现双向语音对话,并在 Apple 平台上附带麦克风采集和音频播放工具。

该包支持 iOS 15+、macOS 13+、watchOS 9+ 和 Linux。在 Linux 上它基于 AsyncHTTPClient 运行,可配合 Vapor 服务端框架使用。通过工厂方法,同一客户端也能连接 Azure OpenAI、Anthropic、Gemini、Ollama、Groq、xAI、OpenRouter、DeepSeek 等兼容 OpenAI 的服务商,并支持自定义地址和组织 ID。

项目通过 Swift Package Manager 分发,采用 MIT 协议。作者还基于该包提供了独立的 CLI 和 MCP 服务。

核心功能

  • 01为 Chat、音频、Embeddings、图像、文件、微调和 Batch 等接口提供带类型的 Swift 封装。
  • 02通过 WebSocket 支持 Realtime 语音对话,包含语音活动检测和函数工具调用。
  • 03可在 iOS、macOS、watchOS 和 Linux 上运行,Linux 端基于 AsyncHTTPClient。
  • 04可连接 Azure、Anthropic、Gemini、Ollama、Groq 等兼容 OpenAI 的服务商。
  • 05Chat 和 Assistants 接口支持流式返回。

适用场景

  • 在 iOS 或 macOS 应用中加入 OpenAI 对话或语音功能。
  • 用 Realtime API 在苹果设备上构建语音助手。
  • 在基于 Vapor 的 Swift 服务端中调用兼容 OpenAI 的模型服务。

标签

常见问题

SwiftOpenAI 是什么?
一个 Swift 包,用于在 Apple 平台和 Linux 上调用 OpenAI 公开 API,并支持多种兼容 OpenAI 的服务商。 SwiftOpenAI 是一个 Swift 包,把 OpenAI 的 REST 接口封装为带类型的参数和返回值,覆盖音频、Chat、Responses、Embeddings、微调、Batch、文件、图像、模型、审核,以及 Assistants、Threads、Runs、Vector Stores 等 Beta 接口。它还提供 Realtime API 客户端,通过 WebSocket 实现双向语音对话,并在 Apple 平台上附带麦克风采集和音频播放工具。
SwiftOpenAI 可以免费使用吗?用的什么许可证?
SwiftOpenAI 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
SwiftOpenAI 还在维护吗?
半年内有更新。SwiftOpenAI 最近一次提交是在 2026年10月5日。
SwiftOpenAI 适合用来做什么?
在 iOS 或 macOS 应用中加入 OpenAI 对话或语音功能。 用 Realtime API 在苹果设备上构建语音助手。 在基于 Vapor 的 Swift 服务端中调用兼容 OpenAI 的模型服务。
在哪里获取 SwiftOpenAI?
源代码和安装说明在 GitHub 上:https://github.com/jamesrochabrun/SwiftOpenAI

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目