akiko19191 commited on
Commit
00e8456
·
verified ·
1 Parent(s): d64b2b3

Update utils/llms.py

Browse files
Files changed (1) hide show
  1. utils/llms.py +42 -51
utils/llms.py CHANGED
@@ -1,18 +1,27 @@
1
  import os
2
  import helpers.helper as helper
3
 
4
- import google.generativeai as genai
5
  from g4f.client import Client
6
  from litellm import completion
7
  import random
8
  import json
 
 
9
 
10
- from g4f.Provider import DeepInfraChat,Glider,Liaobots,Blackbox,ChatGptEs,LambdaChat,TypeGPT
 
11
 
12
  gemini_api_keys=json.loads(os.environ.get("GEMINI_KEY_LIST"))
13
- groq_api_keys=["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","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","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"]
 
 
 
14
  DeepInfraChat.models = ["google/gemma-3-27b-it","deepseek-ai/DeepSeek-R1-Turbo","Qwen/QwQ-32B","deepseek-ai/DeepSeek-R1","deepseek-ai/DeepSeek-V3-0324","meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8","meta-llama/Llama-4-Scout-17B-16E-Instruct","microsoft/Phi-4-multimodal-instruct"]
 
15
  deepinframodels=["meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8","microsoft/Phi-4-multimodal-instruct","google/gemma-3-27b-it","meta-llama/Llama-4-Scout-17B-16E-Instruct"]
 
 
 
16
  REASONING_CORRESPONDANCE = {"DeepSeek-R1-Glider":Glider, "DeepSeekR1-LAMBDA":LambdaChat,"DeepSeekR1":DeepInfraChat,"deepseek-slow":TypeGPT}
17
  os.environ["GEMINI_API_KEY"] =random.choice(gemini_api_keys)
18
 
@@ -26,20 +35,6 @@ clienty = OpenAI(
26
  CHAT_CORRESPONDANCE = {"DeepSeek-V3":DeepInfraChat}
27
 
28
  client = Client()
29
- genai.configure(api_key="AIzaSyAQgAtQPpY0bQaCqCISGxeyF6tpDePx-Jg")
30
- modell = genai.GenerativeModel('gemini-1.5-pro')
31
- generation_config = {
32
- "temperature": 1,
33
- "top_p": 0.95,
34
- "top_k": 40,
35
- "max_output_tokens": 8192,
36
- "response_mime_type": "text/plain",
37
- }
38
-
39
- model2flash = genai.GenerativeModel(
40
- model_name="gemini-2.0-flash-thinking-exp",
41
- generation_config=generation_config,
42
- )
43
 
44
 
45
 
@@ -54,20 +49,12 @@ def clear():
54
  helper.q.task_done()
55
 
56
  def gpt4(messages,response_format,model="gpt-4"):
57
- if response_format!=None:
58
- output = clienty.chat.completions.create(
59
- model="google/gemini-2.0-flash-001",
60
- messages= messages,
61
- response_format=response_format,
62
- )
63
- return str(output.choices[0].message.content)
64
- else:
65
- print(messages)
66
  if len(messages) ==1:
67
  messages[0]["role"]="user"
68
  response = completion(
69
  model="gemini/gemini-2.0-flash",
70
- messages=messages
 
71
  )
72
  return str(response.choices[0].message.content)
73
 
@@ -87,7 +74,6 @@ def gpt4stream(messages,model,api_keys):
87
  messages=messages,
88
  stream=True
89
 
90
- # Add any other necessary parameters
91
  )
92
  for part in response:
93
  cunk=cunk+(part.choices[0].delta.content or "")
@@ -97,7 +83,6 @@ def gpt4stream(messages,model,api_keys):
97
  clear()
98
  break
99
  except Exception as e:
100
-
101
  pass
102
  helper.q.put_nowait("RESULT: "+cunk)
103
 
@@ -128,7 +113,7 @@ def gpt4stream(messages,model,api_keys):
128
  break
129
  helper.q.put_nowait("RESULT: "+cunk)
130
 
