Spaces:
Paused
Paused
Download app/reverse_search/factory.py from rishik1111/faceid: direct link, hf CLI and curl.
- Browser
- Download file 1.77 kB
-
https://huggingface.co/spaces/rishik1111/faceid/resolve/main/app/reverse_search/factory.py
- Command line
-
hf download hf://spaces/rishik1111/faceid/app/reverse_search/factory.py
-
curl -L -o factory.py https://huggingface.co/spaces/rishik1111/faceid/resolve/main/app/reverse_search/factory.py
1.77 kB
| import os | |
| import logging | |
| from app.reverse_search.serpapi_provider import SerpApiGoogleLensProvider | |
| from app.reverse_search.bing_provider import AzureBingVisualSearchProvider | |
| from app.reverse_search.tineye_provider import TinEyeProvider | |
| from app.reverse_search.free_scraper_provider import FreeWebScraperProvider | |
| def get_providers(): | |
| """ | |
| Instantiates and returns a list of configured providers. | |
| Order determines fallback priority. | |
| """ | |
| providers = [] | |
| # 0. Free Web Scraper (if enabled) | |
| if os.getenv("USE_FREE_SCRAPER", "").lower() == "true": | |
| try: | |
| providers.append(FreeWebScraperProvider()) | |
| logging.info("Enabled completely FREE web scraper as primary provider.") | |
| except Exception as e: | |
| logging.warning(f"Failed to initialize FreeWebScraperProvider: {e}") | |
| # 1. SerpApi | |
| if os.getenv("SERPAPI_API_KEY"): | |
| try: | |
| providers.append(SerpApiGoogleLensProvider()) | |
| except Exception as e: | |
| logging.warning(f"Failed to initialize SerpApiGoogleLensProvider: {e}") | |
| # 2. Bing Visual Search | |
| if os.getenv("BING_SEARCH_API_KEY"): | |
| try: | |
| providers.append(AzureBingVisualSearchProvider()) | |
| except Exception as e: | |
| logging.warning(f"Failed to initialize AzureBingVisualSearchProvider: {e}") | |
| # 3. TinEye | |
| if os.getenv("TINEYE_API_KEY"): | |
| try: | |
| providers.append(TinEyeProvider()) | |
| except Exception as e: | |
| logging.warning(f"Failed to initialize TinEyeProvider: {e}") | |
| if not providers: | |
| logging.warning("No reverse image search providers are configured! Please configure API keys in .env.") | |
| return providers | |