Spaces:
Runtime error
Runtime error
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:
|