matsuap commited on
Commit
04ea0e7
Β·
1 Parent(s): 0b7ae0a

Initial setup of the project structure and basic files.

Browse files
Files changed (3) hide show
  1. .gitignore +2 -0
  2. app.py +35 -0
  3. requirements.txt +2 -0
.gitignore ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ .venv/
2
+ *.un~
app.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import requests
3
+
4
+ def brave_search(query, api_key):
5
+ url = "https://api.search.brave.com/res/v1/web/search"
6
+ headers = {
7
+ "Accept": "application/json",
8
+ "X-Subscription-Token": api_key
9
+ }
10
+ params = {
11
+ "q": query,
12
+ "count": 5
13
+ }
14
+ response = requests.get(url, headers=headers, params=params)
15
+ if response.status_code == 200:
16
+ results = response.json().get("web", {}).get("results", [])
17
+ if not results:
18
+ return "ζ€œη΄’η΅ζžœγŒθ¦‹γ€γ‹γ‚ŠγΎγ›γ‚“γ§γ—γŸγ€‚"
19
+ output = ""
20
+ for r in results:
21
+ output += f"【{r.get('title','No Title')}】\n{r.get('url','')}\n{r.get('description','')}\n\n"
22
+ return output
23
+ else:
24
+ return f"γ‚¨γƒ©γƒΌγŒη™Ίη”Ÿγ—γΎγ—γŸ: {response.status_code}"
25
+
26
+ with gr.Blocks() as demo:
27
+ gr.Markdown("# Brave API ζ€œη΄’γ‚’γƒ—γƒͺ")
28
+ api_key = gr.Textbox(label="Brave APIγ‚­γƒΌ", type="password")
29
+ query = gr.Textbox(label="ζ€œη΄’γ‚―γ‚¨γƒͺ")
30
+ output = gr.Textbox(label="怜紒硐果", lines=10)
31
+ search_btn = gr.Button("怜紒")
32
+ search_btn.click(fn=brave_search, inputs=[query, api_key], outputs=output)
33
+
34
+ if __name__ == "__main__":
35
+ demo.launch(mcp_server=True)
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ gradio[mcp]
2
+ numpy