|
@@ -68,6 +68,7 @@ def similarity_search_with_score_by_vector(
|
|
|
scores, indices = self.index.search(np.array([embedding], dtype=np.float32), k)
|
|
|
docs = []
|
|
|
id_set = set()
|
|
|
+ store_len = len(self.index_to_docstore_id)
|
|
|
for j, i in enumerate(indices[0]):
|
|
|
if i == -1:
|
|
|
# This happens when not enough docs are returned.
|
|
@@ -76,7 +77,7 @@ def similarity_search_with_score_by_vector(
|
|
|
doc = self.docstore.search(_id)
|
|
|
id_set.add(i)
|
|
|
docs_len = len(doc.page_content)
|
|
|
- for k in range(1, max(i, len(docs) - i)):
|
|
|
+ for k in range(1, max(i, store_len-i)):
|
|
|
break_flag = False
|
|
|
for l in [i + k, i - k]:
|
|
|
if 0 <= l < len(self.index_to_docstore_id):
|