internet_ml/web/internet_ml_server/api/nlp/nocontext/views.py

48 lines
1.2 KiB
Python

import json
import os
from dotenv import load_dotenv
from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
from .tools import question_answer
load_dotenv()
import internet_ml.NLP.no_context.QA
class QAView(APIView):
def post(self, request, format=None):
"""
{"question": "Who is Elon Musk?"}
{
"error": "",
"response": {
'score': VAL,
'start': VAL,
'end': VAL,
'answer': 'THE_ANSWER'
},
"resources": [
'SOME_LINKS_HERE'
]
}
or
{
"error": "",
"status": "",
"detail": "",
}
so check error if it exists first and then for other stuff
"""
answer = internet_ml.NLP.no_context.QA.answer(
request.POST.get("question"),
str(os.getenv("INTERNET_ML_GOOGLE_API")),
str(os.getenv("INTERNET_ML_GOOGLE_SEARCH_ENGINE_ID")),
)
content = json.dumps(
{"error": "", "response": answer[0], "resources": answer[1]}
)
return content