Skip to content

1duo/apple-fm-serve

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

apple-fm-serve

Minimal, robust OpenAI-compatible local server for Apple's Foundation Models Python SDK.

Requirements

  • macOS 26+
  • Python 3.11+
  • uv package manager

Apple SDK source: python-apple-fm-sdk

Quick start

uv sync --extra dev --extra apple

Run:

./serve

Configuration

Environment variables:

  • APPLE_FM_HOST (default: 127.0.0.1)
  • APPLE_FM_PORT (default: 8000)
  • APPLE_FM_MODEL_ID (default: apple.fm.system)
  • APPLE_FM_API_KEY (optional, enables bearer auth)
  • APPLE_FM_MAX_CONCURRENCY (default: 4)
  • APPLE_FM_ESTIMATE_USAGE (default: true)

Connect to OpenCode

Add following to your OpenCode config (opencode.jsonc in your project or ~/.config/opencode/opencode.jsonc):

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "apple-fm-local": {
      "name": "Apple FM Local",
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "http://127.0.0.1:8000/v1"
      },
      "models": {
        "apple.fm.system": {
          "name": "Apple FM System",
          "tool_call": false,
          "limit": { "context": 32768, "output": 4096 }
        }
      }
    }
  },
  "model": "apple-fm-local/apple.fm.system"
}
  1. Restart OpenCode and select apple-fm-local/apple.fm.system.

Quality gates

make check

Includes Ruff lint/format, mypy strict mode, and pytest (all via uv run).

About

OpenAI-compatible Endpoints to Serve Apple Fondation Model

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages