コンテンツにスキップ

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(概念実証)を進めています。詳細はまだ公開できませんが、紹介できる段階になったら、こちらでも報告したいと思います。