
苹果平台的开发人员在使用语言模型时经常面临一个碎片化的生态系统。Core ML 或 MLX 等本地模型提供了隐私和离线功能,而高级功能则由像 OpenAI、Anthropic 或 Google Gemini 这样的云服务提供。AnyLanguageModel是一个新发布的 Swift 包,它通过为本地和远程模型提供统一的 API 来简化集成。
AnyLanguageModel 可以与苹果的 Foundation Models 框架无缝协作,允许开发人员在保持会话和响应结构不变的情况下,用最少的代码更改完成切换。它支持 Core ML、MLX、llama.cpp/llama.swift、Ollama 托管模型,以及来自 OpenAI、Anthropic、Google Gemini 和 Hugging Face 的云服务。Swift 的包特性使开发人员可以只包含他们需要的后端,从而实现了依赖最小化。
AnyLanguageModel 还扩展了 Foundation Models 现有的能力,支持视觉-语言提示,允许开发人员在进行文本查询的同时发送图像。这包括与 Anthropic Claude 等模型的交互,使开发人员可以执行图像描述、文本提取和视觉分析等任务,而不必等待苹果自己的框架支持这些功能。
Mattt 是这个包的开发人员,他解释了为什么要面向 Foundation Models API:
大多数应用程序都搭配使用了某个提供商提供的本地和远程模型,而实现这些模型的良好协同是一件令人头疼的工作。苹果的 Foundation Models 提供了一种“公共选项”——这是内置于所有 macOS 和 iOS 设备中的一个备用方案。由于该功能仅通过 Foundation Models 提供,所以以它为基础实现支持其他供应商的 API 是合乎逻辑的。
该库目前的版本是 pre-1.0,正在进行的开发旨在实现工具调用、结构化输出生成和本地推理性能优化。配套的演示程序 chat-ui-swift 展示了流式响应、聊天持久化、苹果 Foundation Models 集成以及 Hugging Face OAuth 认证。该应用程序旨在作为开发人员探索、扩展以及将该 API 适配到自己项目的起点。
社区的早期反馈非常积极。Krzysztof Zabłocki评论道:
干得好,伙计。我已经在一个新项目中使用了它,迫切期待你为 Generable 添加 OpenAI 支持的分支能尽快落地。
AnyLanguageModel 和 chat-ui-swift 演示程序均已在GitHub上提供,开发人员可以进行实验、报告问题和贡献功能增强。该项目旨在减少 AI 应用开发过程中的障碍,同时在苹果平台上推动实现一致的多供应商大型语言模型工作流。
声明:本文为 InfoQ 翻译,未经许可禁止转载。







评论