ParthSadaria commited on
Commit
4e5813e
·
verified ·
1 Parent(s): 32a3c2c

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +11 -7
main.py CHANGED
@@ -39,6 +39,9 @@ async def favicon():
39
  favicon_path = Path(__file__).parent / "favicon.ico"
40
  return FileResponse(favicon_path, media_type="image/x-icon")
41
 
 
 
 
42
  def generate_search(query: str, stream: bool = True) -> str:
43
  headers = {"User-Agent": ""}
44
  prompt = [
@@ -65,19 +68,20 @@ def generate_search(query: str, stream: bool = True) -> str:
65
  # Ensure the value starts with 'data: ' and process it
66
  if value.startswith("data: "):
67
  try:
68
- json_modified_value = json.loads(value[6:]) # Remove 'data: ' prefix
69
- content = json_modified_value
70
- # Include everything, even if it's just whitespace
71
- if stream:
72
- yield f"data: {content}\n"
73
- streaming_text += content
 
 
74
  except json.JSONDecodeError:
75
  continue # Skip lines that are not valid JSON
76
 
77
  # If not streaming, yield the full collected content
78
  if not stream:
79
  yield streaming_text
80
-
81
  @app.get("/searchgpt")
82
  async def search_gpt(q: str, stream: Optional[bool] = False):
83
  if not q:
 
39
  favicon_path = Path(__file__).parent / "favicon.ico"
40
  return FileResponse(favicon_path, media_type="image/x-icon")
41
 
42
+ import requests
43
+ import json
44
+
45
  def generate_search(query: str, stream: bool = True) -> str:
46
  headers = {"User-Agent": ""}
47
  prompt = [
 
68
  # Ensure the value starts with 'data: ' and process it
69
  if value.startswith("data: "):
70
  try:
71
+ # Parse JSON and remove 'data: ' prefix
72
+ json_modified_value = json.loads(value[6:])
73
+ content = json_modified_value.get("content", "") # Get the actual content
74
+
75
+ if content.strip(): # Ensure non-empty content
76
+ if stream:
77
+ yield content # Pass content directly, removing 'data: ' and JSON overhead
78
+ streaming_text += content # Accumulate content for non-streaming case
79
  except json.JSONDecodeError:
80
  continue # Skip lines that are not valid JSON
81
 
82
  # If not streaming, yield the full collected content
83
  if not stream:
84
  yield streaming_text
 
85
  @app.get("/searchgpt")
86
  async def search_gpt(q: str, stream: Optional[bool] = False):
87
  if not q: