LlamaIndexのアップデートまとめ:0.6.19(2023/06/05) から 0.6.22(2023/06/10) まで

2023.06.11

こんちには。

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

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

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

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

  • 0.6.20
    • GPTというprefixが全体的に削除
  • 0.6.21.post1
    • DocArrayVectorStoreの追加
  • 0.6.22
    • KnowledgeGraphIndexというIndexが追加され、StorageContextにGraphStoreが追加
    • CHANGELOG.mdが記載されるように

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

各アップデート

2023-06-05 LlamaIndex 0.6.19

LangChainへの連携が強化されている印象ですね。

  • ToolsにOnDemandLoaderToolが追加
    • LlamaIndexやLlamaHubのDataLoaderをLangChainのAgent内でのデータクエリツールとして使用可能に
    • 公式ノートブック
  • BaseToolにLangChainへのToolへの変換が実装

2023-06-06 LlamaIndex 0.6.20

インデックス名などの名前からGPTというprefixが削除されている点は注意が必要です。

  • 各インデックスのGPTというprefixが削除
    • 以下のような変更が行われていますので、旧バージョンからの移行の際は注意が必要です
変更前 変更後
GPTKeywordTableIndex KeywordTableIndex
GPTSimpleKeywordTableIndex SimpleKeywordTableIndex
GPTRAKEKeywordTableIndex RAKEKeywordTableIndex
GPTListIndex ListIndex
GPTEmptyIndex EmptyIndex
GPTTreeIndex TreeIndex
GPTVectorStoreIndex VectorStoreIndex
GPTPandasIndex PandasIndex
GPTSQLStructStoreIndex SQLStructStoreIndex
GPTDocumentSummaryIndex DocumentSummaryIndex
  • SimpleNodeParserのデフォルト初期化関数としてfrom_defaultsというclassmethodが追加
  • QueryEngineにJSONQueryEngineが追加
  • ToolSpecにSlackToolSpecが追加

2023-06-07 LlamaIndex 0.6.21

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

  • GitHubのissueテンプレートが追加
  • SimpleDirectoryReaderにfilename_as_id引数が追加

2023-06-07 LlamaIndex 0.6.21.post1

VectoreStoreの追加、CallbackHandlerの追加とpayloadの改版があります。

  • VectorStoreに下記の3つが追加
    • DocArrayVectorStore : 以下2つのVectoreStoreの親クラス
    • DocArrayHnswVectorStore : Hnswlibは近傍探索ライブラリの一つ
    • DocArrayInMemoryVectorStore : インメモリなDocArrayVectorStore
    • TairVectoreStore : Alibaba CloudのTairデータベースの上に構築されるインデックス
  • CallbackHandlerにWandbCallbackHandlerが追加
  • CallbackHandlerのpayloadに何点か追加あり
    • CBEventType.LLMのpayloadに消費したトークン量が追加
    • CBEventType.QUERYのpayloadにquery_strとresponseが追加

2023-06-10 LlamaIndex 0.6.22

大きめの変更がいくつかあり、StorageContextにGraphStoreが追加されるのは影響が大きそうです。(とはいえKnowledgeGraphIndexを使わない場合は未設定となるだけになります)

その他、QueryEngineのいくつかの追加や変更、VectoreStoreの追加があります。

  • IndexにKnowledgeGraphIndexの追加
  • データストアとしてGraphStoreが追加(StorageContextにGraphStoreが追加)
    • KnowledgeGraphIndex追加の影響
    • GraphStoreTypeはSIMPLEとNEBULAの2種類で、それぞれSimpleGraphStoreとNebulaGraphStoreが担う
  • QueryEngineに以下が追加
    • SQLJoinQueryEngine
    • CitationQueryEngine
    • RetryGuidelineQueryEngine
  • SQLAutoVectorQueryEngineの親クラスがBaseQueryEngineからSQLJoinQueryEngineに変更
  • EvaluatorにGuidelineEvaluatorの追加
    • RetryGuidelineQueryEngine追加の影響で、Evaluatorとして使用される
  • VectorStoreにMongoDBVectorStoreが追加
  • CHANGELOG.mdが記載されるように(今後は、本記事のようなまとめも不要になるかもしれません)

まとめ

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

0.6.22からCHANGELOG.mdが記載されるようになりましたので、そちらを公式の記録として追っていくのも良いと思います。

本記事もご参考になれば幸いです。