devve1 commited on
Commit
257b6de
1 Parent(s): 1261a90

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -5
app.py CHANGED
@@ -16,7 +16,7 @@ from statistical_chunker import StatisticalChunker
16
  from optimum_encoder import OptimumEncoder
17
  from scipy.sparse import csr_matrix, save_npz, load_npz, vstack
18
  from langchain_community.document_loaders import WikipediaLoader, WebBaseLoader
19
- from fastembed import SparseEmbedding
20
  from unstructured.partition.auto import partition
21
  import onnxruntime as ort
22
  from pymilvus import (
@@ -44,7 +44,7 @@ def query_hybrid_search(col: Collection, query: str, dense_model: OptimumEncoder
44
  data = query_sparse.values
45
  sparse_matrix = vstack(csr_matrix(data, query_sparse.indices, np.array([0, len(data)]), shape=(1, max_index + 1))).tocsr()
46
 
47
- sparse_req = AnnSearchRequest(query_sparse_embeddings, "sparse_vector", {"metric_type": "IP"}, limit=10)
48
  dense_req = AnnSearchRequest(query_dense_embeddings, "dense_vector", {"metric_type": "COSINE"}, limit=10)
49
 
50
  res = col.hybrid_search([sparse_req, dense_req], rerank=RRFRanker(), limit=3, output_fields=["text"])
@@ -122,7 +122,7 @@ def load_models_and_documents():
122
  cache_dir=os.getenv('HF_HOME')
123
  )
124
 
125
- sparse_model = Bm42(
126
  'Qdrant/all_miniLM_L6_v2_with_attentions',
127
  cache_dir=os.getenv('HF_HOME'),
128
  providers=['CUDAExecutionProvider']
@@ -143,10 +143,15 @@ def load_models_and_documents():
143
  schema = CollectionSchema(fields, "")
144
  col = Collection(collection_name, schema)
145
 
146
- sparse_index = {"index_type": "SPARSE_WAND", "metric_type": "IP"}
147
- dense_index = {"index_type": "FLAT", "metric_type": "COSINE"}
148
  col.create_index("sparse_vector", sparse_index)
149
  col.create_index("dense_vector", dense_index)
 
 
 
 
 
150
 
151
  with st.spinner('Parse and chunk documents...'):
152
  name = 'action_rpg'
 
16
  from optimum_encoder import OptimumEncoder
17
  from scipy.sparse import csr_matrix, save_npz, load_npz, vstack
18
  from langchain_community.document_loaders import WikipediaLoader, WebBaseLoader
19
+ from fastembed import SparseEmbedding, SparseTextEmbedding
20
  from unstructured.partition.auto import partition
21
  import onnxruntime as ort
22
  from pymilvus import (
 
44
  data = query_sparse.values
45
  sparse_matrix = vstack(csr_matrix(data, query_sparse.indices, np.array([0, len(data)]), shape=(1, max_index + 1))).tocsr()
46
 
47
+ sparse_req = AnnSearchRequest(sparse_matrix, "sparse_vector", {"metric_type": "IP"}, limit=10)
48
  dense_req = AnnSearchRequest(query_dense_embeddings, "dense_vector", {"metric_type": "COSINE"}, limit=10)
49
 
50
  res = col.hybrid_search([sparse_req, dense_req], rerank=RRFRanker(), limit=3, output_fields=["text"])
 
122
  cache_dir=os.getenv('HF_HOME')
123
  )
124
 
125
+ sparse_model = SparseTextEmbedding(
126
  'Qdrant/all_miniLM_L6_v2_with_attentions',
127
  cache_dir=os.getenv('HF_HOME'),
128
  providers=['CUDAExecutionProvider']
 
143
  schema = CollectionSchema(fields, "")
144
  col = Collection(collection_name, schema)
145
 
146
+ sparse_index = {"index_type": "SPARSE_INVERTED_INDEX", "metric_type": "IP"}
147
+ dense_index = {"index_type": "HNSW", "metric_type": "COSINE"}
148
  col.create_index("sparse_vector", sparse_index)
149
  col.create_index("dense_vector", dense_index)
150
+
151
+ col.alter_index(
152
+ index_name=("dense_vector"),
153
+ extra_params={"mmap.enabled": True}
154
+ )
155
 
156
  with st.spinner('Parse and chunk documents...'):
157
  name = 'action_rpg'