gaur3009 commited on
Commit
911a7e5
Β·
verified Β·
1 Parent(s): 1262e09

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -19
app.py CHANGED
@@ -1,31 +1,34 @@
1
- # app.py
2
  import gradio as gr
3
  from search import search_google
4
  from scraper import scrape_url
5
- from rag import VectorStore
6
  from llm import generate_answer
7
 
8
- # init vector store (in-memory)
9
- vs = VectorStore()
10
-
11
  def ask_agent(question):
12
- # Step 1: search
13
- urls = search_google(question, num_results=3)
14
- # Step 2: scrape
15
- texts = [scrape_url(url) for url in urls]
16
- # Step 3: embed + store
17
- vs.add_texts(texts)
18
- # Step 4: retrieve
19
- relevant = vs.retrieve(question, top_k=2)
20
- context = "\n\n".join(relevant)
21
- # Step 5: generate answer
22
  answer = generate_answer(context, question)
23
- return f"### 🧠 Answer:\n{answer}\n\n\n### πŸ”— Sources:\n" + "\n".join(urls)
 
 
 
 
 
 
 
 
 
 
 
24
 
25
  with gr.Blocks() as demo:
26
- gr.Markdown("# πŸ” AI Web RAG Agent\nAsk me anything; I'll search, scrape and answer!")
27
- with gr.Row():
28
- inp = gr.Textbox(label="Your question")
29
  out = gr.Markdown()
30
  btn = gr.Button("Ask")
31
  btn.click(fn=ask_agent, inputs=inp, outputs=out)
 
 
1
  import gradio as gr
2
  from search import search_google
3
  from scraper import scrape_url
 
4
  from llm import generate_answer
5
 
 
 
 
6
  def ask_agent(question):
7
+ urls = search_google(question, num_results=5)
8
+
9
+ if not urls:
10
+ return "❗ No search results found."
11
+
12
+ first_url = urls[0]
13
+ context = scrape_url(first_url)
14
+
 
 
15
  answer = generate_answer(context, question)
16
+
17
+ # Show other high quality links as sources (skip first scraped one)
18
+ better_links = "\n".join([f- [{u}]({u})" for u in urls[1:]])
19
+
20
+ return f"""### 🧠 **Answer**
21
+ {answer}
22
+
23
+ βœ… **Context scraped from:** [{first_url}]({first_url})
24
+
25
+ πŸ“š **Other useful links:**
26
+ {better_links if better_links else 'No other links'}
27
+ """
28
 
29
  with gr.Blocks() as demo:
30
+ gr.Markdown("# πŸ” Dynamic RAG agent\nScrapes *one* top site, answers, and shows more trusted links.")
31
+ inp = gr.Textbox(label="Ask your question")
 
32
  out = gr.Markdown()
33
  btn = gr.Button("Ask")
34
  btn.click(fn=ask_agent, inputs=inp, outputs=out)