すべてのオープンソースパッケージ
AISwift

SwiftIntelligence

Apple のフレームワーク上に構築された、アプリのテキストに対するデバイス上の検索、回答、マスキング。

8スター数最新リリース: v2.0.0更新日: 2026年10月15日
対応プラットフォーム:iOS 18macOS 15

ライセンス: MIT

iOS や macOS アプリ内のテキストを、デバイス上で検索・質問可能にする Swift パッケージです。ドキュメントは、それらをチャンク化し、必要に応じてマスキングし、embedding に変換してインデックス化する KnowledgeBase actor に投入されます。検索は BM25 とベクトルによるランキングを reciprocal rank fusion で組み合わせます。iOS 26 と macOS 26 では、Apple のデバイス上モデルが最も適切な passage から出典を示しつつ回答します。NaturalLanguage、Accelerate、Foundation Models の上に構築されており、依存関係はありません。

機能

  • ハイブリッド検索: すべての passage は単語(BM25)とベクトルの両方でインデックス化され、2つのランキングが reciprocal rank fusion で統合されます
  • 出典付きの回答: answer(_:) は Apple のデバイス上モデルに、最も適切な passage のみから回答し出典を示すよう求めます。groundedPrompt(for:) は他の任意のモデル向けに同じプロンプトを構築します
  • 8種類の個人情報に対する可逆的なマスキング。カード番号と IBAN はチェックディジットを通過する必要があり、マッチングはテキストの折り畳んだコピー上で行われます
  • 3種類の embedder(hashing、Apple sentence、Apple contextual)、または TextEmbedder プロトコル経由で自前のものを使用できます
  • 保存と復元: マスキング済みの passage とそのベクトルを1つのファイルにまとめ、読み込み時に embedder とフォーマットのバージョンを検証します
  • テキスト分析: TextAnalyzer による言語、感情、人名、キーワード、文の抽出

クイックスタート

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 …

インストール

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

スクリーンショット

KnowledgeDemo の検索画面、iPhone シミュレータ、ライトモード
KnowledgeDemo の検索画面、iPhone シミュレータ、ダークモード
KnowledgeDemo の質問画面、デバイス上モデルからの回答付き、ライトモード
KnowledgeDemo の質問画面、デバイス上モデルからの回答付き、ダークモード
KnowledgeDemo のマスキング画面、iPhone シミュレータ、ライトモード
KnowledgeDemo のマスキング画面、iPhone シミュレータ、ダークモード

タイムライン

  1. 幅広い AI/ML フレームワークとしてリポジトリが公開され、v1.0.0 と v1.1.0 がタグ付けされました

  2. ドキュメント、README、CI の整備。v1.2.0 から v1.2.2 をタグ付け

  3. 整理: リリース用スクリプトと使われていないモジュールを削除

  4. 2.0.0 として作り直し: 依存関係のない単一の library ターゲットに。1.x の API は維持されませんでした

リンク

関連記事

記事を読む