👍

Winでrag_using_chromadb.pyが謎の終了をするとき

2025/02/26に公開

終わってみれば、簡単で、collection_metadata={"hnsw:batch_size": 100000}を追加すればいいだけだった。(あとchrome_dbフォルダは消しといて)

vector_store = Chroma.from_documents(
    docs_processed,
    embeddings,
    persist_directory="./chroma_db",
    collection_metadata={"hnsw:batch_size": 100000},
)

おそらく、このバージョンでしか発生しないバグだと思う。特にChromaのverがあがれば逆にエラーになるかも

smolagents                               1.9.2
chromadb                                 0.6.3
langchain                                0.3.19
langchain-chroma                         0.2.2
langchain-community                      0.3.18
langchain-core                           0.3.37
langchain-huggingface                    0.1.2
langchain-text-splitters                 0.3.6
langcodes                                3.3.0

Windows-10-10.0.19045-SP0/Python 3.10.11

これはWindowsでHuggingfaceのSmalagents 1.9.2のragのExamplesを動かした時に起こる不具合

そのままだと、何故か謎の終了をします。

  • どうも"hnsw:batch_size"のデフォルトは100?ぽい
  • 最大embedding由来の本来のbatch_sizeの最大は5461?
  • 推測だが、追加したら、ファイルの数を0に戻してないのでは?そのため、ファイルをbatch_size以上追加すると落ちる。
  • 前半のchunk_sizeを200から2000とかにしたら、5000ファイル以内に収まる
  • なお、今のところ追加がうまくいかない。試みるとquitする。
  • chroma_dbフォルダーは消すこと

まとめ

AI-AgentsでRagしたい時に使えるExampleなのに、動かなかったのは悲しかったの、修正を試みました。langchainやchromadbには手を出す予定はありませんでしたが、いろいろ調べることになりました。苦労しましたが、動くようになってよかったです。
ただpythonのバージョン違うと、動作結果はわかりません。

Discussion