GitHub
AnyDecisionModel — получение типизированных решений от языковых моделей
AnyDecisionModel — это Swift-пакет для типизированных решений: вероятностей «да/нет», выбора одного варианта из нескольких и оценок по порядковой шкале. API следует паттерну model-and-session из Foundation Models от Apple и AnyLanguageModel.
import AnyDecisionModel
enum Department: String, Choosable {
case billing, technical, sales
}
let ticket = "I was charged twice for my order, and now the app logs me out when I try to ask for a refund."
let model = MLXDecisionModel(modelID: "mlx-community/Qwen3-4B-Instruct-2507-4bit")
let session = DecisionSession(model: model, state: .text(ticket))
let urgent = try await session.probability(of: "Does this convey urgency?")
let team = try await session.choice("Which team?", from: Department.self)
let anger = try await session.score(
"How frustrated?",
levels: ["Calm", "Frustrated", "Very angry"]
)
Доступно шесть бэкендов:
- MLX запускает небольшую языковую модель на Apple silicon и получает каждое решение из вероятностей следующего токена за один forward pass.
- MLX decision heads запускает модель с обученной decision head, например Clef от Cloudflare.
- Core AI делает то же самое, что и MLX, но с Core AI-моделью на macOS 27 и iOS 27.
- llama.cpp работает аналогично MLX, но использует GGUF-модель через llama.cpp.
- Jev обращается к Jev от TypeSafe через System One API или к любому серверу, реализующему тот же API.
- Ollama обращается к System One-модели через Ollama, локально или через облако Ollama.
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
