From feb83c168b0a57ecd8c511aa654209c5f40da30e Mon Sep 17 00:00:00 2001 From: H Lohaus Date: Fri, 26 Jan 2024 07:54:13 +0100 Subject: New minimum requirements (#1515) * New minimum requirements * Add ConversationStyleOptionSets to Bing * Add image.ImageRequest * Improve python version support * Improve unittests --- g4f/gui/server/internet.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'g4f/gui/server') diff --git a/g4f/gui/server/internet.py b/g4f/gui/server/internet.py index 6c2e3a89..a6bfc885 100644 --- a/g4f/gui/server/internet.py +++ b/g4f/gui/server/internet.py @@ -1,8 +1,14 @@ from __future__ import annotations -from bs4 import BeautifulSoup from aiohttp import ClientSession, ClientTimeout -from duckduckgo_search import DDGS +try: + from duckduckgo_search import DDGS + from bs4 import BeautifulSoup + has_requirements = True +except ImportError: + has_requirements = False +from ...errors import MissingRequirementsError + import asyncio class SearchResults(): @@ -88,6 +94,8 @@ async def fetch_and_scrape(session: ClientSession, url: str, max_words: int = No return async def search(query: str, n_results: int = 5, max_words: int = 2500, add_text: bool = True) -> SearchResults: + if not has_requirements: + raise MissingRequirementsError('Install "duckduckgo-search" and "beautifulsoup4" package') with DDGS() as ddgs: results = [] for result in ddgs.text( -- cgit v1.2.3