【この記事のポイント】
・ローカルAIを活用して、7,000件のブログと20万枚の過去写真を、手元のシンプルな台帳(データベース)でつなぐ
・クラウドの利用制限やコストを気にせず、「大量の地道な内職」を24時間お任せする気楽さ
・言葉を「ベクトル」に翻訳して超高速のLanceDBに流し込み、うろ覚えの「意味」で一瞬で検索できる仕組みも構築
ローカルAIを「第二の脳」にする
前回の記事で、Mac mini M4にローカルLLM(Gemma 4 E4B)を導入し、デスクの上に「知的な妖精」を住まわせることに成功したお話をしました。
せっかく無課金でデータ解析させ放題のプライベートAIを手に入れたのだから、本命の仕事をしてもらおうかなと。
ローカルAIは「比較的単純な作業」の「大量処理」が得意分野、これを「無課金」でできるというのが特徴ですね。
これを活かした作業というと…
そうだ、これまで撮ってきた写真とブログ記事の整理だと思いついたというわけです。
写真は全てGoogleフォトに預けてあるものの、利活用の範囲は限定的。
Googleフォトでは、例えば「ヒラメ」などのキーワード検索をしてみてもヒットせず、これは自動生成されているキーワードが限定的だからでしょう。
また、ブログ記事はキーワード検索はできるものの、例えば「ヒラメ」「ひらめ」「鮃」「平目」は別キーワード扱い。
「前回ヒラメを食べたのはいつだっけ?」なんて時には、4回検索しないとヒットせずです。
ローカルAIを上手く利用すると、「前回ヒラメを食べたのはいつだっけ?」の問いにこんな答えが返ってくる。
「最後にヒラメを食べたのは 2025年9月15日 です。
高知県須崎市からのふるさと納税返礼品(定期便の第1回目)として届いたヒラメを、ご自身で刺身に捌いて(エンガワ付き)熱々のご飯と一緒に召し上がっています。
ちなみに、発泡スチロールの箱を開けた際、一瞬「氷の山だけで身が入っていないのでは」と焦ったものの、箱の底から無事に真空パックされた身が発見されたというエピソードもブログに記録されています。」
「その時の写真を表示して。」
「2025年9月15日にヒラメを食べた際の一連の写真をカルーセル形式でまとめたギャラリーを作成しました。
以下のファイルから、開封から調理、完成(刺身)までの様子をご確認いただけます。」
なくても困る機能ではないものの、あると便利なのは間違いなし。
そう、「これまで撮り溜めてきた写真」と「過去のブログ記事」をすべて紐づける「自分専用のローカル検索エンジン」です。
言ってみれば、私だけの「第二の脳」ですね。
7,000件のブログと20万枚の写真を整理する「地道な内職」
まず着手したのは、手元で動くシンプルな「台帳」(データベース)の構築です。
構造はいたってシンプル。
ブログ記事については、主に以下のような情報が保存されています。
- 日付
- 掲載写真
- 記事概要とキーワード(★AIが自動要約・抽出)
そして写真にはこんな情報です。
- 日付
- 撮影機材
- 露出・シャッタースピード・ISO
- 撮影場所
- 写っているものの概要とキーワード(★AIが自動認識・生成)
★をつけた2つ、これがローカルAI活躍の場なんです。
私の書いたブログ記事は約7,000件。
どうでもいい個人的なことばかりではありますけど、17年もやっていると数は凄いことになっています。
そして写真は期間がより長いので、約200,000枚もあるんです。
これらを全て一枚ずつ眺めて、「どういう内容のブログか」「何の写真か」を要約してキーワードを付ける。
人間には不可能な気が遠くなるようなこの内職作業こそが、まさにAIの得意分野です。
ブログ記事であれば、過去に書いた原稿をローカルAIに流し込んで「3行で要約して、主なキーワードを5つ抽出して」と頼む。
写真であれば、AIに画像を読み込ませて「何が写っているか、どんなシチュエーションか説明して」と頼み、その説明文からキーワードを生成してもらうんです。
仮にChatGPTやGeminiなどのクラウドAIに依頼した場合、時間あたりの利用制限の壁にぶつかるのは必定。
「しばらく時間をおいてから実行してください」という冷たいエラー画面と向き合うことになり、それを回避するため有料プランにすると、それなりのコストがかかります。
手元のMac miniで動くローカルAIなら、そんな制限は一切なし。
クラウドAIよりゆったりとしたペースにはなるものの、ローカルAIは不平不満も言わず24時間働き続けてくれます。
私が仕事している間も、ビールを呑んでグースカ寝ている間も、Mac miniの中では『無給で働くデジタルな小作人』がせっせとお仕事。
人間がやれば確実に精神崩壊を起こす単純労働をMac miniに押し付け、自分は『いつでも曖昧に過去を思い出せる』という美味しい果実だけを収穫する。
悪徳代官かローマの貴族にでもなったような後ろめたさは… ないですねw
言葉を「ベクトル」に翻訳し、LanceDBへ流し込む
ローカルAIが地道に作ってくれた「要約」や「キーワード」付け、単に普通のデータベースに登録しただけではまだ不十分なんです。
このままだと「ヒラメ」と探した際、キーワードに「ヒラメ」と完全一致する文字が入っていなければヒットしないままです。
そこで、もう一段階の魔法をかけます。
ローカルAIを使って、生成されたキーワードや文章全体の「意味合い」を、コンピュータが理解しやすい数値の羅列(ベクトル)に翻訳してもらうんです。
細かい説明は省略しますけど、ベクトル化によって、表記がバラバラだった「ヒラメ」「ひらめ」「鮃」といった言葉たちが、コンピュータの中で「同じ意味の仲間」としてガチッと紐づくようになるわけです。
Google検索でも、キーワードが一致していないのに検索結果に表示される、あれと同じですね。
このために導入したのが、ローカル動作に特化した超高速の意味検索エンジン「LanceDB」。
このLanceDBのいいところは、面倒なサーバーの管理などが一切不要で、Mac上で手軽に動かすことができます。
にも関わらず、数万件のデータを「ミリ秒」という一瞬で検索し尽くす実力を保持。
まさにMac miniのような省スペース環境に最適なベクトル検索エンジンと言えるでしょう。
このエンジンにローカルAIが翻訳した「意味(ベクトル)」のデータを流し込んでおくことで、上に書いた「ヒラメ」の例だけじゃなく、検索の次元が劇的に変化します。
例えば、「木漏れ日の差し込む神社」と検索。
すると、記事にその文字列が一度も登場しなくても、意味的に最も近い「鬱蒼とした木々の木漏れ日を落とす榛名神社の境内」の写真やブログ段落が、瞬時かつ正確にヒットするようになるんです。
これで「第二の脳」のニューロネットワークも完成。
さて、こいつを活用して、また新たな気持ちでブログ記事を書いていくぞというところで、今日の記事を締めくくります。
【おまけのワンポイント】
従来のフォルダ検索やキーワード検索は「林檎」と検索すれば「林檎」という文字が入ったファイルしか見つけられません。これを「完全一致検索」と呼びます。
一方、AIを用いた「セマンティック検索(意味検索)」は、「林檎」と検索した際に、意味が近い「アップル」や「赤い果物」、さらには「アダムとイブ」といった関連性の高い情報まで引き当てることができます。言葉の表記の揺れや、うろ覚えの記憶であっても目的の情報にアクセスできるため、人間の脳の連想記憶に最も近い検索方法と言われています。


