
免费本地大模型用 AnyLanguageModel 快速接入 Ollama【免费下载链接】AnyLanguageModelAn API-compatible, drop-in replacement for Apples Foundation Models framework with support for custom language model providers.项目地址: https://gitcode.com/gh_mirrors/an/AnyLanguageModel 文章要点速览核心关键词免费本地大模型、Ollama、AnyLanguageModel长尾关键词Swift 接入 Ollama、本地大模型开发、Ollama 集成教程适合读者Swift 开发者、想免费体验大模型的初学者、关注数据隐私的开发者阅读时长约 5 分钟什么是 AnyLanguageModel一条 import 切换所有大模型后端想在自己的 Mac 上免费运行本地大模型又不想被各家 SDK 的差异折磨AnyLanguageModel正是为此而生的 Swift 开源库。它是一个与 Apple Foundation Models 框架API 兼容的即插即用替代品支持 Ollama、OpenAI、Anthropic、Gemini、Core ML、MLX、llama.cpp 等十余种语言模型后端。你只需要改动一行import语句import FoundationModels → import AnyLanguageModel原有的LanguageModelSession、Prompt、Tool等代码几乎可以原样保留这让「本地大模型」与云端大模型之间的切换变得前所未有的简单。 核心模块Sources/AnyLanguageModel/LanguageModelSession.swift定义了会话与响应逻辑是所有后端统一入口。为什么推荐用 Ollama 跑免费本地大模型Ollama 是目前最流行的本地大模型运行工具主要有三大优势优势说明完全免费模型文件直接下载到本机无需任何 API Key 和按量付费数据私密所有对话都在本地完成敏感数据不出设备⚡上手极快一条命令即可拉取并运行 Qwen、Llama 等主流开源模型而 AnyLanguageModel 对 Ollama 的封装更是开箱即用无需启用任何 Package Traits对比 Core ML、MLX 需要额外配置默认连接http://localhost:11434几乎零配置即可跑通。快速开始安装 Ollama 并拉取模型第一步安装 Ollama前往 Ollama 官网下载对应平台的安装包macOS 用户也可以直接用 Homebrewbrew install ollama安装完成后启动服务默认监听localhost:11434。第二步拉取一个免费本地大模型打开终端执行以下命令拉取模型以通义千问为例ollama pull qwen3:8b也可以选择其他开源模型比如llama3.2、qwen3-vl视觉模型。拉取完成后用ollama run qwen3:8b可以先在命令行里快速验证模型可用。第一步把 AnyLanguageModel 加进你的项目方式一Swift Package Manager推荐在Package.swift中添加依赖需要Swift 6.1支持 iOS 17.0 / macOS 14.0 / visionOS 1.0 以及 Linuxdependencies: [ .package(url: https://github.com/huggingface/AnyLanguageModel, from: 0.8.0) ]⚠️ 注意Xcode 26 在编译旧版本系统目标时可能存在已知 bug建议使用 Xcode 16 构建详见项目 README 中的说明。方式二克隆源码体验想直接查看源码或二次开发可以克隆仓库git clone https://gitcode.com/gh_mirrors/an/AnyLanguageModel第二步三行代码接入 Ollama接入代码简洁得让人惊喜。首先导入模块并创建模型实例import AnyLanguageModel // 默认连接 http://localhost:11434 let model OllamaLanguageModel(model: qwen3:8b)如果你的 Ollama 跑在远程服务器上只需指定endpoint参数let model OllamaLanguageModel( endpoint: URL(string: http://192.168.1.100:11434)!, model: llama3.2 )快速验证发起第一次对话let session LanguageModelSession(model: model) let response try await session.respond { Prompt(用一句话介绍你自己) } print(response.content)运行后终端就会输出由本地大模型生成的内容——全程离线、免费不消耗任何 API 额度。这就是免费本地大模型的魅力所在。 想看实现细节Ollama 后端的完整源码在Sources/AnyLanguageModel/Models/OllamaLanguageModel.swift测试用例在Tests/AnyLanguageModelTests/OllamaLanguageModelTests.swift。进阶玩法一流式输出像 ChatGPT 一样打字机效果用streamResponse替代respond即可实时接收逐字输出体验感和云端大模型毫无差别let stream session.streamResponse(to: 写一首关于秋天的诗) for try await snapshot in stream { print(snapshot.content, terminator: ) }进阶玩法二结构化输出告别字符串解析本地大模型最常见的痛点就是输出格式不稳定。借助Generable宏你可以让模型直接返回强类型 Swift 结构Generable struct Movie { var title: String var year: Int var rating: Double } let response try await session.respond( to: 推荐一部科幻电影, generating: Movie.self ) print(response.content.title) // 直接访问字段无需解析 JSON 核心宏定义在Sources/AnyLanguageModelMacros/GenerableMacro.swift结构化生成逻辑在Sources/AnyLanguageModel/StructuredGeneration.swift。进阶玩法三给本地大模型装上工具Ollama 原生支持工具调用Tool CallingAnyLanguageModel 用Tool协议封装了这一切。比如做一个查询天气的工具struct WeatherTool: Tool { let name getWeather let description 查询指定城市的天气 Generable struct Arguments { var city: String } func call(arguments: Arguments) async throws - String { \(arguments.city) 今日晴26°C } } let session LanguageModelSession(model: model, tools: [WeatherTool()]) let response try await session.respond { Prompt(北京天气怎么样) } print(response.content)模型会自主判断何时调用工具、传入什么参数并把工具结果融入最终回答——本地也能打造完整的 AI Agent。工具协议定义在Sources/AnyLanguageModel/Tool.swift。进阶玩法四精细控制生成参数Ollama 的模型特有参数如seed、repeat_penalty、num_ctx可以通过自定义选项直接透传var options GenerationOptions(temperature: 0.8) options[custom: OllamaLanguageModel.self] [ seed: .int(42), // 固定随机种子输出可复现 repeat_penalty: .double(1.2) // 抑制重复 ] let response try await session.respond( to: 讲一个笑话, options: options )常见问题与排错FAQQ1提示连接 localhost:11434 失败先确认 Ollama 服务已启动在终端执行curl http://localhost:11434有响应说明服务正常。Q2模型名称写错报错先用ollama list查看已下载的模型名确保OllamaLanguageModel(model:)传入的名称完全一致。Q3能用多模态模型吗可以。拉取视觉模型如qwen3-vl然后在respond中通过images:参数传入图片let response try await session.respond( to: 描述这张图片的内容, images: [.init(url: URL(fileURLWithPath: /path/to/photo.jpg))] )Q4Ollama 后端需要启用 Package Traits 吗不需要。只有 Core ML、MLX、Llama 后端才需要启用对应 TraitOllama 走 HTTP API零额外配置。总结免费本地大模型的完整接入方案环节工具耗时安装 Ollamabrew install ollama1 分钟拉取模型ollama pull qwen3:8b看网速接入 SDKOllamaLanguageModel(model:)3 行代码AnyLanguageModel Ollama的组合让 Swift 开发者能用最短路径拥有属于自己的免费本地大模型无需 API Key、无需云端费用、数据完全本地化。无论是个人学习、原型验证还是对隐私敏感的办公场景这套方案都值得一试。现在就装上 Ollama跑起你的第一个本地 AI 应用吧【免费下载链接】AnyLanguageModelAn API-compatible, drop-in replacement for Apples Foundation Models framework with support for custom language model providers.项目地址: https://gitcode.com/gh_mirrors/an/AnyLanguageModel创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考