Commit a6d2bd73 authored by jyong's avatar jyong

dataset optimization

parent 8245cc5f
...@@ -48,11 +48,13 @@ class DatasetListApi(Resource): ...@@ -48,11 +48,13 @@ class DatasetListApi(Resource):
limit = request.args.get('limit', default=20, type=int) limit = request.args.get('limit', default=20, type=int)
ids = request.args.getlist('ids') ids = request.args.getlist('ids')
provider = request.args.get('provider', default="vendor") provider = request.args.get('provider', default="vendor")
search = request.args.get('keyword', default=None, type=str)
if ids: if ids:
datasets, total = DatasetService.get_datasets_by_ids(ids, current_user.current_tenant_id) datasets, total = DatasetService.get_datasets_by_ids(ids, current_user.current_tenant_id)
else: else:
datasets, total = DatasetService.get_datasets(page, limit, provider, datasets, total = DatasetService.get_datasets(page, limit, provider,
current_user.current_tenant_id, current_user) current_user.current_tenant_id, current_user, search)
# check embedding setting # check embedding setting
provider_manager = ProviderManager() provider_manager = ProviderManager()
......
...@@ -26,8 +26,10 @@ class DatasetApi(DatasetApiResource): ...@@ -26,8 +26,10 @@ class DatasetApi(DatasetApiResource):
page = request.args.get('page', default=1, type=int) page = request.args.get('page', default=1, type=int)
limit = request.args.get('limit', default=20, type=int) limit = request.args.get('limit', default=20, type=int)
provider = request.args.get('provider', default="vendor") provider = request.args.get('provider', default="vendor")
search = request.args.get('keyword', default=None, type=str)
datasets, total = DatasetService.get_datasets(page, limit, provider, datasets, total = DatasetService.get_datasets(page, limit, provider,
tenant_id, current_user) tenant_id, current_user, search)
# check embedding setting # check embedding setting
provider_manager = ProviderManager() provider_manager = ProviderManager()
configurations = provider_manager.get_configurations( configurations = provider_manager.get_configurations(
......
...@@ -51,21 +51,23 @@ from tasks.retry_document_indexing_task import retry_document_indexing_task ...@@ -51,21 +51,23 @@ from tasks.retry_document_indexing_task import retry_document_indexing_task
class DatasetService: class DatasetService:
@staticmethod @staticmethod
def get_datasets(page, per_page, provider="vendor", tenant_id=None, user=None): def get_datasets(page, per_page, provider="vendor", tenant_id=None, user=None, search=None):
if user: if user:
permission_filter = db.or_(Dataset.created_by == user.id, permission_filter = db.or_(Dataset.created_by == user.id,
Dataset.permission == 'all_team_members') Dataset.permission == 'all_team_members')
else: else:
permission_filter = Dataset.permission == 'all_team_members' permission_filter = Dataset.permission == 'all_team_members'
datasets = Dataset.query.filter( query = Dataset.query.filter(
db.and_(Dataset.provider == provider, Dataset.tenant_id == tenant_id, permission_filter)) \ db.and_(Dataset.provider == provider, Dataset.tenant_id == tenant_id, permission_filter)) \
.order_by(Dataset.created_at.desc()) \ .order_by(Dataset.created_at.desc())
.paginate( if search:
page=page, query = query.filter(db.and_(Dataset.name.ilike(f'%{search}%')))
per_page=per_page, datasets = query.paginate(
max_per_page=100, page=page,
error_out=False per_page=per_page,
) max_per_page=100,
error_out=False
)
return datasets.items, datasets.total return datasets.items, datasets.total
......
...@@ -85,5 +85,4 @@ def retry_document_indexing_task(dataset_id: str, document_id: str): ...@@ -85,5 +85,4 @@ def retry_document_indexing_task(dataset_id: str, document_id: str):
except Exception as ex: except Exception as ex:
logging.info(click.style(str(ex), fg='yellow')) logging.info(click.style(str(ex), fg='yellow'))
redis_client.delete(retry_indexing_cache_key) redis_client.delete(retry_indexing_cache_key)
pass pass
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment