「LangChain と LangGraph による RAG・AI エージェント[実践]入門」の GitHub リポジトリです。
https://www.amazon.co.jp/dp/4297145308
本書のソースコードは以下の環境・バージョンで動作確認しました。
- Google Colab
- Python 3.10.12
Python パッケージの動作確認済みバージョンは、各章のディレクトリの requirements.txt を参照してください。
- httpx
- openai パッケージが依存する httpx のアップデートにより、
openai==1.40.6
を使用する箇所でTypeError: Client.__init__() got an unexpected keyword argument 'proxies'
というエラーが発生するようになりました。 - このエラーは、
!pip install httpx==0.27.2
のように、httpx の特定バージョンをインストールすることで回避できます。
- openai パッケージが依存する httpx のアップデートにより、
- pydantic
- pydantic のアップデートにより、明示的に pydantic のバージョンを指定していない箇所で ChatOpenAI などを使用すると、
PydanticUserError: 'ChatOpenAI' is not fully defined; you should define 'BaseCache', then call 'ChatOpenAI.model_rebuild()'.
というエラーが発生するようになりました。 - このエラーは、
!pip install pydantic==2.10.6
のように、pydantic の特定バージョンをインストールすることで回避できます。
- pydantic のアップデートにより、明示的に pydantic のバージョンを指定していない箇所で ChatOpenAI などを使用すると、
- numpy
- Google Colab にデフォルトでインストールされている numpy のバージョンが更新されたことにより、6 章の「Cohere のリランクモデルの導入」箇所などで
ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
というエラーが発生するようになりました。 - このエラーは、
!pip install numpy==1.26.4
のように、numpy の特定バージョンをインストールして、Google Colab の「ランタイム」から「セッションを再起動する」を実行することで回避できます。
- Google Colab にデフォルトでインストールされている numpy のバージョンが更新されたことにより、6 章の「Cohere のリランクモデルの導入」箇所などで
Warning
Google Colab で一度上記のエラーに遭遇したあとで !pip install httpx==0.27.2
のようにパッケージをインストールし直した場合、以下のどちらかの操作を実施する必要があります。
- Google Colab の「ランタイム」から「セッションを再起動する」を実行する
- 「ランタイムを接続解除して削除」を実行してパッケージのインストールからやり直す
「7.4 Ragas による合成テストデータの生成」において、gpt-4o を使用すると OpenAI API の Usage tier 次第で RateLimitError が発生することが報告されています。
OpenAI API の Usage tier については公式ドキュメントの以下のページを参照してください。
https://platform.openai.com/docs/guides/rate-limits/usage-tiers
このエラーが発生した場合は、以下のどちらかの対応を実施してください。
- 同じ Tier でも gpt-4o よりレートリミットの高い gpt-4o-mini を使用する
- この場合、生成される合成テストデータの品質は低くなることが想定されます
- 課金などにより Tier を上げる
- Tier 2 で RateLimitError が発生しないことを確認済みです (2024 年 10 月 31 日時点)
LangChain のドキュメントの増加により、gpt-4o-mini を使用しても Tier 1 ではエラーが発生することが報告されています。
その場合、GitHub からドキュメントをロードする箇所で、以下のように langchain==0.2.13
という動作確認済みのバージョンを指定するようにしてください。
loader = GitLoader(
clone_url="https://github.com/langchain-ai/langchain",
repo_path="./langchain",
branch="langchain==0.2.13",
file_filter=file_filter,
)
書籍の誤り(誤字など)や、発生したエラーについては、GitHub の Issue からご連絡ください。