LocalLLaMAが注目したSQLite FTS5とNemotron 9Bによる350万件特許検索エンジン
Original: I classified 3.5M US patents with Nemotron 9B on a single RTX 5090 — then built a free search engine on top View original →
今週末のr/LocalLLaMAで反応を集めたプロジェクトのひとつは、よくある“embeddings everywhere”型の検索スタックとはかなり違う道を選んでいる。名前はPatentLLMで、2016年から2025年までの米国特許350万件を対象にした無料検索エンジンだ。投稿者は2025年12月にcodingを始めたpatent lawyerだと説明しており、全文書を74GBの単一SQLite fileに収め、その上にfull-text search、local LLM分類、server-side renderingを組み合わせたという。
もっとも重要な技術判断は意図的に保守的だ。retrievalの土台にvector searchを置くのではなく、SQLite FTS5とBM25を採用した。理由はdomain-specificである。patent searchではsemanticに近い文書より、exact phrase matchingが優先される場面が多いからだ。たとえば“solid-state battery electrolyte”を検索するなら、広く関連しそうなenergy storage文書ではなく、その正確な表現を含む特許を上位に出したい、という考え方である。
もちろんLLMが使われていないわけではない。Nemotron 9BはRTX 5090上でlocalに動き、350万件すべてを100個のtech tagへ分類したとされる。投稿者によれば、この処理には約48時間かかった。さらに別のlocal LLM layerがnatural-language queryをFTS5のboolean queryへ展開する。rankingではtitle matchを最重視し、その次にassignee、abstractを評価し、claimsは冗長さを考慮して低めのweightにしたという。投稿者は、この調整の方がexperienced patent searcherの手動順位付けに近いとしている。
周辺スタックも興味深い。web appはFastAPIとJinja2で構成され、hostingはChromebookとCloudflare Tunnelの組み合わせだという。狙いは明快だ。運用面を小さく保ち、有料APIを避け、データを普通のツールでコピーや移動ができる単一fileにまとめることだ。数百万件の長い技術文書を扱う検索プロダクトで、こうした“boring infrastructure”の徹底はそれ自体が強いメッセージになっている。
この投稿がLocalLLaMAで刺さった理由もそこにある。local modelへの熱量を、具体的なuser needを持つend-to-end utilityへ落とし込んだからだ。このprojectは、LLMがleverageを生む場所にはmodelを使い、exact symbolic retrievalの方が強い部分には無理にneural methodを押し込まない。その役割分担が、多くのgenericな“AI search” demoよりもずっと信頼しやすい。
コミュニティ出典: r/LocalLLaMA投稿
原文: 技術記事, live search engine
Related Articles
MachineLearningで注目されたGoodSeedは、run dataをローカルSQLiteへ保存し、内蔵web appで可視化し、必要に応じてremote APIへbackground syncするexperiment trackerだ。hardware metric、stdout/stderr、Git状態の記録に加え、Neptune利用者向けのmigration経路も用意する。
Microsoft Threat Intelligenceは2026年3月6日、攻撃者が調査、phishing、malware開発、侵害後分析までAIを活用していると報告した。AIはまだ大規模な完全自律侵入を実現していないが、攻撃の速度・規模・持続性をすでに押し上げているという整理だ。
r/LocalLLaMAで、Whisperが無音区間で文章を生成する問題に対し、Silero VADやprompt履歴遮断、blocklistを組み合わせた運用対策が公開された。
Comments (0)
No comments yet. Be the first to comment!