131
- elif model=="deepseek-r1-distill-llama-70b":
132
  os.environ["GROQ_API_KEY"] =random.choice(groq_api_keys)
133
 
134
  response = completion(model="groq/deepseek-r1-distill-llama-70b", messages=messages, stream=True)
@@ -142,7 +127,7 @@ def gpt4stream(messages,model,api_keys):
142
  clear()
143
  break
144
  helper.q.put_nowait("RESULT: "+cunk)
145
- elif model=="qwq-32b":
146
  os.environ["GROQ_API_KEY"] =random.choice(groq_api_keys)
147
  response = completion(model="groq/qwen-qwq-32b", messages=messages, stream=True)
148
 
@@ -169,34 +154,40 @@ def gpt4stream(messages,model,api_keys):
169
  clear()
170
  break
171
  helper.q.put_nowait("RESULT: "+cunk)
 
 
172
 
173
- elif model=="gemini-2.0-flash-thinking-exp-01-21":
174
- for key in gemini_api_keys:
175
- try:
176
- os.environ["GEMINI_API_KEY"] =key
 
 
 
 
 
 
177
 
178
- response = completion(model="gemini/gemini-2.0-flash-thinking-exp-01-21", messages=messages, stream=True)
 
179
 
180
- cunk=""
181
- for part in response:
182
- cunk=cunk+(part.choices[0].delta.content or "")
183
- if "```json" not in cunk:
184
- helper.q.put_nowait(part.choices[0].delta.content or "")
185
- if helper.stopped:
186
- clear()
187
- break
188
- break
189
- except Exception as e:
190
- helper.q.put_nowait(str(e))
191
- pass
192
  helper.q.put_nowait("RESULT: "+cunk)
193
 
194
- elif model=="gemini-2.5-pro-exp-03-25" :
195
  for key in gemini_api_keys:
196
  try:
197
  os.environ["GEMINI_API_KEY"] =key
198
 
199
- response = completion(model="gemini/gemini-2.5-pro-exp-03-25", messages=messages, stream=True)
200
 
201
  cunk=""
202
  for part in response:
@@ -251,7 +242,7 @@ def gpt4stream(messages,model,api_keys):
251
  helper.q.put_nowait("RESULT: "+cunk)
252
 
253
 
254
- elif model=="deepseek-reasoner" :
255
  helper.q.put_nowait("<think>")
256
  cunk=""
257
  providers=REASONING_QWQ
 
1
  import os
2
  import helpers.helper as helper
3
 
 
4
  from g4f.client import Client
5
  from litellm import completion
6
  import random
7
  import json
8
+ import os
9
+ # from dotenv import load_dotenv
10
 
11
+ # load_dotenv()
12
+ from g4f.Provider import DeepInfraChat,Glider,LambdaChat,TypeGPT
13
 
14
  gemini_api_keys=json.loads(os.environ.get("GEMINI_KEY_LIST"))
15
+ groq_api_keys=json.loads(os.environ.get("GROQ_API_KEYS"))
16
+ chutes_key=os.environ.get("CHUTES_API_KEY")
17
+ github_key=os.environ.get("GITHUB_API_KEY")
18
+
19
  DeepInfraChat.models = ["google/gemma-3-27b-it","deepseek-ai/DeepSeek-R1-Turbo","Qwen/QwQ-32B","deepseek-ai/DeepSeek-R1","deepseek-ai/DeepSeek-V3-0324","meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8","meta-llama/Llama-4-Scout-17B-16E-Instruct","microsoft/Phi-4-multimodal-instruct"]
20
+
21
  deepinframodels=["meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8","microsoft/Phi-4-multimodal-instruct","google/gemma-3-27b-it","meta-llama/Llama-4-Scout-17B-16E-Instruct"]
