Abs6187 commited on
Commit
3cc8504
·
verified ·
1 Parent(s): b97233e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +212 -2
app.py CHANGED
@@ -18,6 +18,130 @@ import sys
18
  # Load environment variables
19
  load_dotenv()
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  # Initialize session state if not already done
22
  if 'conversation_history' not in st.session_state:
23
  st.session_state.conversation_history = []
@@ -168,6 +292,38 @@ st.markdown("""
168
  display: flex;
169
  flex-wrap: wrap;
170
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
171
  </style>
172
  """, unsafe_allow_html=True)
173
 
@@ -198,13 +354,67 @@ with st.sidebar:
198
 
199
  # Advanced Settings
200
  st.markdown('<div class="sub-header">Advanced Settings</div>', unsafe_allow_html=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
201
  model_option = st.selectbox(
202
  'LLM Model',
203
- ('gemma2-9b-it', 'llama3-8b-8192', 'mixtral-8x7b-32768', 'llama3-70b-8192', 'claude-3-5-sonnet-20240620'),
204
  index=0,
205
- help="Select from available Groq models - all free with no rate limits!"
206
  )
207
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
208
  search_depth = st.slider('Search Depth', min_value=1, max_value=8, value=5,
209
  help="Higher values will search more thoroughly but take longer")
210
 
 
18
  # Load environment variables
19
  load_dotenv()
20
 
21
+ # Model rate limits information
22
+ MODEL_LIMITS = {
23
+ "allam-2-7b": {
24
+ "rpm": 30,
25
+ "rpd": 7000,
26
+ "tpm": 6000,
27
+ "tpd": "No limit"
28
+ },
29
+ "deepseek-r1-distill-llama-70b": {
30
+ "rpm": 30,
31
+ "rpd": 1000,
32
+ "tpm": 6000,
33
+ "tpd": "No limit"
34
+ },
35
+ "deepseek-r1-distill-qwen-32b": {
36
+ "rpm": 30,
37
+ "rpd": 1000,
38
+ "tpm": 6000,
39
+ "tpd": "No limit"
40
+ },
41
+ "gemma2-9b-it": {
42
+ "rpm": 30,
43
+ "rpd": 14400,
44
+ "tpm": 15000,
45
+ "tpd": 500000
46
+ },
47
+ "llama-3.1-8b-instant": {
48
+ "rpm": 30,
49
+ "rpd": 14400,
50
+ "tpm": 6000,
51
+ "tpd": 500000
52
+ },
53
+ "llama-3.2-11b-vision-preview": {
54
+ "rpm": 30,
55
+ "rpd": 7000,
56
+ "tpm": 7000,
57
+ "tpd": 500000
58
+ },
59
+ "llama-3.2-1b-preview": {
60
+ "rpm": 30,
61
+ "rpd": 7000,
62
+ "tpm": 7000,
63
+ "tpd": 500000
64
+ },
65
+ "llama-3.2-3b-preview": {
66
+ "rpm": 30,
67
+ "rpd": 7000,
68
+ "tpm": 7000,
69
+ "tpd": 500000
70
+ },
71
+ "llama-3.2-90b-vision-preview": {
72
+ "rpm": 15,
73
+ "rpd": 3500,
74
+ "tpm": 7000,
75
+ "tpd": 250000
76
+ },
77
+ "llama-3.3-70b-specdec": {
78
+ "rpm": 30,
79
+ "rpd": 1000,
80
+ "tpm": 6000,
81
+ "tpd": 100000
82
+ },
83
+ "llama-3.3-70b-versatile": {
84
+ "rpm": 30,
85
+ "rpd": 1000,
86
+ "tpm": 6000,
87
+ "tpd": 100000
88
+ },
89
+ "llama-guard-3-8b": {
90
+ "rpm": 30,
91
+ "rpd": 14400,
92
+ "tpm": 15000,
93
+ "tpd": 500000
94
+ },
95
+ "llama3-70b-8192": {
96
+ "rpm": 30,
97
+ "rpd": 14400,
98
+ "tpm": 6000,
99
+ "tpd": 500000
100
+ },
101
+ "llama3-8b-8192": {
102
+ "rpm": 30,
103
+ "rpd": 14400,
104
+ "tpm": 6000,
105
+ "tpd": 500000
106
+ },
107
+ "mistral-saba-24b": {
108
+ "rpm": 30,
109
+ "rpd": 1000,
110
+ "tpm": 6000,
111
+ "tpd": 500000
112
+ },
113
+ "qwen-2.5-32b": {
114
+ "rpm": 30,
115
+ "rpd": 1000,
116
+ "tpm": 6000,
117
+ "tpd": "No limit"
118
+ },
119
+ "qwen-2.5-coder-32b": {
120
+ "rpm": 30,
121
+ "rpd": 1000,
122
+ "tpm": 6000,
123
+ "tpd": "No limit"
124
+ },
125
+ "qwen-qwq-32b": {
126
+ "rpm": 30,
127
+ "rpd": 1000,
128
+ "tpm": 6000,
129
+ "tpd": "No limit"
130
+ },
131
+ "claude-3-5-sonnet-20240620": {
132
+ "rpm": 30,
133
+ "rpd": 14400,
134
+ "tpm": 15000,
135
+ "tpd": 500000
136
+ },
137
+ "mixtral-8x7b-32768": {
138
+ "rpm": 30,
139
+ "rpd": 14400,
140
+ "tpm": 15000,
141
+ "tpd": 500000
142
+ }
143
+ }
144
+
145
  # Initialize session state if not already done
146
  if 'conversation_history' not in st.session_state:
147
  st.session_state.conversation_history = []
 
292
  display: flex;
293
  flex-wrap: wrap;
294
  }
