This commit is contained in:
ahmed531998 2023-04-18 21:25:50 +02:00
parent d5fe9eaced
commit f3ea8262a3
2 changed files with 29 additions and 22 deletions

2
VRE.py
View File

@ -198,7 +198,7 @@ class VRE:
self.content_counter+=1 self.content_counter+=1
other_content_df.loc[str(self.content_counter)] = [self.content_counter, -3, description['title'] + ' is a paper. ' + description['notes'] + ' It is about ' + ', '.join(description['tags']) ] other_content_df.loc[str(self.content_counter)] = [self.content_counter, -3, description['title'] + ' is a paper. ' + description['notes'] + ' It is about ' + ', '.join(description['tags']) ]
self.db['content_db'] = pd.concat(content_df, other_content_df) self.db['content_db'] = pd.concat([content_df, other_content_df])
self.db['paper_db'].to_json(self.directory + self.name + '_paper.json') self.db['paper_db'].to_json(self.directory + self.name + '_paper.json')
self.db['dataset_db'].to_json(self.directory + self.name + '_dataset.json') self.db['dataset_db'].to_json(self.directory + self.name + '_dataset.json')

49
main.py
View File

@ -71,35 +71,42 @@ def health():
@app.route("/api/dm", methods=['POST']) @app.route("/api/dm", methods=['POST'])
def init_dm(): def init_dm():
token = request.get_json().get("token") token = request.get_json().get("token")
headers = {"gcube-token": token, "Accept": "application/json"} status = request.get_json().get("stat")
if status == "start":
if token not in users: message = {"stat": "waiting"}
url = 'https://api.d4science.org/rest/2/people/profile' elif status == "set":
response = requests.get(url, headers=headers) headers = {"gcube-token": token, "Accept": "application/json"}
username = response.json()['result']['username'] if token not in users:
name = response.json()['result']['fullname'] url = 'https://api.d4science.org/rest/2/people/profile'
response = requests.get(url, headers=headers)
vre = VRE("assistedlab", token, retriever) if response.status_code == 200:
vre.init() username = response.json()['result']['username']
index = vre.get_index() name = response.json()['result']['fullname']
db = vre.get_db() vre = VRE("assistedlab", token, retriever)
rg = ResponseGenerator(index,db, rec, generators, retriever) vre.init()
args = {'vre': vre, 'rg': rg} index = vre.get_index()
db = vre.get_db()
rg = ResponseGenerator(index,db, rec, generators, retriever)
args = {'vre': vre, 'rg': rg}
users[token] = {'username': username, 'name': name, 'dm': DM(), 'activity': 0, 'user': User(username, token), 'args': args} users[token] = {'username': username, 'name': name, 'dm': DM(), 'activity': 0, 'user': User(username, token), 'args': args}
threading.Thread(target=vre_fetch, args=(token,), name='updatevre_'+users[token]['username']).start() threading.Thread(target=vre_fetch, args=(token,), name='updatevre_'+users[token]['username']).start()
threading.Thread(target=user_interest_decay, args=(token,), name='decayinterest_'+users[token]['username']).start() threading.Thread(target=user_interest_decay, args=(token,), name='decayinterest_'+users[token]['username']).start()
message = {"answer": "Hi " + name.split()[0] + '!', "assignedname": username} message = {"stat": "done"}
else: else:
message = {"answer": "welcome back " + users[token]['name'].split()[0] + '!', "assignedname": users[token]['username']} message = {"stat": "rejected"}
else:
message = {"stat": "done"}
return message return message
@app.route("/api/predict", methods=['POST']) @app.route("/api/predict", methods=['POST'])
def predict(): def predict():
text = request.get_json().get("message") text = request.get_json().get("message")
token = request.get_json().get("token") token = request.get_json().get("token")
while token not in users:
continue
dm = users[token]['dm'] dm = users[token]['dm']
user = users[token]['user'] user = users[token]['user']
rg = users[token]['args']['rg'] rg = users[token]['args']['rg']