22
+ chutes_models={"MAI-DS-R1-FP8":"microsoft/MAI-DS-R1-FP8","DeepSeek-V3-0324":"deepseek-ai/DeepSeek-V3-0324","deepseek-reasoner":"deepseek-ai/DeepSeek-R1","GLM-4-32B-0414":"THUDM/GLM-4-32B-0414","GLM-Z1-32B-0414":"THUDM/GLM-Z1-32B-0414"}
23
+ github_models={"gpt4.1":"gpt-4.1","gpt-4o":"gpt-4o","o4-mini":"o4-mini"}
24
+
25
  REASONING_CORRESPONDANCE = {"DeepSeek-R1-Glider":Glider, "DeepSeekR1-LAMBDA":LambdaChat,"DeepSeekR1":DeepInfraChat,"deepseek-slow":TypeGPT}
26
  os.environ["GEMINI_API_KEY"] =random.choice(gemini_api_keys)
27
 
 
35
  CHAT_CORRESPONDANCE = {"DeepSeek-V3":DeepInfraChat}
36
 
37
  client = Client()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
 
39
 
40
 
 
49
  helper.q.task_done()
50
 
51
  def gpt4(messages,response_format,model="gpt-4"):
 
 
 
 
 
 
 
 
 
52
  if len(messages) ==1:
53
  messages[0]["role"]="user"
54
  response = completion(
55
  model="gemini/gemini-2.0-flash",
56
+ messages=messages,
57
+ response_format=response_format
58
  )
59
  return str(response.choices[0].message.content)
60
 
 
74
  messages=messages,
75
  stream=True
76
 
 
77
  )
78
  for part in response:
79
  cunk=cunk+(part.choices[0].delta.content or "")
 
83
  clear()
84
  break
85
  except Exception as e:
 
86
  pass
87
  helper.q.put_nowait("RESULT: "+cunk)
88
 
 
113
  break
114
  helper.q.put_nowait("RESULT: "+cunk)
115
 
116
+ elif model=="groq/deepseek-r1-distill-llama-70b":
117
  os.environ["GROQ_API_KEY"] =random.choice(groq_api_keys)
118
 
119
  response = completion(model="groq/deepseek-r1-distill-llama-70b", messages=messages, stream=True)
 
127
  clear()
128
  break
129
  helper.q.put_nowait("RESULT: "+cunk)
130
+ elif model=="groq/qwq-32b":
131
  os.environ["GROQ_API_KEY"] =random.choice(groq_api_keys)
132
  response = completion(model="groq/qwen-qwq-32b", messages=messages, stream=True)
133
 
 
154
  clear()
155
  break
156
  helper.q.put_nowait("RESULT: "+cunk)
157
+ elif model in chutes_models:
158
+ response = completion(model=f"openai/{chutes_models[model]}",api_key=chutes_key,base_url="https://llm.chutes.ai/v1", messages=messages, stream=True)
159
 
160
+ cunk=""
161
+ for part in response:
162
+ cunk=cunk+(part.choices[0].delta.content or "")
163
+
164
+ if "```json" not in cunk:
165
+ helper.q.put_nowait(part.choices[0].delta.content or "")
166
+ if helper.stopped:
167
+ clear()
168
+ break
169
+ helper.q.put_nowait("RESULT: "+cunk)
170
 
171
+ elif model in github_models:
172
+ response = completion(model=f"github/{github_models[model]}",api_key=github_key, messages=messages, stream=True)
173
 
174
+ cunk=""
175
+ for part in response:
176
+ cunk=cunk+(part.choices[0].delta.content or "")
177
+
178
+ if "```json" not in cunk:
179
+ helper.q.put_nowait(part.choices[0].delta.content or "")
180
+ if helper.stopped:
181
+ clear()
182
+ break
 
 
 
183
  helper.q.put_nowait("RESULT: "+cunk)
184
 
185
+ elif "gemini" in model:
186
  for key in gemini_api_keys:
187
  try:
188
  os.environ["GEMINI_API_KEY"] =key
189
 
190
+ response = completion(model=f"gemini/{model}", messages=messages, stream=True)
191
 
192
  cunk=""
193
  for part in response:
 
242
  helper.q.put_nowait("RESULT: "+cunk)
243
 
244
 
245
+ elif model=="qwq-32b" :
246
  helper.q.put_nowait("<think>")
247
  cunk=""
248
  providers=REASONING_QWQ