새로운 프로젝트 johna-sick
개발간 딥러닝 모델을 API를 통해서 결과를 얻을려고 했는데,,,
flask
를 통해서 BackEnd
를 구성하고, GET
을 통해서 json
데이터를 얻을려고 했다.
@api.route('/predict/<string:comment>')
class Predict(Resource):
def get(slef, comment):
return {"predict" : ModelToSentence(comment).sentiment_predict()}
if __name__ == "__main__":
app.run(debug=True, host="127.0.0.1", port=5000)
매우 간단한 코드! ModelToSentece
는 과거의 나를 아주 칭찬하고 싶은 class
이다. 머신러닝 모델 예측을 위해서 입력값을 데이터셋의 형태로 바꾸어주는 고마운 친구
자세한 내용은 Github : Language-Purifier 참조
Postman을 켜고 요청을 보냈는데,,
욕은 이번 프로젝트에서 자주 나옵니다. 욕을 걸러내는 모델이기때문에..
98퍼센트로 일반적인 댓글이라고 알려준다.. 이러면 안된다,,ㅠㅠ
결과는 ?(물음표)
때문에 params
가 추가된 모습을 볼 수 있었다.. 생각해보니 보통 api을 호출할 때, ?(물음표)
는 querystring
으로 시작을 의미한다.
해결방법은 간단하다.
물음표를 %3F
로 변환하면 끝난다.
잘 작동하는 모습을 볼 수 있다. (-98의 의미는 부정적인 댓글이라고 알려준다.)
이것을 Front에서 진행해도 될 것이고, Back에서 진행해도 될 것이다.
그외로 다음과 같은 규칙을 지켜야한다.
퍼센트 부호는 %25로 인코딩해야 합니다.
마침표는 %2E로 인코딩해야 합니다.
물음표는 %3F로 인코딩해야 합니다