colonelwatch commited on
Commit
67dc9b0
·
1 Parent(s): 95aa608

Use faiss.IO_FLAG_ONDISK_SAME_DIR

Browse files
Files changed (1) hide show
  1. app.py +6 -2
app.py CHANGED
@@ -10,6 +10,7 @@ from sys import stderr
10
  from typing import TypedDict, Self, Any, Callable
11
 
12
  from datasets import Dataset
 
13
  import faiss
14
  import gradio as gr
15
  import requests
@@ -127,9 +128,12 @@ def get_model(
127
 
128
 
129
  def get_index(dir: Path, search_time_s: float) -> Dataset:
 
130
  index: Dataset = Dataset.from_parquet(str(dir / "ids.parquet")) # type: ignore
131
- index.load_faiss_index("embedding", dir / "index.faiss", None)
132
- faiss_index: faiss.Index = index.get_index("embedding").faiss_index # type: ignore
 
 
133
 
134
  with open(dir / "params.json", "r") as f:
135
  params: Params = json.load(f)
 
10
  from typing import TypedDict, Self, Any, Callable
11
 
12
  from datasets import Dataset
13
+ from datasets.search import FaissIndex
14
  import faiss
15
  import gradio as gr
16
  import requests
 
128
 
129
 
130
  def get_index(dir: Path, search_time_s: float) -> Dataset:
131
+ # NOTE: a private attr is used to get the faiss.IO_FLAG_ONDISK_SAME_DIR flag!
132
  index: Dataset = Dataset.from_parquet(str(dir / "ids.parquet")) # type: ignore
133
+ faiss_index: faiss.Index = faiss.read_index(
134
+ str(dir / "index.faiss"), faiss.IO_FLAG_ONDISK_SAME_DIR
135
+ )
136
+ index._indexes["embedding"] = FaissIndex(None, None, None, faiss_index)
137
 
138
  with open(dir / "params.json", "r") as f:
139
  params: Params = json.load(f)