SwiftIntelligence
On-Device-Suche, Antworten und Schwärzung für den Text Ihrer App, aufgebaut auf Apples Frameworks.
Lizenz: MIT
Ein Swift-Package, das den Text in einer iOS- oder macOS-App auf dem Gerät durchsuchbar und beantwortbar macht. Dokumente werden in einen KnowledgeBase-Actor gegeben, der sie in Chunks zerlegt, wahlweise schwärzt, embeddet und indexiert; die Suche kombiniert BM25- und Vektor-Rankings per Reciprocal Rank Fusion; auf iOS 26 und macOS 26 antwortet Apples On-Device-Modell aus den besten Passagen mit Quellenangaben. Aufgebaut auf NaturalLanguage, Accelerate und Foundation Models, ohne Abhängigkeiten.
Funktionen
- Hybride Suche: Jede Passage wird nach ihren Wörtern (BM25) und als Vektor indexiert, die beiden Rankings werden per Reciprocal Rank Fusion zusammengeführt
- Antworten mit Quellen: answer(_:) lässt Apples On-Device-Modell ausschließlich aus den besten Passagen antworten und sie zitieren; groundedPrompt(for:) baut denselben Prompt für jedes andere Modell
- Umkehrbare Schwärzung von acht Arten personenbezogener Daten; Kartennummern und IBANs müssen ihre Prüfziffer bestehen, und der Abgleich läuft auf einer zusammengefalteten Kopie des Texts
- Drei Embedder (hashing, Apple sentence, Apple contextual) oder ein eigener über das TextEmbedder-Protokoll
- Speichern und Wiederherstellen: eine Datei mit den geschwärzten Passagen und ihren Vektoren, beim Laden gegen Embedder und Formatversion geprüft
- Textanalyse: Sprache, Sentiment, Namen, Schlüsselwörter und Sätze mit TextAnalyzer
Schnellstart
1let knowledge = KnowledgeBase()2try await knowledge.add("You can return any item within 30 days of delivery for a full refund.", id: "returns")3try await knowledge.add("Orders ship within two business days; delivery takes three to five days.", id: "shipping")4try await knowledge.add("Every laptop comes with a two-year warranty against defects.", id: "warranty")5 6let results = try await knowledge.search("How do I return an item for a refund?")7print(results.first?.documentID ?? "nothing found") // returns8print(results.first?.text ?? "") // You can return any item within 30 days …Installation
Swift Package Manager
1dependencies: [2 .package(url: "https://github.com/muhittincamdali/SwiftIntelligence.git", from: "2.0.0")3],4targets: [5 .target(name: "YourApp", dependencies: [6 .product(name: "SwiftIntelligence", package: "SwiftIntelligence")7 ])8]Xcode
1https://github.com/muhittincamdali/SwiftIntelligence.gitScreenshots






Zeitleiste
Repository eröffnet als breit angelegtes KI/ML-Framework; v1.0.0 und v1.1.0 getaggt
Arbeit an Dokumentation, README und CI; v1.2.0 bis v1.2.2 getaggt
Aufräumen: Release-Skripte und ungenutzte Module entfernt
Als 2.0.0 neu aufgebaut: ein Library-Target ohne Abhängigkeiten; keine API aus 1.x blieb erhalten