Spaces:
Runtime error
Runtime error
| from pymongo import MongoClient | |
| import datetime | |
| import os | |
| class ResponseDb: | |
| def __init__(self): | |
| # Set up the connection | |
| mongodb_username=os.environ['mongodb_username'] | |
| mongodb_pw=os.environ['mongodb_pw'] | |
| mongodb_cluster_url=os.environ['mongodb_cluster_url'] | |
| self.client = MongoClient(f"mongodb+srv://{mongodb_username}:{mongodb_pw}@{mongodb_cluster_url}/?retryWrites=true&w=majority") | |
| self.db = self.client['vqa-game'] | |
| self.collection = self.db['vqa-game'] | |
| def add(self, dialogue_id, task_id, turn, question, response): | |
| curr_datetime = datetime.datetime.now() | |
| document = {"dialogue_id":dialogue_id, | |
| "task_id":task_id, | |
| "turn":turn, | |
| "question":question, | |
| "response":response, | |
| "datetime":curr_datetime} | |
| result = self.collection.insert_one(document) | |
| def get(self): | |
| return self.collection.find() | |
| def get_code(taskid, history, top_pred): | |
| taskid = int(taskid) | |
| mongodb_username=os.environ['mongodb_username_2'] | |
| mongodb_pw=os.environ['mongodb_pw_2'] | |
| mongodb_cluster_url=os.environ['mongodb_cluster_url_2'] | |
| client = MongoClient(f"mongodb+srv://{mongodb_username}:{mongodb_pw}@{mongodb_cluster_url}/?retryWrites=true&w=majority") | |
| db = client['vqa-codes'] | |
| collection = db['vqa-codes'] | |
| threshold_dict = {1001: 6, 1002: 2, 1003: 4, 1004: 2} | |
| if int(taskid) in threshold_dict: | |
| threshold = threshold_dict[int(taskid)] | |
| if len(history)<=threshold and top_pred == 0: | |
| return list(collection.find({"taskid":int(taskid)}))[0]['code'] | |
| else: | |
| return list(collection.find({"taskid":3000-int(taskid)}))[0]['code'] | |
| return list(collection.find({"taskid":taskid}))[0]['code'] |