borakol's picture
Update app.py
4ba9d84 verified
import gradio as gr
from google import genai
from smolagents import DuckDuckGoSearchTool
search_tool = DuckDuckGoSearchTool()
def search_and_answer(question: str , api_key: str) -> str: ## question string tipinde olmalı ve çıktısı da string olmalı , değişkenin doğru şekilde gönderilmesi ve çıktının istenilen formatta alınması sağlanabilir
result = search_tool(question)
prompt = f''' {question} sorusunu arama sonuçlarına göre cevapla.
Arama sonuçları : {result}
Verdiğin yanıtın arama sonuçlarına dayalı olarak oluşturulmasına dikkat et.
Kullanıcıya kısa bir yanıt sağla.
''' ##birden fazla satır olacaksa bu şekilde gösterebiliriz
client = genai.Client(api_key = api_key)
response = client.models.generate_content(
model = "gemini-2.0-flash" ,
contents = [prompt]
)
return response.text
api_key = gr.Textbox(
placeholder = "Enter your Gemini API Key" ,
label="🔑 API Key",
type = "password" ,
interactive = True ,
elem_id = "api-key-input"
)
demo = gr.Interface(
fn = search_and_answer ,
title = "Web Arama Destekli LLMs" ,
theme = gr.themes.Soft() ,
inputs = [
gr.Textbox(label="Soru") ,
api_key
] ,
outputs = gr.Textbox(label="Cevap")
)
if __name__ == "__main__" :
demo.launch(show_error=True)