Alle Open-Source-Pakete
KISwift

SwiftIntelligence

On-Device-Suche, Antworten und Schwärzung für den Text Ihrer App, aufgebaut auf Apples Frameworks.

8SterneNeueste Version: v2.0.0Aktualisiert: 15. Oktober 2026
Plattformen:iOS 18macOS 15

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

swift
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") // returns
8print(results.first?.text ?? "") // You can return any item within 30 days …

Installation

Swift Package Manager

swift
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

text
1https://github.com/muhittincamdali/SwiftIntelligence.git

Screenshots

KnowledgeDemo-Suchscreen im iPhone-Simulator, Light Mode
KnowledgeDemo-Suchscreen im iPhone-Simulator, Dark Mode
KnowledgeDemo-Frage-Screen mit einer Antwort des On-Device-Modells, Light Mode
KnowledgeDemo-Frage-Screen mit einer Antwort des On-Device-Modells, Dark Mode
KnowledgeDemo-Schwärzungs-Screen im iPhone-Simulator, Light Mode
KnowledgeDemo-Schwärzungs-Screen im iPhone-Simulator, Dark Mode

Zeitleiste

  1. Repository eröffnet als breit angelegtes KI/ML-Framework; v1.0.0 und v1.1.0 getaggt

  2. Arbeit an Dokumentation, README und CI; v1.2.0 bis v1.2.2 getaggt

  3. Aufräumen: Release-Skripte und ungenutzte Module entfernt

  4. Als 2.0.0 neu aufgebaut: ein Library-Target ohne Abhängigkeiten; keine API aus 1.x blieb erhalten

Links

Verwandter Artikel

Artikel lesen