![](https://res.cloudinary.com/zenn/image/upload/s--h9Ib6IQY--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Rust%25E3%2581%25A8pgvector%25E3%2582%2592%25E4%25BD%25BF%25E3%2581%25A3%25E3%2581%25A6%25E3%2580%2581%25E9%25A1%259E%25E7%25BE%25A9%25E8%25AA%259E%25E3%2581%25AE%25E6%25A4%259C%25E7%25B4%25A2%25E3%2582%2592%25E3%2582%2584%25E3%2581%25A3%25E3%2581%25A6%25E3%2581%25BF%25E3%2581%259F%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_34:hajime%2Cx_220%2Cy_108/bo_3px_solid_rgb:d6e3ed%2Cg_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2E4YWMzOWY1YjUuanBlZw==%2Cr_20%2Cw_90%2Cx_92%2Cy_102/co_rgb:6e7b85%2Cg_south_west%2Cl_text:notosansjp-medium.otf_30:LabBase%25E3%2583%2586%25E3%2583%2583%25E3%2582%25AF%25E3%2583%258E%25E3%2583%25BC%25E3%2583%2588%2Cx_220%2Cy_160/bo_4px_solid_white%2Cg_south_west%2Ch_50%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzI2YjQzZmJmZWMuanBlZw==%2Cr_max%2Cw_50%2Cx_139%2Cy_84/v1627283836/default/og-base-w1200-v2.png)
Rustとpgvectorを使って、類義語の検索をやってみた
DRANK
PostgreSQLOpenAIembeddingpgvectortech はじめにこの記事は株式会社LabBase テックカレンダー Advent Calendar 2023 24日目の記事です。株式会社LabBaseでエンジニアをしている渡辺創です。今回は pgvector を使って、類義語の提案ができるか試してみたのでそれについて書いていきたいと思います。 背景LabBase就職というサービスを提供しており、研究に取り組んでいる学生が研究概要を登録してくれています。研究を頑張っている学生を採用したい企業の方が研究内容と募集内容のマッチングによって、就職活動・採用活動を支援するサービスとなっています。企業の人事の方が学生の研究内容をキーワードで検索するのですが、ユーザは自分の語彙の中でしか検索することができないので、その語彙を拡張する方法の1つとして、ユーザに類義語を提案しようと考えています。類義語関連だとこちらの記事にも書いたので、ぜひ読んでみてください。 使用する技術などRustpgvectorDockerOpenAI EmbeddingLabBase就職に登録されている技術キーワードの一部 手順データの準備データベースの準備データのインサートキーワードからベクトルを取得し、保存類似キーワードを検索する ディレク…