295
+ .model-limits-container {
296
+ background-color: #E8F5E9;
297
+ padding: 1rem;
298
+ border-radius: 5px;
299
+ margin-top: 0.5rem;
300
+ margin-bottom: 1rem;
301
+ }
302
+ .limit-pill {
303
+ display: inline-block;
304
+ margin: 0.2rem;
305
+ padding: 0.3rem 0.6rem;
306
+ background-color: #C8E6C9;
307
+ color: #2E7D32;
308
+ border-radius: 20px;
309
+ font-size: 0.8rem;
310
+ }
311
+ .limit-table {
312
+ width: 100%;
313
+ border-collapse: collapse;
314
+ margin-top: 0.5rem;
315
+ font-size: 0.9rem;
316
+ }
317
+ .limit-table th, .limit-table td {
318
+ padding: 0.4rem;
319
+ text-align: left;
320
+ border-bottom: 1px solid #E0E0E0;
321
+ }
322
+ .limit-table th {
323
+ background-color: #E8F5E9;
324
+ color: #2E7D32;
325
+ font-weight: bold;
326
+ }
327
  </style>
328
  """, unsafe_allow_html=True)
329
 
 
354
 
355
  # Advanced Settings
356
  st.markdown('<div class="sub-header">Advanced Settings</div>', unsafe_allow_html=True)
357
+
358
+ # Available models
359
+ available_models = [
360
+ 'gemma2-9b-it',
361
+ 'llama3-8b-8192',
362
+ 'mixtral-8x7b-32768',
363
+ 'llama3-70b-8192',
364
+ 'claude-3-5-sonnet-20240620',
365
+ 'llama-3.1-8b-instant',
366
+ 'llama-3.2-3b-preview',
367
+ 'llama-3.3-70b-versatile',
368
+ 'qwen-2.5-32b',
369
+ 'mistral-saba-24b'
370
+ ]
371
+
372
  model_option = st.selectbox(
373
  'LLM Model',
374
+ available_models,
375
  index=0,
376
+ help="Select from available Groq models"
377
  )
378
 
379
+ # Display the rate limits for the selected model
380
+ if model_option in MODEL_LIMITS:
381
+ limits = MODEL_LIMITS[model_option]
382
+ st.markdown('<div class="model-limits-container">', unsafe_allow_html=True)
383
+ st.markdown(f"#### Rate Limits for {model_option}")
384
+
385
+ # Create a table for the limits
386
+ st.markdown("""
387
+ <table class="limit-table">
388
+ <tr>
389
+ <th>Limit Type</th>
390
+ <th>Value</th>
391
+ </tr>
392
+ <tr>
393
+ <td>Requests per Minute</td>
394
+ <td>{rpm}</td>
395
+ </tr>
396
+ <tr>
397
+ <td>Requests per Day</td>
398
+ <td>{rpd}</td>
399
+ </tr>
400
+ <tr>
401
+ <td>Tokens per Minute</td>
402
+ <td>{tpm}</td>
403
+ </tr>
404
+ <tr>
405
+ <td>Tokens per Day</td>
406
+ <td>{tpd}</td>
407
+ </tr>
408
+ </table>
409
+ """.format(
410
+ rpm=limits['rpm'],
411
+ rpd=limits['rpd'],
412
+ tpm=limits['tpm'],
413
+ tpd=limits['tpd']
414
+ ), unsafe_allow_html=True)
415
+
416
+ st.markdown('</div>', unsafe_allow_html=True)
417
+
418
  search_depth = st.slider('Search Depth', min_value=1, max_value=8, value=5,
419
  help="Higher values will search more thoroughly but take longer")
420