2023-09-25
浮動小数をバイナリ化できたので、文章をベクトル化するEmbedding APIを使って、AIによる似たもの探しアプリをつくりました。


「福井観光スポット似たもの探し」

福井県観光連盟「ふくいドットコム」が紹介する755箇所の観光スポットの中から、似た観光地ベスト3と、似てない観光地ベスト3を表示します。クリックすると次々と見ることができます。知らない福井に触れてください!


「txt2vec」

最大8191トークンの文章を1536次元のベクトルにするOpenAIのEmbedding API、ADA002を使うJavaScript/Denoライブラリを準備。コサイン類似度を算出するベクトル計算を行うVec2.jsも実装。

「福井観光スポット似たもの探し」のつくりかた
1. 説明(description)だけを抜き出した配列をtxt2vecでベクトル化し、IEEE754/Base64URLでエンコードしたCSVファイルを生成。 (make_vec_fukuispot.js)

2. 全件に対して文章的な近さをコサイン類似度を計算して、トップ3、ワースト3のIDを追記したCSVを生成。 (calc_vec_fukuispot.js)

3. これを表示するアプリを作ってできあがり! (index.html)


「Embeddings - OpenAI API」

文章を配列にしてまるっと渡すと、サクッとベクトルにして返してくれます。料金は、$0.0001 / 1K tokens (100万文字で15円)とリーズナブル!

links
- 福井県の観光スポット755箇所のCSV&JSONオープンデータ、恐竜マップ in FUKUI

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS