Skip to content

Commit

Permalink
Merge efd7f2a into d23a4d9
Browse files Browse the repository at this point in the history
  • Loading branch information
Sandro-Meireles committed May 7, 2021
2 parents d23a4d9 + efd7f2a commit d6df9b1
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 76 deletions.
137 changes: 64 additions & 73 deletions bothub/common/models.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import json
import uuid
from functools import reduce

Expand Down Expand Up @@ -429,13 +428,17 @@ def validate_if_can_run_automatic_evaluate(self, language: str) -> None:
_("You need to have at least " + "twenty train phrases for each intent")
)

@property
def nlp_base_url(self) -> str:
return self.nlp_server if self.nlp_server else settings.BOTHUB_NLP_BASE_URL

def request_nlp_train(self, user_authorization, data):
try: # pragma: no cover
url = f"{self.nlp_server if self.nlp_server else settings.BOTHUB_NLP_BASE_URL}train/"
data = {"repository_version": data.get("repository_version")}
url = f"{self.nlp_base_url}v2/train/"
payload = {"repository_version": data.get("repository_version")}
headers = {"Authorization": f"Bearer {user_authorization.uuid}"}

r = requests.post(url, data=json.dumps(data), headers=headers)
r = requests.post(url, json=payload, headers=headers)

return r # pragma: no cover

Expand All @@ -447,15 +450,15 @@ def request_nlp_train(self, user_authorization, data):

