LangChain v0.0.141 に SVM Retriever という実装が入った。これは embeddings(集合)から、単一 embedding と類似しているもの top-K を SVM を使って見つけるという実装で、えっどうやってるの?と追っかけてみたら、知らない知識で面白かったのでメモ記事に。 kNN vs SVM この実装の元となった、knn_vs_svm.ipynbというnotebookがあって、冒頭を機械翻訳すると以下となる。 よくあるワークフローは、あるデータを埋め込みに基づいてインデックス化し、新しいクエリの埋め込みがあれば、k-Nearest Neighbor検索で最も類似した例を検索することです。例えば、大規模な論文コレクションをその抄録に基づいて埋め込み、興味のある新しい論文を与えると、その論文に最も類似した論文を検索することが想像できます。 私の経験では