コンテンツにスキップ

Blog

ベクトル検索のPoCはデータ準備から始まる

前回の記事では、PyCon JP 2026の画像検索トークに向けて、Embedding、マルチモーダル検索、ANNの流れを紹介しました。

こうした技術を自社の検索へ取り入れるには、EmbeddingモデルやVector DB、検索方法の選択が重要です。一方で、実際のPoC(概念実証)では、もう一つ忘れてはいけないことがあります。それが、「何を、どのように探したいのか」と「評価できるデータがあるか」の整理です。

検索技術の検証に目が向くと、その土台となるデータの確認は後回しになりがちです。しかし、データの状態や評価方法によって、選ぶ技術やPoCの進め方も変わります。

今回は、ベクトル検索のPoCを始める前に整理したい5つのことを、実践的な例とともに紹介します。

PyCon JP 2026の画像検索トークを楽しむための予習ガイド

8月21日(金)、広島で開催されるPyCon JP 2026で、2.3万枚を超える写真の画像検索システムについて登壇します。トークのレベルは上級ですが、ベクトル検索を初めて知る方にも、実際に動くシステムへ至る流れを楽しんでもらいたいと考えています。

そこで今回は、トークを聞く前に知っておくと理解しやすい用語と、これまでに公開した記事を読む順番をまとめます。すべての仕組みを事前に理解する必要はありません。まずは、何をベクトルにして、どのように近いものを探しているのかをつかめれば十分です。

200を超える実験Notebookを支えるSAENMの実践

以前、実験の過程を時系列で積み重ねていく研究運用モデルとして、SAENM(セーンモデル)を紹介しました。その後も複数の研究やPoCで実践を続け、現在進めている非公開のベクトル検索研究では、Notebookが200を超えています。

今回は、SAENMを実際の研究でどのように使ってきたのか、公開しているプロジェクトの例も交えて紹介します。

NumPyのint8行列積をRustで高速化し、20環境で検証しました

ベクトル検索の研究では、検索精度だけでなく、量子化したベクトルをCPU上でどのように計算するかも重要になります。

現在進めているベクトル検索 ANNプロジェクトの一環として、NumPyでは期待した速度が出なかったint8行列積をRustで実装しました。さらに、CPUごとに適した命令を選ぶ仕組みと環境別のwheelビルドを整え、20の実行環境で動作と性能を確認しました。

VC/VPの考え方を参考に、独自の社員証アプリを作りました

Verifiable Credentials(VC)とVerifiable Presentations(VP)の考え方を参考に、本人承認と項目単位の情報開示を取り入れた独自の社員証アプリを作りました。

最初に明記しておくと、このアプリはW3C VC Data ModelやOpenID4VPに準拠した実装ではありません。VC/VPが目指している役割分担や提示の考え方から、私たちの社員証に必要な部分を取り出し、中央のバックエンドを信頼点とする独自方式で実装したものです。

PyCon JP 2026で画像検索システムの裏側を話します

2026年8月21日から、広島でPyCon JP 2026が開催されます。会場は広島国際会議場で、カンファレンスは8月21日(金)と22日(土)の2日間です。

私にとってPyCon JPは長く関わってきたホームともいえる場所です。今年はスピーカーとして、実際に構築した画像検索システムの裏側を紹介します。また、株式会社CMSコミュニケーションズとしてシルバースポンサーにもなっています。

800件から1,000万件へ、Voronoi分割の研究を続けています

ブログを再開するにあたって、3月に公開したPloneサイト実データでのベクトル検索アルゴリズム比較を読み返しました。

当時は約800件のデータを使った実験でした。それから研究を続け、現在は最大1,000万件、5種類以上のEmbeddingモデルを使った検証まで進んでいます。

技術ブログを再開します

しばらく更新が止まっていたこのブログを、今日から少しずつ再開します。

3月までは技術的な取り組みを継続的に発信していましたが、その後は研究や特許に関わる、公開範囲を慎重に判断すべきテーマを扱う時間が増えました。そのため、表に出せる情報が限られ、ブログの更新からしばらく遠ざかっていました。

Ploneサイト実データでベクトル検索の枝刈りアルゴリズムを比較した結果、Voronoi分割が有力だった

2026-03-16の記事 で、テキスト embedding に対して Voronoi 分割による事前枝刈りが有効そうだという話を書きました。 今回はその続きとして、Plone サイトの実データで collective.vectorsearch の検索アルゴリズムを比較し、Voronoi 方式が実運用に近い条件でも有望であることを確認しました。

あわせて、2026-02-14の記事 で紹介した ITQ-LSH 系アルゴリズムについても、今回のデータ規模では精度面に課題があることが見えてきました。