hit_testing.py 887 B

1234567891011121314151617181920212223242526272829
  1. from flask_restful import Resource # type: ignore
  2. from controllers.console import api
  3. from controllers.console.datasets.hit_testing_base import DatasetsHitTestingBase
  4. from controllers.console.wraps import (
  5. account_initialization_required,
  6. cloud_edition_billing_rate_limit_check,
  7. setup_required,
  8. )
  9. from libs.login import login_required
  10. class HitTestingApi(Resource, DatasetsHitTestingBase):
  11. @setup_required
  12. @login_required
  13. @account_initialization_required
  14. @cloud_edition_billing_rate_limit_check("knowledge")
  15. def post(self, dataset_id):
  16. dataset_id_str = str(dataset_id)
  17. dataset = self.get_and_validate_dataset(dataset_id_str)
  18. args = self.parse_args()
  19. self.hit_testing_args_check(args)
  20. return self.perform_hit_testing(dataset, args)
  21. api.add_resource(HitTestingApi, "/datasets/<uuid:dataset_id>/hit-testing")