Spaces:
Running
Running
import gradio as gr | |
import requests | |
def brave_search(query, api_key): | |
url = "https://api.search.brave.com/res/v1/web/search" | |
headers = { | |
"Accept": "application/json", | |
"X-Subscription-Token": api_key | |
} | |
params = { | |
"q": query, | |
"count": 5 | |
} | |
response = requests.get(url, headers=headers, params=params) | |
if response.status_code == 200: | |
results = response.json().get("web", {}).get("results", []) | |
if not results: | |
return "ζ€η΄’η΅ζγθ¦γ€γγγΎγγγ§γγγ" | |
output = "" | |
for r in results: | |
output += f"γ{r.get('title','No Title')}γ\n{r.get('url','')}\n{r.get('description','')}\n\n" | |
return output | |
else: | |
return f"γ¨γ©γΌγηΊηγγΎγγ: {response.status_code}" | |
with gr.Blocks() as demo: | |
gr.Markdown("# Brave API ζ€η΄’γ’γγͺ") | |
api_key = gr.Textbox(label="Brave APIγγΌ", type="password") | |
query = gr.Textbox(label="ζ€η΄’γ―γ¨γͺ") | |
output = gr.Textbox(label="ζ€η΄’η΅ζ", lines=10) | |
search_btn = gr.Button("ζ€η΄’") | |
search_btn.click(fn=brave_search, inputs=[query, api_key], outputs=output) | |
if __name__ == "__main__": | |
demo.launch(mcp_server=True) | |