Parcourir la source

fix metadata filter not affect in keyword-search and fulltext-search (#16644)

tags/1.1.3^0
Jyong il y a 7 mois
Parent
révision
1be0d26c1f
Aucun compte lié à l'adresse e-mail de l'auteur

+ 5
- 1
api/core/rag/datasource/retrieval_service.py Voir le fichier

all_documents=all_documents, all_documents=all_documents,
retrieval_method=retrieval_method, retrieval_method=retrieval_method,
exceptions=exceptions, exceptions=exceptions,
document_ids_filter=document_ids_filter,
) )
) )
concurrent.futures.wait(futures, timeout=30, return_when=concurrent.futures.ALL_COMPLETED) concurrent.futures.wait(futures, timeout=30, return_when=concurrent.futures.ALL_COMPLETED)
all_documents: list, all_documents: list,
retrieval_method: str, retrieval_method: str,
exceptions: list, exceptions: list,
document_ids_filter: Optional[list[str]] = None,
): ):
with flask_app.app_context(): with flask_app.app_context():
try: try:


vector_processor = Vector(dataset=dataset) vector_processor = Vector(dataset=dataset)


documents = vector_processor.search_by_full_text(cls.escape_query_for_search(query), top_k=top_k)
documents = vector_processor.search_by_full_text(
cls.escape_query_for_search(query), top_k=top_k, document_ids_filter=document_ids_filter
)
if documents: if documents:
if ( if (
reranking_model reranking_model

+ 5
- 1
api/core/rag/retrieval/dataset_retrieval.py Voir le fichier

if dataset.indexing_technique == "economy": if dataset.indexing_technique == "economy":
# use keyword table query # use keyword table query
documents = RetrievalService.retrieve( documents = RetrievalService.retrieve(
retrieval_method="keyword_search", dataset_id=dataset.id, query=query, top_k=top_k
retrieval_method="keyword_search",
dataset_id=dataset.id,
query=query,
top_k=top_k,
document_ids_filter=document_ids_filter,
) )
if documents: if documents:
all_documents.extend(documents) all_documents.extend(documents)

Chargement…
Annuler
Enregistrer