- 大家好,我是同学小张,日常分享AI知识和实战案例
- 欢迎 点赞 + 关注 👏,持续学习,持续干货输出。
- +v: jasper_8017 一起交流💬,一起进步💪。
- 微信公众号也可搜【同学小张】 🙏
本站文章一览:
学习一个开源项目,效率最高的还是实际将项目跑起来,然后断点,跟着一个数据流,逐渐深入。
所以,对于开源项目,进行源码环境的安装就比较重要了。本文我们来用源码安装的方式安装 LangChain。
0. 源码安装 LangChain
前面我们在 【AI大模型应用开发】【LangChain系列】0. LangChain框架介绍,实现LangChain的Hello World 中已经安装过 LangChain 了,但是那是直接安装的Python包,是无法进行断点调试和直接从我们自己的程序中跳转到源码阅读的。
建议先用 pip install langchain 安装一遍langchain包,然后再使用下面的命令单独安装个别模块的源码,这样保证安装的langchain的依赖都是完整的,部分源码,部分python包。
要想从源码安装 LangChain,需要使用 pip install -e .
命令。关于此命令的作用,我之前也写过:【Python笔记】pip intall -e命令:让你的工程直接使用开源包的源码,可断点调试,修改源码!
完整步骤如下:
(1)正常从github上下载源码到本地
git clone https://github.com/langchain-ai/langchain.git
(2)进入 langchain/libs/langchain
目录
(3)执行 pip install -e .
命令
(4)再进入到 langchain/libs/core
目录
(5)执行 pip install -e .
命令
(6)再进入到 langchain/libs/community
目录
(7)执行 pip install -e .
命令
可能遇到的问题:
类似的问题都是缺少对应的包导致的。例如上面缺少 poetry-core>=1.0.0
的包,那就用 pip install poetry-core
安装一下这个包即可。等安装完这个包之后,再重新 pip intall -e .
1. 验证是否源码安装成功
随便新建个python文件,写入以下代码:
from langchain.retrievers.web_research import WebResearchRetriever # 这里主要是为了让它能走到你打断点的地方
然后在 langchain\libs\community\langchain_community\chat_models\openai.py
的以下地方打个断点。
执行Python文件,程序会在断点处停止,表明源码安装成功:
断点处堆栈如下:
<module> (d:\GitHub\langchain\libs\community\langchain_community\chat_models\openai.py:63) <module> (d:\GitHub\langchain\libs\community\langchain_community\chat_models\anyscale.py:15) <module> (d:\GitHub\langchain\libs\community\langchain_community\chat_models\__init__.py:21) <module> (d:\GitHub\langchain\libs\langchain\langchain\chains\router\multi_retrieval_qa.py:6) <module> (d:\GitHub\langchain\libs\langchain\langchain\chains\router\__init__.py:4) <module> (d:\GitHub\langchain\libs\langchain\langchain\chains\__init__.py:76) <module> (d:\GitHub\langchain\libs\langchain\langchain\retrievers\document_compressors\chain_extract.py:13) <module> (d:\GitHub\langchain\libs\langchain\langchain\retrievers\document_compressors\__init__.py:2) <module> (d:\GitHub\langchain\libs\langchain\langchain\retrievers\contextual_compression.py:10) <module> (d:\GitHub\langchain\libs\langchain\langchain\retrievers\__init__.py:25) <module> (d:\GitHub\LEARN_LLM\langchain_example\web_rag copy.py:2)
大功告成。
如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~
- 大家好,我是 同学小张,日常分享AI知识和实战案例
- 欢迎 点赞 + 关注 👏,持续学习,持续干货输出。
- +v: jasper_8017 一起交流💬,一起进步💪。
- 微信公众号也可搜【同学小张】 🙏
本站文章一览: