Download tavily_search.py from mgbam/builder: direct link, hf CLI and curl.
- Browser
- Download file 1.98 kB
-
https://huggingface.co/spaces/mgbam/builder/resolve/main/tavily_search.py
- Command line
-
hf download hf://spaces/mgbam/builder/tavily_search.py
-
curl -L -o tavily_search.py https://huggingface.co/spaces/mgbam/builder/resolve/main/tavily_search.py
1.98 kB
| def perform_web_search(query: str, max_results: int = 5, include_domains=None, exclude_domains=None) -> str: | |
| """Perform web search using Tavily with default parameters""" | |
| if not tavily_client: | |
| return "Web search is not available. Please set the TAVILY_API_KEY environment variable." | |
| try: | |
| # Use Tavily defaults with advanced search depth for better results | |
| search_params = { | |
| "search_depth": "advanced", | |
| "max_results": min(max(1, max_results), 20) | |
| } | |
| if include_domains is not None: | |
| search_params["include_domains"] = include_domains | |
| if exclude_domains is not None: | |
| search_params["exclude_domains"] = exclude_domains | |
| response = tavily_client.search(query, **search_params) | |
| search_results = [] | |
| for result in response.get('results', []): | |
| title = result.get('title', 'No title') | |
| url = result.get('url', 'No URL') | |
| content = result.get('content', 'No content') | |
| search_results.append(f"Title: {title}\nURL: {url}\nContent: {content}\n") | |
| if search_results: | |
| return "Web Search Results:\n\n" + "\n---\n".join(search_results) | |
| else: | |
| return "No search results found." | |
| except Exception as e: | |
| return f"Search error: {str(e)}" | |
| def enhance_query_with_search(query: str, enable_search: bool) -> str: | |
| """Enhance the query with web search results if search is enabled""" | |
| if not enable_search or not tavily_client: | |
| return query | |
| # Perform search to get relevant information | |
| search_results = perform_web_search(query) | |
| # Combine original query with search results | |
| enhanced_query = f"""Original Query: {query} | |
| {search_results} | |
| Please use the search results above to help create the requested application with the most up-to-date information and best practices.""" | |
| return enhanced_query | |