jigsawstackPersonal commited on
Commit
92940bb
·
verified ·
1 Parent(s): 838b21d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -20
app.py CHANGED
@@ -55,7 +55,7 @@ def check_rate_limit(request: gr.Request):
55
 
56
  # ----------------- JigsawStack API Wrappers ------------------
57
 
58
- def web_ai_search(query, ai_overview, safe_search, spell_check, deep_research, max_depth, max_breadth, max_output_tokens, target_output_tokens, request: gr.Request):
59
  rate_limit_ok, rate_limit_msg = check_rate_limit(request)
60
  if not rate_limit_ok:
61
  return f"❌ {rate_limit_msg}", "", [], ""
@@ -66,18 +66,17 @@ def web_ai_search(query, ai_overview, safe_search, spell_check, deep_research, m
66
  "query": query.strip(),
67
  "ai_overview": ai_overview,
68
  "safe_search": safe_search,
69
- "spell_check": spell_check
 
70
  }
71
- if deep_research:
72
- payload["deep_research"] = True
73
- config = {
74
- "max_depth": max_depth if max_depth is not None else 3,
75
- "max_breadth": max_breadth if max_breadth is not None else 3,
76
- "max_output_tokens": max_output_tokens if max_output_tokens is not None else 32000
77
- }
78
- if target_output_tokens is not None and target_output_tokens != "":
79
- config["target_output_tokens"] = target_output_tokens
80
- payload["deep_research_config"] = config
81
  try:
82
  response = requests.post(f"{BASE_URL}/web/search", headers=headers, json=payload)
83
  if response.status_code != 200:
@@ -114,8 +113,7 @@ with gr.Blocks() as demo:
114
  ai_overview = gr.Checkbox(label="AI Overview", value=True)
115
  safe_search = gr.Dropdown(choices=["moderate", "strict", "off"], value="moderate", label="Safe Search")
116
  spell_check = gr.Checkbox(label="Spell Check", value=True)
117
- deep_research = gr.Checkbox(label="Deep Research", value=True)
118
- with gr.Group(visible=True) as deep_research_group:
119
  max_depth = gr.Number(label="Max Depth", value=3, precision=0)
120
  max_breadth = gr.Number(label="Max Breadth", value=3, precision=0)
121
  max_output_tokens = gr.Number(label="Max Output Tokens", value=32000, precision=0)
@@ -129,12 +127,10 @@ with gr.Blocks() as demo:
129
  search_json_box = gr.Accordion("Raw JSON Response", open=False)
130
  with search_json_box:
131
  search_json_output = gr.Textbox(show_label=False, lines=20, interactive=False)
132
- def toggle_deep_research(checked):
133
- return {deep_research_group: gr.update(visible=checked)}
134
- deep_research.change(fn=toggle_deep_research, inputs=deep_research, outputs=deep_research_group)
135
- def on_search(query, overview, safe, spell, deep, d_depth, d_breadth, d_tokens, d_target, request: gr.Request):
136
- return web_ai_search(query, overview, safe, spell, deep, d_depth, d_breadth, d_tokens, d_target, request)
137
- search_btn.click(fn=on_search, inputs=[search_query, ai_overview, safe_search, spell_check, deep_research, max_depth, max_breadth, max_output_tokens, target_output_tokens],
138
  outputs=[search_status, overview_box, results_box, search_json_output])
139
  def clear_search():
140
  return "", "", [], ""
 
55
 
56
  # ----------------- JigsawStack API Wrappers ------------------
57
 
58
+ def web_ai_search(query, ai_overview, safe_search, spell_check, max_depth, max_breadth, max_output_tokens, target_output_tokens, request: gr.Request):
59
  rate_limit_ok, rate_limit_msg = check_rate_limit(request)
60
  if not rate_limit_ok:
61
  return f"❌ {rate_limit_msg}", "", [], ""
 
66
  "query": query.strip(),
67
  "ai_overview": ai_overview,
68
  "safe_search": safe_search,
69
+ "spell_check": spell_check,
70
+ "deep_research": True
71
  }
72
+ config = {
73
+ "max_depth": max_depth if max_depth is not None else 3,
74
+ "max_breadth": max_breadth if max_breadth is not None else 3,
75
+ "max_output_tokens": max_output_tokens if max_output_tokens is not None else 32000
76
+ }
77
+ if target_output_tokens is not None and target_output_tokens != "":
78
+ config["target_output_tokens"] = target_output_tokens
79
+ payload["deep_research_config"] = config
 
 
80
  try:
81
  response = requests.post(f"{BASE_URL}/web/search", headers=headers, json=payload)
82
  if response.status_code != 200:
 
113
  ai_overview = gr.Checkbox(label="AI Overview", value=True)
114
  safe_search = gr.Dropdown(choices=["moderate", "strict", "off"], value="moderate", label="Safe Search")
115
  spell_check = gr.Checkbox(label="Spell Check", value=True)
116
+ with gr.Group() as deep_research_group:
 
117
  max_depth = gr.Number(label="Max Depth", value=3, precision=0)
118
  max_breadth = gr.Number(label="Max Breadth", value=3, precision=0)
119
  max_output_tokens = gr.Number(label="Max Output Tokens", value=32000, precision=0)
 
127
  search_json_box = gr.Accordion("Raw JSON Response", open=False)
128
  with search_json_box:
129
  search_json_output = gr.Textbox(show_label=False, lines=20, interactive=False)
130
+
131
+ def on_search(query, overview, safe, spell, d_depth, d_breadth, d_tokens, d_target, request: gr.Request):
132
+ return web_ai_search(query, overview, safe, spell, d_depth, d_breadth, d_tokens, d_target, request)
133
+ search_btn.click(fn=on_search, inputs=[search_query, ai_overview, safe_search, spell_check, max_depth, max_breadth, max_output_tokens, target_output_tokens],
 
 
134
  outputs=[search_status, overview_box, results_box, search_json_output])
135
  def clear_search():
136
  return "", "", [], ""