LlamaIndexのアップデートまとめ:0.6.12(2023/05/28) から 0.6.18(2023/06/03) まで

2023.06.04

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんちには。

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

本記事は「0.6.12(2023/05/28)」から「0.6.18(2023/06/03)」までのLlamaIndexのアップデートまとめです。

ソースコードを見ながらアップデート点をピックアップしています。詳細はコード側も参照してみてください。

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

  • 0.6.14
    • 新しいエンジンとしてChatEngineが追加
  • 0.6.16
    • チャンク処理のパラメータ名が変更され、使用方法に影響があるケースがあるので要注意

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

各アップデート

2023-05-28 LlamaIndex 0.6.12

2023-05-28 LlamaIndex 0.6.13

  • QueryEngineとしてSQLAutoVectorQueryEngineの追加
    • 構造化テーブルから得られる洞察を非構造化データと組み合わせることが可能に
    • まず構造化テーブルにクエリして洞察を得るかどうかを決定し、次にベクトルストアに対応する問い合わせを推論して、対応するドキュメントを取得します
    • 公式ノートブック
  • Graphsignalとのインテグレーション
    • AIエージェントやLLMを搭載したアプリケーションに観測性を提供します

2023-05-30 LlamaIndex 0.6.14

  • ChatEngineという新しいエンジンが追加
    • 種類としてはSimpleChatEngine、ReActChatEngine、CondenseQuestionChatEngineの3種類が追加
    • as_query_engineの代わりにas_chat_engineでインスタンス化し、切り替えはChatModeで実施できる
    • デフォルトはCondenseQuestionChatEngine
    • 公式ノートブック
  • global_service_contextが追加されデフォルトの変更が可能に
  • PromptTypeにCONVERSATION、DECOMPOSE、CHOICE_SELECTが追加

2023-05-31 LlamaIndex 0.6.15

2023-06-01 LlamaIndex 0.6.16

テキストチャンク処理のパラメータ名など、引数の使い方に影響のある名前変更があります。

  • NodeParser側のパラメータ・定数
    • 定数DEFAULT_CHUNK_OVERLAPが200から20に変更
    • 定数DEFAULT_CHUNK_SIZEはそのまま
    • ただしパラメータ名がchunk_size_limitからchunck_sizeに変更
  • PromptHelper側のパラメータ・定数
    • max_chunk_overlapが非推奨となり、代わりにchunk_overlap_ratioの使用が推奨
    • 定数MAX_CHUNK_OVERLAPは削除され、代わりに定数DEFAULT_CHUNK_OVERLAP_RATIO(0.1)が追加
    • 定数MAX_CHUNK_SIZEがDEFAULT_CONTEXT_WINDOWに名前変更
    • 定数NUM_OUTPUTSがDEFAULT_NUM_OUTPUTSに名前変更
    • パラメータもmax_chunk_sizeがcontext_windowに名前変更
  • 各データストアのto_dictメソッドがto_jsonに変更
  • RetryQueryEngineが追加
    • 内部ではFeedbackQueryTransformationを使用され、これも追加
    • Evaluatorの結果を使ってクエリにフィードバックが可能
    • 上記に伴ってEvaluatorをBaseEvaluatorという新しい抽象型で実装されなおしている
    • 公式ドキュメント
  • PromptHelperの修正
    • compact_text_chunksがrepackという名前に変更
    • truncateという複数ノードのテキストをつなげる処理が追加
    • chunk_overlap_ratioが指定できるように
  • Psychicとのインテグレーション
    • Psychicは多くのSaaSアプリのデータを1つのユニバーサルAPIで同期させることができるプラットフォーム

2023-06-01 LlamaIndex 0.6.16.post1

  • SubQuestionQueryEngineのパッチ

2023-06-03 LlamaIndex 0.6.17

  • Node作成について内部的な修正がいくつか実施
    • Nodeの削除系操作について見直し
    • RefDocInfoにAPIがいくつか追加

2023-06-03 LlamaIndex 0.6.18

  • Vector Storeに、MyScaleVectorStoreとSupabaseVectorStoreが追加
  • FunctionToolとしてNotionToolSpecが追加
    • ドキュメントにはまだ出てこないので開発中の機能と考えられる

まとめ

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

冒頭にも書きましたが、0.6.14のChatEngine追加が機能としては注目すべき点で、0.6.16の変更はAPIの使用方法に影響があるケースがあるので注意しておいた方が良さそうです。

これからも定期的にまとめていけたらと思います。