Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -51,13 +51,14 @@ def do_web_search(query: str) -> str:
|
|
51 |
try:
|
52 |
url = "https://api.serphouse.com/serp/live"
|
53 |
|
54 |
-
# 기본 GET 방식으로 파라미터
|
55 |
params = {
|
56 |
"q": query,
|
57 |
"domain": "google.com",
|
58 |
"serp_type": "web", # 기본 웹 검색
|
59 |
"device": "desktop",
|
60 |
-
"lang": "en"
|
|
|
61 |
}
|
62 |
|
63 |
headers = {
|
@@ -98,12 +99,26 @@ def do_web_search(query: str) -> str:
|
|
98 |
logger.debug(f"results 구조: {list(results.keys())}")
|
99 |
return "No web search results found or unexpected API response structure."
|
100 |
|
|
|
|
|
|
|
|
|
|
|
101 |
summary_lines = []
|
102 |
-
for idx, item in enumerate(
|
103 |
-
|
104 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
|
106 |
-
logger.info(f"검색 결과 {len(
|
107 |
return "\n".join(summary_lines)
|
108 |
|
109 |
except Exception as e:
|
|
|
51 |
try:
|
52 |
url = "https://api.serphouse.com/serp/live"
|
53 |
|
54 |
+
# 기본 GET 방식으로 파라미터 간소화하고 결과 수를 20개로 제한
|
55 |
params = {
|
56 |
"q": query,
|
57 |
"domain": "google.com",
|
58 |
"serp_type": "web", # 기본 웹 검색
|
59 |
"device": "desktop",
|
60 |
+
"lang": "en",
|
61 |
+
"num": "20" # 최대 20개 결과만 요청
|
62 |
}
|
63 |
|
64 |
headers = {
|
|
|
99 |
logger.debug(f"results 구조: {list(results.keys())}")
|
100 |
return "No web search results found or unexpected API response structure."
|
101 |
|
102 |
+
# 결과 수 제한 및 컨텍스트 길이 최적화
|
103 |
+
max_results = min(20, len(organic))
|
104 |
+
limited_organic = organic[:max_results]
|
105 |
+
|
106 |
+
# 결과 형식 간소화 - 전체 JSON 대신 중요 필드만 포함
|
107 |
summary_lines = []
|
108 |
+
for idx, item in enumerate(limited_organic, start=1):
|
109 |
+
title = item.get("title", "No title")
|
110 |
+
link = item.get("link", "#")
|
111 |
+
snippet = item.get("snippet", "No description")
|
112 |
+
|
113 |
+
# 간소화된 형식
|
114 |
+
summary_lines.append(
|
115 |
+
f"Result {idx}:\n"
|
116 |
+
f"- Title: {title}\n"
|
117 |
+
f"- Link: {link}\n"
|
118 |
+
f"- Snippet: {snippet}\n"
|
119 |
+
)
|
120 |
|
121 |
+
logger.info(f"검색 결과 {len(limited_organic)}개 처리 완료")
|
122 |
return "\n".join(summary_lines)
|
123 |
|
124 |
except Exception as e:
|