diff --git a/haystack/document_store/faiss.py b/haystack/document_store/faiss.py index 50ad20e4a..b4f222a63 100644 --- a/haystack/document_store/faiss.py +++ b/haystack/document_store/faiss.py @@ -1,17 +1,22 @@ import logging +from sys import platform from pathlib import Path from typing import Union, List, Optional, Dict from tqdm import tqdm -import faiss import numpy as np -import random from haystack import Document from haystack.document_store.sql import SQLDocumentStore from haystack.retriever.base import BaseRetriever +if platform != 'win32' and platform != 'cygwin': + import faiss +else: + raise ModuleNotFoundError("FAISSDocumentStore on windows platform is not supported") + logger = logging.getLogger(__name__) + class FAISSDocumentStore(SQLDocumentStore): """ Document store for very large scale embedding based dense retrievers like the DPR. diff --git a/requirements.txt b/requirements.txt index 7e06d27b2..a5dc6c15b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,6 @@ fastapi uvicorn gunicorn pandas -psycopg2-binary sklearn elasticsearch elastic-apm @@ -16,7 +15,7 @@ python-multipart python-docx sqlalchemy_utils # for using FAISS with GPUs, install faiss-gpu -faiss-cpu +faiss-cpu; sys_platform != 'win32' and sys_platform != 'cygwin' tika -uvloop +uvloop; sys_platform != 'win32' and sys_platform != 'cygwin' httptools