Embeddings API
チャットアプリに過去のチャット履歴に応じた返答をさせるために、文章のベクトル化による類似文章の抽出がある。
もっとも簡単に文章のベクトル化を行うには、既存のサービスを使えばよい。
OpenAI には、文章のベクトル化を行うための Embeddings API がある。
この API を利用することで、効率よく過去の会話から類似文章を抽出し、その文章をチャット AI に渡すことで、その類似文章の内容を考慮した返答を返すようになる。
もちろん、Embeddings API は有料であるため、あまりよく調べもせずに、類似文章の抽出を形態素解析による独自ロジックにしていたが、Embeddings API が思ったよりも料金が安いため、一部の IKACHI アプリを Embeddings API に書き換えた。
該当するアプリは、次のとおり。
・Chapl!
・My Partner
形態素解析による類似文章検索だと、過去履歴から名詞が合致する文章を抽出していた。
そのため、
ユーザー:「わたしのなまえはイチローです」
AI:「わかりました。」
ユーザー:「私の名前は何でしょう?」
のように会話のやりとりをした場合、AI は名前を答えられない。
"なまえ" と "名前" が文字列として一致しないからである。
しかし、Embeddings API を使えば、このような表記の違いでも問題なく解決する。
もっとも簡単に文章のベクトル化を行うには、既存のサービスを使えばよい。
OpenAI には、文章のベクトル化を行うための Embeddings API がある。
この API を利用することで、効率よく過去の会話から類似文章を抽出し、その文章をチャット AI に渡すことで、その類似文章の内容を考慮した返答を返すようになる。
もちろん、Embeddings API は有料であるため、あまりよく調べもせずに、類似文章の抽出を形態素解析による独自ロジックにしていたが、Embeddings API が思ったよりも料金が安いため、一部の IKACHI アプリを Embeddings API に書き換えた。
該当するアプリは、次のとおり。
・Chapl!
・My Partner
形態素解析による類似文章検索だと、過去履歴から名詞が合致する文章を抽出していた。
そのため、
ユーザー:「わたしのなまえはイチローです」
AI:「わかりました。」
ユーザー:「私の名前は何でしょう?」
のように会話のやりとりをした場合、AI は名前を答えられない。
"なまえ" と "名前" が文字列として一致しないからである。
しかし、Embeddings API を使えば、このような表記の違いでも問題なく解決する。