gihyo.jpにLanceDBの紹介記事を書きました
技術評論社のgihyo.jpで連載している「Python Monthly Topics」に、画像と本文をまとめて扱うLanceDB 〜pandasとの連携からキーワード・ベクトル検索まで〜を書きました。10月29日に公開されています。
LanceDBは、研究に加えて仕事でも使っています。記事の紹介とともに、Ploneへの組み込みなど、現在進めている開発についても報告します。
写真と説明文を使ってLanceDBを試す記事
記事では、写真・説明文・属性情報を一つのテーブルに登録し、必要なデータを取り出すところから始めています。pandasやParquetとの連携を試した後、同じデータに対して、日本語のキーワード検索と意味の近さによるベクトル検索を行います。
手元のデータを保存して使い、そこに検索を加えていく流れを、Pythonのコードとともに紹介しました。LanceDBを使い始める際の参考になればと思います。
Ploneのテキスト検索を置き換えられるか検証中
仕事では、画像検索を含むPlone向けのプロダクトを開発しています。OSC東京でのデモでは画像検索を中心に見ていただきましたが、現在はリファクタリングと、本番環境への導入に向けた検証を進めています。
いま入念に確認しているのは、中規模のデータで、Ploneの既存のテキスト検索をLanceDBを使った検索に置き換えられるかどうかです。その中で、データ更新時の問題や、ngramを使った検索の不具合が見つかっており、解消に向けてプロダクト側の修正を進めています。
あわせて、基盤となるLanceやLanceDBにも、問題の指摘や修正依頼、動作確認を通じて貢献しています。以前報告した不具合と修正に続き、実際に組み込んで使う中で見つかった問題を、本家の開発者にも共有しています。
Plone以外でも2件のPoCを進めています
LanceDBを使った取り組みは、Plone以外にも広がっています。現在は別の2件でPoC(概念実証)を進めています。詳細はまだ公開できませんが、紹介できる段階になったら、こちらでも報告したいと思います。