langchain-ai / langchain

🦜🔗 Build context-aware reasoning applications
https://python.langchain.com
MIT License
94k stars 15.15k forks source link

make integration_tests fails currently #104

Closed delip closed 1 year ago

delip commented 1 year ago
pytest tests/integration_tests
============================= test session starts ==============================
platform darwin -- Python 3.9.12, pytest-7.1.1, pluggy-1.0.0
rootdir: /Users/delip/workspace/langchain
plugins: anyio-3.5.0, dotenv-0.5.2
collected 14 items / 1 error

==================================== ERRORS ====================================
____________ ERROR collecting tests/integration_tests/test_faiss.py ____________
ImportError while importing test module '/Users/delip/workspace/langchain/tests/integration_tests/test_faiss.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
../../opt/anaconda3/lib/python3.9/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
tests/integration_tests/test_faiss.py:9: in <module>
    from langchain.faiss import FAISS
E   ModuleNotFoundError: No module named 'langchain.faiss'
delip commented 1 year ago

The fix for this is trivial. It involves changing this import line to this:

from langchain.vectorstores.faiss import FAISS

However, doing this surfaces another test failure:


tests/integration_tests/test_faiss.py ..                                 [ 12%]
tests/integration_tests/chains/test_react.py F                           [ 18%]
tests/integration_tests/chains/test_self_ask_with_search.py F            [ 25%]
tests/integration_tests/chains/test_serpapi.py F                         [ 31%]
tests/integration_tests/chains/test_sql_database.py F                    [ 37%]
tests/integration_tests/embeddings/test_huggingface.py Fatal Python error: Aborted

Current thread 0x00000002031512c0 (most recent call first):
  File "<frozen importlib._bootstrap>", line 228 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 1173 in create_module
  File "<frozen importlib._bootstrap>", line 565 in module_from_spec
....
  File "/Users/delip/opt/anaconda3/bin/pytest", line 11 in <module>
make: *** [integration_tests] Abort trap: 6

I was able to reproduce this behavior in iPython. As of now, I cannot instantiate HuggingFaceEmbeddings object, and I don't yet know why.

Python 3.9.12 (main, Apr  5 2022, 01:53:17)
Type 'copyright', 'credits' or 'license' for more information
IPython 8.2.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from langchain.embeddings.huggingface import HuggingFaceEmbeddings

