about summary refs log tree commit diff
path: root/gn3/llms/process.py
diff options
context:
space:
mode:
Diffstat (limited to 'gn3/llms/process.py')
-rw-r--r--gn3/llms/process.py70
1 files changed, 35 insertions, 35 deletions
diff --git a/gn3/llms/process.py b/gn3/llms/process.py
index b8e7ded..58d565a 100644
--- a/gn3/llms/process.py
+++ b/gn3/llms/process.py
@@ -11,17 +11,9 @@ from gn3.llms.client import GeneNetworkQAClient
 from gn3.llms.response import DocIDs
 
 
-baseUrl           = 'https://genenetwork.fahamuai.com/api/tasks'
-answerUrl         = baseUrl + '/answers'
-basedir           = os.path.abspath(os.path.dirname(__file__))
-apiClient         = GeneNetworkQAClient(requests.Session(), api_key='')
-
-
-
-
-
-
-
+baseUrl = 'https://genenetwork.fahamuai.com/api/tasks'
+answerUrl = baseUrl + '/answers'
+basedir = os.path.abspath(os.path.dirname(__file__))
 
 
 def formatBibliographyInfo(bibInfo):
@@ -30,27 +22,29 @@ def formatBibliographyInfo(bibInfo):
         bibInfo = bibInfo.removesuffix('.txt')
     elif isinstance(bibInfo, dict):
         # format string bibliography information
-        bibInfo = "{0}.{1}.{2}.{3} ".format(bibInfo['author'], bibInfo['title'], bibInfo['year'], bibInfo['doi'])
+        bibInfo = "{0}.{1}.{2}.{3} ".format(
+            bibInfo['author'], bibInfo['title'], bibInfo['year'], bibInfo['doi'])
     return bibInfo
 
 
-def askTheDocuments( extendUrl, my_auth ):
+def askTheDocuments(extendUrl, my_auth):
     try:
-        res     = requests.post(baseUrl+extendUrl,
+        res = requests.post(baseUrl+extendUrl,
                             data={},
                             headers=my_auth)
         res.raise_for_status()
     except:
-        raise # what
+        raise  # what
     if (res.status_code != 200):
         return negativeStatusMsg(res), 0
-    task_id     = getTaskIDFromResult(res)
-    res         = getAnswerUsingTaskID(task_id, my_auth)
+    task_id = getTaskIDFromResult(res)
+    res = getAnswerUsingTaskID(task_id, my_auth)
     if (res.status_code != 200):
         return negativeStatusMsg(res), 0
     return res, 1
 
-def getAnswerUsingTaskID( extendUrl, my_auth ):
+
+def getAnswerUsingTaskID(extendUrl, my_auth):
     try:
         res = requests.get(answerUrl+extendUrl, data={}, headers=my_auth)
         res.raise_for_status()
@@ -58,8 +52,9 @@ def getAnswerUsingTaskID( extendUrl, my_auth ):
         raise
     return res
 
+
 def openAPIConfig():
-    f = open(os.path.join(basedir, "api.config.json") , "rb" )
+    f = open(os.path.join(basedir, "api.config.json"), "rb")
     result = json.load(f)
     f.close()
     return result
@@ -67,45 +62,50 @@ def openAPIConfig():
 
 def getTaskIDFromResult(res):
     task_id = json.loads(res.text)
-    result  = '?task_id=' + str(task_id['task_id'])
+    result = '?task_id=' + str(task_id['task_id'])
     return result
 
+
 def negativeStatusMsg(res):
-    return 'Problems\n\tStatus code => {0}\n\tReason=> {1}'.format(res.status_code, res.reason)  # mypy: ignore
+    # mypy: ignore
+    return 'Problems\n\tStatus code => {0}\n\tReason=> {1}'.format(res.status_code, res.reason)
+
 
 def filterResponseText(val):
     return json.loads(''.join([str(char) for char in val if char in string.printable]))
 
-def getGNQA(query):
-    res, task_id = apiClient.ask('?ask=' + query)
+
+def getGNQA(query, auth_token):
+    apiClient = GeneNetworkQAClient(requests.Session(), api_key=auth_token)
+    res, task_id = apiClient.ask('?ask=' + query, auth_token)
     res, success = apiClient.get_answer(task_id)
 
-    if ( success == 1 ):
-        respText       = filterResponseText(res.text)
+    if (success == 1):
+        respText = filterResponseText(res.text)
         if respText.get("data") is None:
-            return  "Unfortunately I have nothing on the query",[]
-        answer         = respText['data']['answer']
-        context        = respText['data']['context']
+            return "Unfortunately I have nothing on the query", []
+        answer = respText['data']['answer']
+        context = respText['data']['context']
         references = parse_context(context)
-        return answer,references
+        return answer, references
     else:
         return res, "Unfortunately I have nothing."
 
 
-
 def parse_context(context):
     """parse content map id to reference"""
     result = []
-    for doc_ids,summary in context.items():
+    for doc_ids, summary in context.items():
         comboTxt = ""
-        for entry  in summary:
+        for entry in summary:
             comboTxt += '\t' + entry['text']
 
         docInfo = DocIDs().getInfo(doc_ids)
-        if doc_ids !=docInfo:
+        if doc_ids != docInfo:
             bibInfo = formatBibliographyInfo(docInfo)
 
         else:
             bibInfo = doc_ids
-        result.append({"doc_id":doc_ids,"bibInfo":bibInfo,"comboTxt":comboTxt})
-    return result
\ No newline at end of file
+        result.append(
+            {"doc_id": doc_ids, "bibInfo": bibInfo, "comboTxt": comboTxt})
+    return result