Skip to content

Commit

Permalink
add route to return some infos to nlp to run automatic evaluate
Browse files Browse the repository at this point in the history
  • Loading branch information
mldzs committed Mar 26, 2021
1 parent 89a4e4f commit 18086ae
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 1 deletion.
50 changes: 50 additions & 0 deletions bothub/api/v2/nlp/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,56 @@ def evaluate_results_score(self, request, **kwargs):
return Response({})


class RepositoryAuthorizationAutomaticEvaluateViewSet(mixins.RetrieveModelMixin, GenericViewSet):
queryset = RepositoryAuthorization.objects
serializer_class = NLPSerializer
permission_classes = [AllowAny]
authentication_classes = [NLPAuthentication]

def retrieve(self, request, *args, **kwargs):
check_auth(request)
repository_authorization = self.get_object()

if not repository_authorization.can_contribute:
raise PermissionDenied()

language = request.query_params.get("language")
repository_version = request.query_params.get("repository_version")

repository = repository_authorization.repository

if repository_version:
repository_version_language = repository.get_specific_version_id(
repository_version=repository_version,
language=language
)
else:
repository_version_language = repository.get_specific_version_language(
language=language
)

try:
repository.validate_if_can_run_automatic_evaluate(
language=language
)
can_run_automatic_evaluate = True
except ValidationError:
can_run_automatic_evaluate = False

return Response(
{
"language": repository.language,
"repository_version_language_id": repository_version_language.pk,
"user_id": repository_authorization.user.pk,
"algorithm": repository.algorithm,
"use_name_entities": repository.use_name_entities,
"use_competing_intents": repository.use_competing_intents,
"use_analyze_char": repository.use_analyze_char,
"can_run_automatic_evaluate": can_run_automatic_evaluate
}
)


class NLPLangsViewSet(mixins.ListModelMixin, GenericViewSet):
queryset = RepositoryAuthorization.objects
serializer_class = NLPSerializer
Expand Down
5 changes: 4 additions & 1 deletion bothub/api/v2/routers.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
RepositoryAuthorizationTrainViewSet,
RepositoryNLPLogsViewSet,
RepositoryAuthorizationKnowledgeBaseViewSet,
RepositoryAuthorizationExamplesViewSet,
RepositoryAuthorizationExamplesViewSet, RepositoryAuthorizationAutomaticEvaluateViewSet,
)
from .nlp.views import RepositoryAuthorizationParseViewSet
from .nlp.views import RepositoryAuthorizationInfoViewSet
Expand Down Expand Up @@ -196,6 +196,9 @@ def get_lookup_regex(self, viewset, lookup_prefix=""):
router.register(
"repository/nlp/authorization/evaluate", RepositoryAuthorizationEvaluateViewSet
)
router.register(
"repository/nlp/authorization/automatic-evaluate", RepositoryAuthorizationAutomaticEvaluateViewSet
)
router.register("repository/nlp/authorization/langs", NLPLangsViewSet)
router.register(
"repository/nlp/update_interpreters", RepositoryUpdateInterpretersViewSet
Expand Down

0 comments on commit 18086ae

Please sign in to comment.