Niansuh commited on
Commit
7a158c1
·
verified ·
1 Parent(s): 6bf0a1e

Update api/utils.py

Browse files
Files changed (1) hide show
  1. api/utils.py +43 -2
api/utils.py CHANGED
@@ -39,6 +39,8 @@ async def get_ddg_vqd():
39
  vqd = response.headers.get("x-vqd-4")
40
  if not vqd:
41
  logger.error("VQD token not found in response headers.")
 
 
42
  return vqd
43
  else:
44
  logger.error(f"Error: Status code {response.status} when fetching VQD")
@@ -109,8 +111,28 @@ async def process_ddg_streaming_response(request: ChatRequest):
109
  json_data = {
110
  "model": MODEL_MAPPING.get(request.model, request.model),
111
  "messages": message_history,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  }
113
 
 
 
114
  async with httpx.AsyncClient() as client:
115
  try:
116
  async with client.stream(
@@ -127,7 +149,7 @@ async def process_ddg_streaming_response(request: ChatRequest):
127
  content = line
128
  if content.startswith("$@$v=undefined-rv1$@$"):
129
  content = content[21:]
130
- # No model_prefix handling as messages are correctly formatted
131
  cleaned_content = strip_model_prefix(content, model_prefix)
132
  yield f"data: {json.dumps(create_chat_completion_data(cleaned_content, request.model, timestamp))}\n\n"
133
 
@@ -144,7 +166,6 @@ async def process_ddg_non_streaming_response(request: ChatRequest):
144
  agent_mode = AGENT_MODE.get(request.model, {})
145
  trending_agent_mode = TRENDING_AGENT_MODE.get(request.model, {})
146
  model_prefix = MODEL_PREFIXES.get(request.model, "")
147
- # referer_path and referer_url are not required unless specified by DDG API
148
 
149
  # Obtain VQD token
150
  vqd = await get_ddg_vqd()
@@ -169,8 +190,28 @@ async def process_ddg_non_streaming_response(request: ChatRequest):
169
  json_data = {
170
  "model": MODEL_MAPPING.get(request.model, request.model),
171
  "messages": message_history,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
172
  }
173
 
 
 
174
  async with httpx.AsyncClient() as client:
175
  try:
176
  response = await client.post(
 
39
  vqd = response.headers.get("x-vqd-4")
40
  if not vqd:
41
  logger.error("VQD token not found in response headers.")
42
+ else:
43
+ logger.debug(f"VQD token retrieved: {vqd}")
44
  return vqd
45
  else:
46
  logger.error(f"Error: Status code {response.status} when fetching VQD")
 
111
  json_data = {
112
  "model": MODEL_MAPPING.get(request.model, request.model),
113
  "messages": message_history,
114
+ "previewToken": None,
115
+ "userId": None,
116
+ "codeModelMode": True,
117
+ "agentMode": agent_mode,
118
+ "trendingAgentMode": trending_agent_mode,
119
+ "isMicMode": False,
120
+ "userSystemPrompt": None,
121
+ "maxTokens": request.max_tokens,
122
+ "playgroundTopP": request.top_p,
123
+ "playgroundTemperature": request.temperature,
124
+ "isChromeExt": False,
125
+ "githubToken": None,
126
+ "clickedAnswer2": False,
127
+ "clickedAnswer3": False,
128
+ "clickedForceWebSearch": False,
129
+ "visitFromDelta": False,
130
+ "mobileClient": False,
131
+ "userSelectedModel": MODEL_MAPPING.get(request.model, request.model),
132
  }
133
 
134
+ logger.debug(f"Sending JSON payload to DDG API: {json.dumps(json_data)}")
135
+
136
  async with httpx.AsyncClient() as client:
137
  try:
138
  async with client.stream(
 
149
  content = line
150
  if content.startswith("$@$v=undefined-rv1$@$"):
151
  content = content[21:]
152
+ # Strip the model prefix from the response content
153
  cleaned_content = strip_model_prefix(content, model_prefix)
154
  yield f"data: {json.dumps(create_chat_completion_data(cleaned_content, request.model, timestamp))}\n\n"
155
 
 
166
  agent_mode = AGENT_MODE.get(request.model, {})
167
  trending_agent_mode = TRENDING_AGENT_MODE.get(request.model, {})
168
  model_prefix = MODEL_PREFIXES.get(request.model, "")
 
169
 
170
  # Obtain VQD token
171
  vqd = await get_ddg_vqd()
 
190
  json_data = {
191
  "model": MODEL_MAPPING.get(request.model, request.model),
192
  "messages": message_history,
193
+ "previewToken": None,
194
+ "userId": None,
195
+ "codeModelMode": True,
196
+ "agentMode": agent_mode,
197
+ "trendingAgentMode": trending_agent_mode,
198
+ "isMicMode": False,
199
+ "userSystemPrompt": None,
200
+ "maxTokens": request.max_tokens,
201
+ "playgroundTopP": request.top_p,
202
+ "playgroundTemperature": request.temperature,
203
+ "isChromeExt": False,
204
+ "githubToken": None,
205
+ "clickedAnswer2": False,
206
+ "clickedAnswer3": False,
207
+ "clickedForceWebSearch": False,
208
+ "visitFromDelta": False,
209
+ "mobileClient": False,
210
+ "userSelectedModel": MODEL_MAPPING.get(request.model, request.model),
211
  }
212
 
213
+ logger.debug(f"Sending JSON payload to DDG API: {json.dumps(json_data)}")
214
+
215
  async with httpx.AsyncClient() as client:
216
  try:
217
  response = await client.post(