File size: 1,006 Bytes
3813680
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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,history):
  """
  Searches the web using Google Search.

  Args:
      prompt: A string representing the search query
      history: A placeholder representing query history
      
  Returns:
      Search results in natural language.
  """  

  combined_prompt = f"Current information: \n\nQuestion: {prompt}"

  response = client.models.generate_content(
    model=model_id,
    contents=combined_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]