LlamaIndexのアップデートまとめ:0.6.23(2023/06/11) から 0.6.27(2023/06/17) まで【FLARE・Function calling・MMRなど】

2023.06.19

こんちには。

データアナリティクス事業本部 インテグレーション部 機械学習チームの中村です。

本記事は「0.6.23(2023/06/11)」から「0.6.27(2023/06/17)」までのLlamaIndexのアップデートまとめです。

ソースコードを見ながらアップデート点をピックアップしています。

個人的な注目は以下の変更かなと思います。

  • 0.6.25.post1
    • FLARE: Forward Looking Active REtrieval対応
    • FLAREは信頼度スコアの低いトークンを再生成する仕組みであり、論文が2023年の5月に出ているものの実装
  • 0.6.26
    • Function callingへの対応
  • 0.6.27
    • CallbackManagerの修正(新しいHandler、EventPayloadでpayloadへのアクセスがし易く)
    • VectorStoreにMMR: Maximum Marginal Relevanceが追加

Function callingへの対応の他、新しい機能のFLAREなども気になります。

0.6.22からCHANGELOG.mdが記載されるようになっていますので、そちらもご参照ください。

それでは見ていきましょう。

各アップデート

2023-06-11 LlamaIndex 0.6.23

大きな変更はなく、公式ドキュメントの修正やサンプルノートブックの修正、バグFIXなどが行われているようです。

2023-06-13 LlamaIndex 0.6.24

Microsoftのguidanceとの統合機能がメインのアップデートとなっているようです。

  • Microsoftのguidanceとの統合機能が追加
  • VectorStoreであるPinecone and Weaviateに対象のテキストを補足するためのTEXT_KEYが追加
    • DEFAULT_TEXT_KEYとして"text"が設定され、これを任意のキーに設定可能に修正されている

2023-06-13 LlamaIndex 0.6.25

大きな変更は無いようです。

2023-06-13 LlamaIndex 0.6.25.post1

FLARE Query Engineがメインのアップデートとなっているようです。

FLARE: Forward Looking Active REtrievalは、信頼度スコアの低いトークンを再生成する仕組みであり、論文が2023年の5月に出ているもので、その実装となっています。

  • FLARE Query Engineの追加(ベータ版)
    • FLAREは、Forward Looking Active REtrievalで、信頼度スコアの低いトークンが含まれて要る場合は文章を再生成する仕組みが導入されている
    • FLAREについては論文も公開されている
    • 論文 : Active Retrieval Augmented Generation
    • 論文作者のツイート
    • ベータ版であるため、本機能のインターフェースはまだ安定版ではない点に注意
  • FLARE Query Engineに関連する実装
    • BaseQueryEngineのサブクラスに、FLAREInstructQueryEngineの追加
    • BaseOutputParserのサブクラスとして、IsDoneOutputParserとQueryTaskOutputParserの追加
    • BaseLookaheadAnswerInserterが新規実装
    • BaseLookaheadAnswerInserterのサブクラスとして、LLMLookaheadAnswerInserterとDirectLookaheadAnswerInserterも実装
    • 公式ドキュメント : FLARE Query Engine

2023-06-14 LlamaIndex 0.6.26

Function callingへの対応がメインのようです。

2023-06-17 LlamaIndex 0.6.27

CallbackManagerの修正や、VectorStoreにMMR: Maximum Marginal Relevanceが追加されているアップデートがあります。

MMRは、クエリとの類似度を維持しながら検索結果の冗長性を排除するために並べ替える手法で、レコメンドなどにも出てくる手法です。

また、0.6.26で実装済みのOpenAIAgentについて、クラス設計が見直されています。

まとめ

いかがでしたでしょうか。

本記事がLlamaIndexのアップデートが気になる方のご参考になれば幸いです。