bencser commited on
Commit
da196aa
·
verified ·
1 Parent(s): da9a2fc

rate limit

Browse files
Files changed (1) hide show
  1. app.py +11 -0
app.py CHANGED
@@ -2,6 +2,8 @@ import os
2
  import logging
3
  from groq import Groq
4
  from flask import Flask, render_template_string, request, Response, stream_with_context
 
 
5
  from dotenv import load_dotenv
6
 
7
  load_dotenv()
@@ -11,6 +13,14 @@ app = Flask(__name__)
11
  # Set up logging
12
  logging.basicConfig(level=logging.DEBUG)
13
 
 
 
 
 
 
 
 
 
14
  # Set Groq API key
15
  client = Groq(api_key=os.getenv("GROQ_API_KEY"))
16
 
@@ -171,6 +181,7 @@ def home():
171
  return render_template_string(html_template)
172
 
173
  @app.route("/generate", methods=["POST"])
 
174
  def generate():
175
  parent_name = request.form["parent_name"]
176
  child_name = request.form["child_name"]
 
2
  import logging
3
  from groq import Groq
4
  from flask import Flask, render_template_string, request, Response, stream_with_context
5
+ from flask_limiter import Limiter
6
+ from flask_limiter.util import get_remote_address
7
  from dotenv import load_dotenv
8
 
9
  load_dotenv()
 
13
  # Set up logging
14
  logging.basicConfig(level=logging.DEBUG)
15
 
16
+ # Set up rate limiter
17
+ limiter = Limiter(
18
+ get_remote_address,
19
+ app=app,
20
+ default_limits=["5 per minute"],
21
+ storage_uri="memory://"
22
+ )
23
+
24
  # Set Groq API key
25
  client = Groq(api_key=os.getenv("GROQ_API_KEY"))
26
 
 
181
  return render_template_string(html_template)
182
 
183
  @app.route("/generate", methods=["POST"])
184
+ @limiter.limit("5 per minute")
185
  def generate():
186
  parent_name = request.form["parent_name"]
187
  child_name = request.form["child_name"]