RCaz commited on
Commit
3bcd138
·
1 Parent(s): 09a4f8f

skip import restrict usage

Browse files
Files changed (1) hide show
  1. app.py +27 -1
app.py CHANGED
@@ -40,7 +40,33 @@ embeddings="intfloat/e5-base-v2"
40
  vectorstore = FAISS.load_local("./index", embeddings, allow_dangerous_deserialization=True)
41
 
42
  #%% Include a rate limiter
43
- from agent.restric_usage import RateLimiter
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  limiter = RateLimiter(max_requests=10, window_minutes=60)
45
 
46
  #%% setup chatbot
 
40
  vectorstore = FAISS.load_local("./index", embeddings, allow_dangerous_deserialization=True)
41
 
42
  #%% Include a rate limiter
43
+ class RateLimiter:
44
+ def __init__(self, max_requests=10, window_minutes=60):
45
+ self.max_requests = max_requests
46
+ self.window = timedelta(minutes=window_minutes)
47
+ self.requests = defaultdict(list)
48
+
49
+ def is_allowed(self, identifier):
50
+ now = datetime.now()
51
+ # Clean old requests
52
+ self.requests[identifier] = [
53
+ req_time for req_time in self.requests[identifier]
54
+ if now - req_time < self.window
55
+ ]
56
+
57
+ if len(self.requests[identifier]) < self.max_requests:
58
+ self.requests[identifier].append(now)
59
+ return True
60
+ return False
61
+
62
+ def get_remaining(self, identifier):
63
+ now = datetime.now()
64
+ self.requests[identifier] = [
65
+ req_time for req_time in self.requests[identifier]
66
+ if now - req_time < self.window
67
+ ]
68
+ return self.max_requests - len(self.requests[identifier])
69
+
70
  limiter = RateLimiter(max_requests=10, window_minutes=60)
71
 
72
  #%% setup chatbot