aboutsummaryrefslogtreecommitdiff
path: root/gn3
diff options
context:
space:
mode:
Diffstat (limited to 'gn3')
-rw-r--r--gn3/api/llm.py54
-rw-r--r--gn3/settings.py4
2 files changed, 27 insertions, 31 deletions
diff --git a/gn3/api/llm.py b/gn3/api/llm.py
index fe10046..7a0eff2 100644
--- a/gn3/api/llm.py
+++ b/gn3/api/llm.py
@@ -5,17 +5,13 @@
from flask import jsonify, request, Blueprint, current_app
from functools import wraps
-from gn3.auth.authorisation.oauth2.resource_server import require_oauth
-
from gn3.llms.process import get_gnqa
from gn3.llms.process import get_user_queries
from gn3.llms.process import fetch_query_results
from gn3.auth.authorisation.oauth2.resource_server import require_oauth
from gn3.auth import db
-from gn3.settings import SQLITE_DB_PATH
-
+from gn3.settings import LLM_DB_PATH
from redis import Redis
-import os
import json
import sqlite3
from datetime import timedelta
@@ -44,7 +40,6 @@ def gnqa():
auth_token = current_app.config.get("FAHAMU_AUTH_TOKEN")
task_id, answer, refs = get_gnqa(
query, auth_token, current_app.config.get("DATA_DIR"))
-
response = {
"task_id": task_id,
"query": query,
@@ -67,35 +62,36 @@ def gnqa():
@require_oauth("profile")
def rating(task_id):
try:
- with require_oauth.acquire("profile") as the_token:
- user = the_token.user.user_id
+ with (require_oauth.acquire("profile") as token,
+ db.connection(LLM_DB_PATH) as conn):
+
results = request.json
- user_id, query, answer, weight = (the_token.user.user_id,
+ user_id, query, answer, weight = (token.user.user_id,
results.get("query"),
results.get("answer"),
results.get("weight", 0))
-
- with db.connection(os.path.join(SQLITE_DB_PATH, "llm.db")) as conn:
- cursor = conn.cursor()
- create_table = """CREATE TABLE IF NOT EXISTS Rating(
- user_id TEXT NOT NULL,
- query TEXT NOT NULL,
- answer TEXT NOT NULL,
- weight INTEGER NOT NULL DEFAULT 0,
- task_id TEXT NOT NULL UNIQUE
- )"""
- cursor.execute(create_table)
- cursor.execute("""INSERT INTO Rating(user_id,query,answer,weight,task_id)
- VALUES(?,?,?,?,?)
- ON CONFLICT(task_id) DO UPDATE SET
- weight=excluded.weight
- """, (str(user_id), query, answer, weight, task_id))
- return {
- "message": "success",
- "status": 0
- }, 200
+ cursor = conn.cursor()
+ create_table = """CREATE TABLE IF NOT EXISTS Rating(
+ user_id TEXT NOT NULL,
+ query TEXT NOT NULL,
+ answer TEXT NOT NULL,
+ weight INTEGER NOT NULL DEFAULT 0,
+ task_id TEXT NOT NULL UNIQUE
+ )"""
+ cursor.execute(create_table)
+ cursor.execute("""INSERT INTO Rating(user_id,query,answer,weight,task_id)
+ VALUES(?,?,?,?,?)
+ ON CONFLICT(task_id) DO UPDATE SET
+ weight=excluded.weight
+ """, (str(user_id), query, answer, weight, task_id))
+ return {
+ "message": "success",
+ "status": 0
+ }, 200
except sqlite3.Error as error:
raise error
+ except Exception as error:
+ raise error
@GnQNA.route("/history/<query>", methods=["GET"])
diff --git a/gn3/settings.py b/gn3/settings.py
index 61de405..12e56a3 100644
--- a/gn3/settings.py
+++ b/gn3/settings.py
@@ -57,8 +57,8 @@ XAPIAN_DB_PATH = "xapian"
# sqlite path
-SQLITE_DB_PATH = os.environ.get(
- "SQLITE_DB_PATH", "/export/data/genenetwork-sqlite/")
+LLM_DB_PATH = os.environ.get(
+ "LLM_DB_PATH", f"{os.environ.get('HOME')}/sqlite_test/llm.db")
# CROSS-ORIGIN SETUP