aboutsummaryrefslogtreecommitdiff
path: root/gn2
diff options
context:
space:
mode:
authorAlexander_Kabui2024-04-23 18:28:13 +0300
committerAlexander_Kabui2024-04-23 18:28:13 +0300
commita514d910fe16c5e693dd03d8a78885aedfb97ad4 (patch)
tree2bcac479aa069be16ba0baafc4a00c00e3dec8e5 /gn2
parented0e55326787f61a7fe130b64d52af75eb3257aa (diff)
downloadgenenetwork2-a514d910fe16c5e693dd03d8a78885aedfb97ad4.tar.gz
Create an endpoint for gnqa test template
Diffstat (limited to 'gn2')
-rw-r--r--gn2/wqflask/views.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/gn2/wqflask/views.py b/gn2/wqflask/views.py
index 074ccae2..c126524b 100644
--- a/gn2/wqflask/views.py
+++ b/gn2/wqflask/views.py
@@ -347,6 +347,39 @@ def gnqna_rating(task_id, weight):
lambda x: (x.json(), x.status_code))
+@app.route("/gnqa/testing", methods=["GET", "POST"])
+@require_oauth2
+def qnqa_testing():
+ def __error__(resp):
+ return render_template("gnqa_errors.html",
+ **{"status_code": resp.status_code,
+ **resp.json()})
+
+ def __success__(result):
+ return render_template("gnqa_chat_box.html",
+ **{"query": result["query"],
+ "answer": result["answer"],
+ "task_id": result["task_id"]["task_id"],
+ "references": result["references"]})
+ if request.method == "POST" or request.args.get("query") is not None:
+ token = session_info()["user"]["token"].either(
+ lambda err: err, lambda tok: tok["access_token"])
+ return (monad_requests.post(
+ urljoin(GN3_LOCAL_URL,
+ "/api/llm/gnqna"),
+ json={"querygnqa": request.form.get("query") or
+ request.args.get("query")},
+ headers={
+ "Authorization": f"Bearer {token}"
+ }
+ ).then(
+ lambda resp: resp.json()
+ ).either(__error__, __success__))
+ return render_template("gnqa_test.html", history=["what is a gene",
+ "which genes are involved",
+ "what is a gene"])
+
+
@app.route("/gsearch_updating", methods=('POST',))
def gsearch_updating():
result = UpdateGSearch(request.args).__dict__