Spaces:
Running
Running
| from google import genai | |
| from google.genai.types import Tool, GenerateContentConfig, GoogleSearch | |
| import time | |
| import os | |
| api_key = os.getenv("GEMINI_API_KEY") | |
| client = genai.Client(api_key=api_key) | |
| model_id = "gemini-2.0-flash" | |
| google_search_tool = Tool( | |
| google_search = GoogleSearch() | |
| ) | |
| def webSearch(prompt): | |
| """ | |
| Searches the web using Google Search. | |
| Args: | |
| prompt: A string representing the search query | |
| Returns: | |
| Search results in natural language. | |
| """ | |
| response = client.models.generate_content( | |
| model=model_id, | |
| contents=prompt, | |
| config=GenerateContentConfig( | |
| tools=[google_search_tool], | |
| response_modalities=["TEXT"], | |
| ) | |
| ) | |
| # stream response | |
| for each in response.candidates[0].content.parts: | |
| for i in range(len(each.text)): | |
| time.sleep(0.001) | |
| yield each.text[: i+1] | |