from google import genai from google.genai import types import gradio as gr import time import os api_key = os.getenv("GEMINI_API_KEY") client = genai.Client(api_key=api_key) grounding_tool = types.Tool( google_search=types.GoogleSearch() ) def nodexlSearch(prompt, history): """ Responds to questions about NodeXL. 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="gemini-2.5-flash", config=types.GenerateContentConfig( system_instruction=""" You are a very experienced and knowlegdeable NodeXL expert. Answer only questions about NodeXL. If a question is not about NodeXL, give the following response:'Sorry, I can only assist you with NodeXL questions.' """, tools=[grounding_tool]), contents=prompt ) # 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]