def request_nlp_analyze(self, user_authorization, data):
try: # pragma: no cover
url = f"{self.nlp_server if self.nlp_server else settings.BOTHUB_NLP_BASE_URL}parse/"
data = {
url = f"{self.nlp_base_url}v2/parse/"
payload = {
"text": data.get("text"),
"language": data.get("language"),
"repository_version": data.get("repository_version"),
"from_backend": True,
}
headers = {"Authorization": f"Bearer {user_authorization.uuid}"}
r = requests.post(url, data=json.dumps(data), headers=headers)
r = requests.post(url, json=payload, headers=headers)

return r # pragma: no cover

Expand All @@ -467,34 +470,24 @@ def request_nlp_analyze(self, user_authorization, data):

def request_nlp_debug_parse(self, user_authorization, data):
try: # pragma: no cover
if data.get("repository_version"):
r = requests.post( # pragma: no cover
"{}debug_parse/".format(
self.nlp_server
if self.nlp_server
else settings.BOTHUB_NLP_BASE_URL
),
data={
"text": data.get("text"),
"language": data.get("language"),
"repository_version": data.get("repository_version"),
},
headers={
"Authorization": "Bearer {}".format(user_authorization.uuid)
},
)
else:
r = requests.post( # pragma: no cover
"{}debug_parse/".format(
self.nlp_server
if self.nlp_server
else settings.BOTHUB_NLP_BASE_URL
),
data={"text": data.get("text"), "language": data.get("language")},
headers={
"Authorization": "Bearer {}".format(user_authorization.uuid)
},
)
payload = {
"text": data.get("text"),
"language": data.get("language"),
}

repository_version = data.get("repository_version")

if repository_version:
payload["repository_version"] = repository_version

r = requests.post( # pragma: no cover
"{}v2/debug_parse/".format(self.nlp_base_url),
json=payload,
headers={
"Authorization": "Bearer {}".format(user_authorization.uuid)
}
)

return r # pragma: no cover
except requests.exceptions.ConnectionError: # pragma: no cover
raise APIException( # pragma: no cover
Expand All @@ -504,34 +497,24 @@ def request_nlp_debug_parse(self, user_authorization, data):

def request_nlp_words_distribution(self, user_authorization, data):
try: # pragma: no cover
if data.get("repository_version"):
r = requests.post( # pragma: no cover
"{}words_distribution/".format(
self.nlp_server
if self.nlp_server
else settings.BOTHUB_NLP_BASE_URL
),
data={
"language": data.get("language"),
"repository_version": data.get("repository_version"),
},
headers={
"Authorization": "Bearer {}".format(user_authorization.uuid)
},
)
else:
r = requests.post( # pragma: no cover
"{}words_distribution/".format(
self.nlp_server
if self.nlp_server
else settings.BOTHUB_NLP_BASE_URL
),
data={"language": data.get("language")},
headers={
"Authorization": "Bearer {}".format(user_authorization.uuid)
},
)
payload = {
"language": data.get("language"),
}

repository_version = data.get("repository_version")

if repository_version:
payload["repository_version"] = repository_version

r = requests.post( # pragma: no cover
"{}v2/words_distribution/".format(self.nlp_base_url),
json=payload,
headers={
"Authorization": "Bearer {}".format(user_authorization.uuid)
},
)
return r # pragma: no cover

except requests.exceptions.ConnectionError: # pragma: no cover
raise APIException( # pragma: no cover
{"status_code": status.HTTP_503_SERVICE_UNAVAILABLE},
Expand All @@ -542,14 +525,18 @@ def request_nlp_manual_evaluate(self, user_authorization, data):
self.validate_if_can_run_manual_evaluate(language=data.get("language"))

try: # pragma: no cover
url = f"{self.nlp_server if self.nlp_server else settings.BOTHUB_NLP_BASE_URL}evaluate/"
data = {
payload = {
"language": data.get("language"),
"repository_version": data.get("repository_version"),
"cross_validation": False,
}
headers = {"Authorization": f"Bearer {user_authorization.uuid}"}
r = requests.post(url, data=json.dumps(data), headers=headers)
r = requests.post(
"{}v2/evaluate/".format(self.nlp_base_url),
json=payload,
headers={
"Authorization": f"Bearer {user_authorization.uuid}"
},
)

return r # pragma: no cover
except requests.exceptions.ConnectionError: # pragma: no cover
Expand All @@ -562,14 +549,18 @@ def request_nlp_automatic_evaluate(self, user_authorization, data):
self.validate_if_can_run_automatic_evaluate(language=data.get("language"))

try: # pragma: no cover
url = f"{self.nlp_server if self.nlp_server else settings.BOTHUB_NLP_BASE_URL}evaluate/"
data = {
payload = {
"language": data.get("language"),
"repository_version": data.get("repository_version"),
"cross_validation": True,
}
headers = {"Authorization": f"Bearer {user_authorization.uuid}"}
r = requests.post(url, data=json.dumps(data), headers=headers)
r = requests.post(
"{}v2/evaluate/".format(self.nlp_base_url),
json=payload,
headers={
"Authorization": f"Bearer {user_authorization.uuid}"
},
)

return r # pragma: no cover
except requests.exceptions.ConnectionError: # pragma: no cover
Expand All @@ -580,14 +571,14 @@ def request_nlp_automatic_evaluate(self, user_authorization, data):

def request_nlp_qa(self, user_authorization, data):
try: # pragma: no cover
url = f"{self.nlp_server if self.nlp_server else settings.BOTHUB_NLP_BASE_URL}question-answering/"
data = {
url = f"{self.nlp_base_url}v2/question-answering/"
payload = {
"knowledge_base_id": data.get("knowledge_base_id"),
"question": data.get("question"),
"language": data.get("language"),
}
headers = {"Authorization": f"Bearer {user_authorization.uuid}"}
r = requests.post(url, data=json.dumps(data), headers=headers)
r = requests.post(url, json=payload, headers=headers)

return r # pragma: no cover
except requests.exceptions.ConnectionError: # pragma: no cover
Expand Down
6 changes: 3 additions & 3 deletions bothub/common/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ def test_request_nlp_manual_evaluate(self, request_mock):
)

url = f"{self.repository.nlp_server if self.repository.nlp_server else settings.BOTHUB_NLP_BASE_URL}"
url = f"{url}evaluate/"
url = f"{url}v2/evaluate/"
json = {
"language": languages.LANGUAGE_EN,
"status": RepositoryQueueTask.STATUS_PROCESSING,
Expand Down Expand Up @@ -458,7 +458,7 @@ def test_request_nlp_automatic_evaluate(self, request_mock):
intent=self.example_intent_1,
)
url = f"{self.repository.nlp_server if self.repository.nlp_server else settings.BOTHUB_NLP_BASE_URL}"
url = f"{url}evaluate/"
url = f"{url}v2/evaluate/"
json = {
"language": languages.LANGUAGE_EN,
"status": RepositoryQueueTask.STATUS_PROCESSING,
Expand Down Expand Up @@ -489,7 +489,7 @@ def test_request_nlp_qa(self, request_mock):
language=languages.LANGUAGE_PT_BR,
)
url = f"{self.repository.nlp_server if self.repository.nlp_server else settings.BOTHUB_NLP_BASE_URL}"
url = f"{url}question-answering/"
url = f"{url}v2/question-answering/"
json = {
"answers": [
{"text": "teste 1", "confidence": "0.8423367973327138"},
Expand Down

0 comments on commit d6df9b1

Please sign in to comment.