我不太熟悉Python,只是在周末学习langchain,但我已经遇到了这个细微差别,这不完全是Python的核心问题,但这是我找到的最合适的渠道。
因此,当遵循协作导入时,会像这样工作得很好
from langchain_community.vectorstores import FAISS
但是 Visual Studio 代码(Pylance lang 服务器)似乎不喜欢那样,它获取 Any 类型。
为了满足它,我必须通过以下方式导入。
from langchain_community.vectorstores.faiss import FAISS
但是前一种方法运行得很好。
我想知道是否有一个设置或我缺少的东西能够以以前的方式进行“相对”导入,这是 langchain 文档中主要使用的样式。
查看源代码,我们可以看到
FAISS
通过覆盖模块对象的langchain_community.vectorstores
动态地可供__getattr__
使用,该模块对象被注释为返回Any
。
所以你别无选择,只能从
langchain_community.vectorstores.faiss
显式导入。