chore: update something
Browse files
app.py
CHANGED
|
@@ -279,7 +279,7 @@ if torch.cuda.is_available():
|
|
| 279 |
)
|
| 280 |
model.generation_config.max_length = 123392
|
| 281 |
|
| 282 |
-
waiting_tools_timeout =
|
| 283 |
supported_tools = json.dumps(
|
| 284 |
[
|
| 285 |
{
|
|
@@ -302,6 +302,12 @@ supported_tools = json.dumps(
|
|
| 302 |
"default": "google",
|
| 303 |
"required": True,
|
| 304 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 305 |
},
|
| 306 |
},
|
| 307 |
},
|
|
@@ -320,10 +326,16 @@ def extract_text_from_webpage(html_content):
|
|
| 320 |
return visible_text
|
| 321 |
|
| 322 |
|
| 323 |
-
def search_with_wikipedia(
|
|
|
|
|
|
|
|
|
|
| 324 |
all_results = []
|
| 325 |
try:
|
| 326 |
-
|
|
|
|
|
|
|
|
|
|
| 327 |
except Exception as e:
|
| 328 |
pass
|
| 329 |
return all_results
|
|
@@ -333,10 +345,11 @@ def search_with_google(
|
|
| 333 |
query: str,
|
| 334 |
num_results: int = 3,
|
| 335 |
timeout: int = 5,
|
|
|
|
| 336 |
ssl_verify: bool = None,
|
| 337 |
):
|
| 338 |
all_results = []
|
| 339 |
-
max_chars_per_page =
|
| 340 |
with requests.Session() as session:
|
| 341 |
resp = session.get(
|
| 342 |
url="https://www.google.com/search",
|
|
@@ -347,6 +360,7 @@ def search_with_google(
|
|
| 347 |
"q": query,
|
| 348 |
"num": num_results,
|
| 349 |
"udm": 14,
|
|
|
|
| 350 |
},
|
| 351 |
timeout=timeout,
|
| 352 |
verify=ssl_verify,
|
|
@@ -461,12 +475,20 @@ def generate(
|
|
| 461 |
):
|
| 462 |
keyword = scheduled_tools_runs["arguments"]["keyword"]
|
| 463 |
search_type = scheduled_tools_runs["arguments"]["type"]
|
|
|
|
| 464 |
if search_type == "wikipedia":
|
| 465 |
gr.Info("Searching for information on the Wikipedia.")
|
| 466 |
-
document_references = search_with_wikipedia(
|
|
|
|
|
|
|
| 467 |
else:
|
| 468 |
gr.Info("Searching for information on the Google.")
|
| 469 |
-
document_references = search_with_google(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 470 |
|
| 471 |
apply_tools = (
|
| 472 |
True if allow_used_tools is True and previous_response is None else False
|
|
@@ -516,7 +538,6 @@ def generate(
|
|
| 516 |
and state["respond"] is False
|
| 517 |
and state["mark"] + waiting_tools_timeout > time.time()
|
| 518 |
):
|
| 519 |
-
gr.Info("Searching for information on the internet.")
|
| 520 |
previous_response = "".join(outputs)
|
| 521 |
yield from generate_chat_responses(previous_response=previous_response)
|
| 522 |
|
|
|
|
| 279 |
)
|
| 280 |
model.generation_config.max_length = 123392
|
| 281 |
|
| 282 |
+
waiting_tools_timeout = 10
|
| 283 |
supported_tools = json.dumps(
|
| 284 |
[
|
| 285 |
{
|
|
|
|
| 302 |
"default": "google",
|
| 303 |
"required": True,
|
| 304 |
},
|
| 305 |
+
"language": {
|
| 306 |
+
"type": "string",
|
| 307 |
+
"description": "Search language, is the user language code with 2 letters, e.g: vi = vietnamese, en = english.",
|
| 308 |
+
"default": "en",
|
| 309 |
+
"required": True,
|
| 310 |
+
},
|
| 311 |
},
|
| 312 |
},
|
| 313 |
},
|
|
|
|
| 326 |
return visible_text
|
| 327 |
|
| 328 |
|
| 329 |
+
def search_with_wikipedia(
|
| 330 |
+
query: str,
|
| 331 |
+
language: str = "en",
|
| 332 |
+
):
|
| 333 |
all_results = []
|
| 334 |
try:
|
| 335 |
+
wikipedia.set_lang(language)
|
| 336 |
+
page = wikipedia.page(query)
|
| 337 |
+
content = page.content[:5120]
|
| 338 |
+
all_results.append(content)
|
| 339 |
except Exception as e:
|
| 340 |
pass
|
| 341 |
return all_results
|
|
|
|
| 345 |
query: str,
|
| 346 |
num_results: int = 3,
|
| 347 |
timeout: int = 5,
|
| 348 |
+
language: str = "en",
|
| 349 |
ssl_verify: bool = None,
|
| 350 |
):
|
| 351 |
all_results = []
|
| 352 |
+
max_chars_per_page = 4096
|
| 353 |
with requests.Session() as session:
|
| 354 |
resp = session.get(
|
| 355 |
url="https://www.google.com/search",
|
|
|
|
| 360 |
"q": query,
|
| 361 |
"num": num_results,
|
| 362 |
"udm": 14,
|
| 363 |
+
"hl": language,
|
| 364 |
},
|
| 365 |
timeout=timeout,
|
| 366 |
verify=ssl_verify,
|
|
|
|
| 475 |
):
|
| 476 |
keyword = scheduled_tools_runs["arguments"]["keyword"]
|
| 477 |
search_type = scheduled_tools_runs["arguments"]["type"]
|
| 478 |
+
language = scheduled_tools_runs["arguments"]["language"]
|
| 479 |
if search_type == "wikipedia":
|
| 480 |
gr.Info("Searching for information on the Wikipedia.")
|
| 481 |
+
document_references = search_with_wikipedia(
|
| 482 |
+
query=keyword, language=language
|
| 483 |
+
)
|
| 484 |
else:
|
| 485 |
gr.Info("Searching for information on the Google.")
|
| 486 |
+
document_references = search_with_google(
|
| 487 |
+
query=keyword, language=language
|
| 488 |
+
)
|
| 489 |
+
print(
|
| 490 |
+
"scheduled_tools_runs:", scheduled_tools_runs, document_references
|
| 491 |
+
)
|
| 492 |
|
| 493 |
apply_tools = (
|
| 494 |
True if allow_used_tools is True and previous_response is None else False
|
|
|
|
| 538 |
and state["respond"] is False
|
| 539 |
and state["mark"] + waiting_tools_timeout > time.time()
|
| 540 |
):
|
|
|
|
| 541 |
previous_response = "".join(outputs)
|
| 542 |
yield from generate_chat_responses(previous_response=previous_response)
|
| 543 |
|