From 12c4dd7b4b54a6ecd9a3d0f024ca87f94c8987e9 Mon Sep 17 00:00:00 2001 From: Lalit Pagaria Date: Tue, 13 Oct 2020 17:12:24 +0200 Subject: [PATCH] Adjust requirements for Windows (#480) --- haystack/document_store/faiss.py | 9 +++++++-- requirements.txt | 5 ++--- 2 files changed, 9 insertions(+), 5 deletions(-) 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