In [2]: embedding = HuggingFaceEmbeddings()
Downloading: 100%|██████████████████████████| 1.18k/1.18k [00:00<00:00, 436kB/s]
Downloading: 100%|██████████████████████████████| 190/190 [00:00<00:00, 299kB/s]
Downloading: 100%|█████████████████████████| 10.6k/10.6k [00:00<00:00, 4.76MB/s]
Downloading: 100%|██████████████████████████████| 571/571 [00:00<00:00, 199kB/s]
Downloading: 100%|█████████████████████████████| 116/116 [00:00<00:00, 42.8kB/s]
Downloading: 100%|█████████████████████████| 39.3k/39.3k [00:00<00:00, 2.52MB/s]
Downloading: 100%|███████████████████████████| 438M/438M [00:05<00:00, 82.1MB/s]
Downloading: 100%|███████████████████████████| 53.0/53.0 [00:00<00:00, 64.9kB/s]
Downloading: 100%|██████████████████████████████| 239/239 [00:00<00:00, 118kB/s]
Downloading: 100%|███████████████████████████| 466k/466k [00:00<00:00, 6.64MB/s]
Downloading: 100%|██████████████████████████████| 363/363 [00:00<00:00, 133kB/s]
Downloading: 100%|█████████████████████████| 13.1k/13.1k [00:00<00:00, 4.14MB/s]
Downloading: 100%|███████████████████████████| 232k/232k [00:00<00:00, 3.46MB/s]
Downloading: 100%|██████████████████████████████| 349/349 [00:00<00:00, 171kB/s]
[1]    76242 segmentation fault  ipython
/Users/delip/opt/anaconda3/lib/python3.9/multiprocessing/resource_tracker.py:216: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
  warnings.warn('resource_tracker: There appear to be %d '
delip commented 1 year ago

output from pip list

Package                       Version
----------------------------- --------------------
aiohttp                       3.8.1
aiosignal                     1.2.0
alabaster                     0.7.12
anaconda-client               1.9.0
anaconda-navigator            2.1.4
anaconda-project              0.10.2
anyio                         3.5.0
appdirs                       1.4.4
applaunchservices             0.2.1
appnope                       0.1.2
appscript                     1.1.2
argon2-cffi                   21.3.0
argon2-cffi-bindings          21.2.0
arrow                         1.2.2
astroid                       2.6.6
astropy                       5.0.4
asttokens                     2.0.5
async-timeout                 4.0.1
atomicwrites                  1.4.0
attrs                         21.4.0
Automat                       20.2.0
autopep8                      1.6.0
Babel                         2.9.1
backcall                      0.2.0
backports.functools-lru-cache 1.6.4
backports.tempfile            1.0
backports.weakref             1.0.post1
bcrypt                        3.2.0
beautifulsoup4                4.11.1
binaryornot                   0.4.4
bitarray                      2.4.1
bkcharts                      0.2
black                         19.10b0
bleach                        4.1.0
blis                          0.7.9
bokeh                         2.4.2
boto3                         1.21.32
botocore                      1.24.32
Bottleneck                    1.3.4
brotlipy                      0.7.0
cachetools                    4.2.2
catalogue                     2.0.8
certifi                       2021.10.8
cffi                          1.15.0
chardet                       4.0.0
charset-normalizer            2.0.4
click                         8.0.4
cloudpickle                   2.0.0
clyent                        1.2.2
cohere                        2.8.0
colorama                      0.4.4
colorcet                      2.0.6
conda                         4.12.0
conda-build                   3.21.8
conda-content-trust           0+unknown
conda-pack                    0.6.0
conda-package-handling        1.8.1
conda-repo-cli                1.0.4
conda-token                   0.3.0
conda-verify                  3.4.2
confection                    0.0.3
constantly                    15.1.0
cookiecutter                  1.7.3
cryptography                  3.4.8
cssselect                     1.1.0
cycler                        0.11.0
cymem                         2.0.7
Cython                        0.29.28
cytoolz                       0.11.0
daal4py                       2021.5.0
dask                          2022.2.1
datashader                    0.13.0
datashape                     0.5.4
debugpy                       1.5.1
decorator                     5.1.1
defusedxml                    0.7.1
diff-match-patch              20200713
distributed                   2022.2.1
docopt                        0.6.2
docutils                      0.17.1
elastic-transport             8.4.0
elasticsearch                 8.5.0
emoji                         2.2.0
emot                          3.1
en-core-web-sm                3.4.1
entrypoints                   0.4
et-xmlfile                    1.1.0
executing                     0.8.3
faiss-cpu                     1.7.2
fastjsonschema                2.15.1
filelock                      3.6.0
flake8                        3.9.2
flake8-docstrings             1.6.0
Flask                         1.1.2
fonttools                     4.25.0
frozenlist                    1.2.0
fsspec                        2022.2.0
future                        0.18.2
gensim                        4.1.2
glob2                         0.7
gmpy2                         2.1.2
google-api-core               1.25.1
google-auth                   1.33.0
google-cloud-core             1.7.1
google-cloud-storage          1.31.0
google-crc32c                 1.1.2
google-resumable-media        1.3.1
google-search-results         2.4.1
googleapis-common-protos      1.53.0
greenlet                      1.1.3
grpcio                        1.42.0
h5py                          3.6.0
HeapDict                      1.0.1
holoviews                     1.14.8
huggingface-hub               0.10.1
hvplot                        0.7.3
hyperlink                     21.0.0
idna                          3.3
imagecodecs                   2021.8.26
imageio                       2.9.0
imagesize                     1.3.0
importlib-metadata            4.11.3
incremental                   21.3.0
inflection                    0.5.1
iniconfig                     1.1.1
intake                        0.6.5
intervaltree                  3.1.0
ipykernel                     6.9.1
ipython                       8.2.0
ipython-genutils              0.2.0
ipywidgets                    7.6.5
isort                         5.9.3
itemadapter                   0.3.0
itemloaders                   1.0.4
itsdangerous                  2.0.1
jdcal                         1.4.1
jedi                          0.18.1
Jinja2                        2.11.3
jinja2-time                   0.2.0
jmespath                      0.10.0
joblib                        1.1.0
json5                         0.9.6
jsonlines                     3.1.0
jsonschema                    4.4.0
jupyter                       1.0.0
jupyter-client                6.1.12
jupyter-console               6.4.0
jupyter-core                  4.9.2
jupyter-server                1.13.5
jupyterlab                    3.3.2
jupyterlab-pygments           0.1.2
jupyterlab-server             2.10.3
jupyterlab-widgets            1.0.0
keyring                       23.4.0
kiwisolver                    1.3.2
langchain                     0.0.10
langcodes                     3.3.0
lazy-object-proxy             1.6.0
libarchive-c                  2.9
llvmlite                      0.38.0
locket                        0.2.1
lxml                          4.8.0
Markdown                      3.3.4
MarkupSafe                    2.0.1
matplotlib                    3.5.1
matplotlib-inline             0.1.2
mccabe                        0.6.1
mistune                       0.8.4
mkl-fft                       1.3.1
mkl-random                    1.2.2
mkl-service                   2.4.0
mock                          4.0.3
mpmath                        1.2.1
msgpack                       1.0.2
multidict                     5.2.0
multipledispatch              0.6.0
munkres                       1.1.4
murmurhash                    1.0.9
mypy                          0.990
mypy-extensions               0.4.3
navigator-updater             0.2.1
nbclassic                     0.3.5
nbclient                      0.5.13
nbconvert                     6.4.4
nbformat                      5.3.0
nest-asyncio                  1.5.5
networkx                      2.7.1
nlpcloud                      1.0.34
nltk                          3.7
nose                          1.3.7
notebook                      6.4.8
numba                         0.55.1
numexpr                       2.8.1
numpy                         1.21.5
numpydoc                      1.2
olefile                       0.46
openai                        0.23.1
openpyxl                      3.0.9
orjson                        3.8.0
packaging                     21.3
pandas                        1.4.2
pandas-stubs                  1.5.0.221012
pandocfilters                 1.5.0
panel                         0.13.0
param                         1.12.0
parsel                        1.6.0
parso                         0.8.3
partd                         1.2.0
pathspec                      0.7.0
pathy                         0.6.2
patsy                         0.5.2
pep8                          1.7.1
pexpect                       4.8.0
pickleshare                   0.7.5
Pillow                        9.0.1
pip                           21.2.4
pipreqs                       0.4.11
pkginfo                       1.8.2
playwright                    1.27.1
plotly                        5.6.0
pluggy                        1.0.0
poyo                          0.5.0
preshed                       3.0.8
prometheus-client             0.13.1
prompt-toolkit                3.0.20
Protego                       0.1.16
protobuf                      3.19.1
psutil                        5.8.0
ptyprocess                    0.7.0
pure-eval                     0.2.2
py                            1.11.0
pyasn1                        0.4.8
pyasn1-modules                0.2.8
pycodestyle                   2.7.0
pycosat                       0.6.3
pycparser                     2.21
pyct                          0.4.6
pycurl                        7.44.1
pydantic                      1.10.2
PyDispatcher                  2.0.5
pydocstyle                    6.1.1
pyee                          8.1.0
pyerfa                        2.0.0
pyflakes                      2.3.1
Pygments                      2.11.2
PyHamcrest                    2.0.2
PyJWT                         2.1.0
pylint                        2.9.6
pyls-spyder                   0.4.0
pyodbc                        4.0.32
pyOpenSSL                     21.0.0
pyparsing                     3.0.4
pyrsistent                    0.18.0
PySocks                       1.7.1
pytest                        7.1.1
pytest-dotenv                 0.5.2
python-dateutil               2.8.2
python-dotenv                 0.21.0
python-lsp-black              1.0.0
python-lsp-jsonrpc            1.0.0
python-lsp-server             1.2.4
python-slugify                5.0.2
python-snappy                 0.6.0
pytz                          2021.3
pyviz-comms                   2.0.2
PyWavelets                    1.3.0
PyYAML                        6.0
pyzmq                         22.3.0
QDarkStyle                    3.0.2
qstylizer                     0.1.10
QtAwesome                     1.0.3
qtconsole                     5.3.0
QtPy                          2.0.1
queuelib                      1.5.0
regex                         2022.3.15
requests                      2.27.1
requests-file                 1.5.1
rope                          0.22.0
rsa                           4.7.2
Rtree                         0.9.7
ruamel-yaml-conda             0.15.100
s3transfer                    0.5.0
scikit-image                  0.19.2
scikit-learn                  1.0.2
scikit-learn-intelex          2021.20220215.132722
scipy                         1.7.3
Scrapy                        2.6.1
seaborn                       0.11.2
Send2Trash                    1.8.0
sentence-transformers         2.2.2
sentencepiece                 0.1.97
service-identity              18.1.0
setuptools                    61.2.0
sip                           4.19.13
six                           1.16.0
smart-open                    5.2.1
sniffio                       1.2.0
snowballstemmer               2.2.0
sortedcollections             2.1.0
sortedcontainers              2.4.0
soupsieve                     2.3.1
spacy                         3.4.2
spacy-legacy                  3.0.10
spacy-loggers                 1.0.3
Sphinx                        4.4.0
sphinxcontrib-applehelp       1.0.2
sphinxcontrib-devhelp         1.0.2
sphinxcontrib-htmlhelp        2.0.0
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          1.0.3
sphinxcontrib-serializinghtml 1.1.5
spyder                        5.1.5
spyder-kernels                2.1.3
SQLAlchemy                    1.4.32
srsly                         2.4.5
stack-data                    0.2.0
statsmodels                   0.13.2
sympy                         1.10.1
tables                        3.6.1
tabulate                      0.8.9
TBB                           0.2
tblib                         1.7.0
tenacity                      8.0.1
terminado                     0.13.1
testpath                      0.5.0
text-unidecode                1.3
textdistance                  4.2.1
thinc                         8.1.5
threadpoolctl                 2.2.0
three-merge                   0.1.1
tifffile                      2021.7.2
tinycss                       0.4
tldextract                    3.2.0
tokenizers                    0.13.2
toml                          0.10.2
tomli                         1.2.2
toolz                         0.11.2
torch                         1.13.0
torchvision                   0.14.0
tornado                       6.1
tqdm                          4.64.0
traitlets                     5.1.1
transformers                  4.24.0
Twisted                       22.2.0
typed-ast                     1.4.3
typer                         0.4.2
types-pytz                    2022.5.0.0
typing_extensions             4.1.1
ujson                         5.1.0
Unidecode                     1.2.0
urllib3                       1.26.9
w3lib                         1.21.0
wasabi                        0.10.1
watchdog                      2.1.6
wcwidth                       0.2.5
webencodings                  0.5.1
websocket-client              0.58.0
Werkzeug                      2.0.3
wheel                         0.37.1
widgetsnbextension            3.5.2
wikipedia                     1.4.0
wrapt                         1.12.1
wurlitzer                     3.0.2
xarray                        0.20.1
xlrd                          2.0.1
XlsxWriter                    3.0.3
xlwings                       0.24.9
yapf                          0.31.0
yarg                          0.1.9
yarl                          1.6.3
zict                          2.0.0
zipp                          3.7.0
zope.interface                5.4.0
hwchase17 commented 1 year ago

not 100% sure why this segfaults for you... works for me locally. gonna close this issue (since landed your pr) but open a different one to look into the segfault and fix the skip