Function Callingで遊戯王APIを呼び出す 3(Assistants APIを使用)

Function Callingで遊戯王APIを呼び出す 3(Assistants APIを使用)

OpenAI APIを活用した遊戯王APIからの情報取得システムをAssistants APIに組み込む

前回作成したFunction Callingから遊戯王APIにアクセスするシステムを改良。
11月6日に出たばかりのAssistants APIを使用する。

これにより、システム内部の逐次処理をある程度GPT任せにできるはず。

ついでに関数呼び出しもParallel function callingによる複数呼び出しに対応した。

Function Callingで遊戯王APIを呼び出す 2(rapidfuzzによる名寄せ機能追加)

Function Callingで遊戯王APIを呼び出す 2(rapidfuzzによる名寄せ機能追加)

OpenAI APIを活用した遊戯王APIからの情報取得システムがパワーアップ

前回作成したFunction Callingから遊戯王APIにアクセスするシステムは英語のカード名にしか対応しない問題があった。

そこで、

  1. 日本語への対応
  2. あいまい入力への対応

を行った。

rapidfuzzを用いた遊戯王カードの名寄せ

rapidfuzzを用いた遊戯王カードの名寄せ

あいまいな遊戯王カード名を正式名称と紐づけたい

たとえば何らかのシステムに「青眼の白龍」のつもりで「青目の白龍」と入力したとする。
(「眼」と「目」が間違っている。)

このときに、


そんな名前のカードは存在しません

ではなく、


あなたが入力したのは青眼の白龍ですか?

こういった需要を満たす技術は「名寄せ」と呼ばれていて、
そこでは文字列間の類似度、あるいは距離を計算する手法がよく用いられる。
有名なアルゴリズムとして、

  • レーベンシュタイン距離
  • ジャロ距離
  • ジャロ・ウィンクラー距離

などいくつか挙げられるが、その辺のアルゴリズムを大体網羅して、かつ高速で使用方法も簡単な最強ライブラリが存在する。

今回はその最強ライブラリrapidfuzzを使って遊戯王カード名の名寄せを行う。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×