Shami96 commited on
Commit
5a35ca5
Β·
verified Β·
1 Parent(s): 481eae0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -20
app.py CHANGED
@@ -1,23 +1,32 @@
 
 
1
  import streamlit as st
2
- import pandas as pd
3
- from utils import load_tenders, format_tender_info
4
- from model_config import get_model
 
5
 
6
  st.title("πŸ“‘ PPRA Tender Co-Pilot")
7
- user_name = st.text_input("Enter your name", "Guest")
8
-
9
- tenders = load_tenders()
10
- df = pd.DataFrame(tenders)
11
- st.subheader("πŸ“Œ Active Tenders")
12
- st.dataframe(df)
13
-
14
- st.subheader("πŸ€– Ask About a Tender")
15
- selected = st.selectbox("Choose a tender", options=[t['Tender No'] for t in tenders])
16
- chosen = next(t for t in tenders if t["Tender No"] == selected)
17
-
18
- if st.button("Generate Response"):
19
- llm = get_model()
20
- prompt = format_tender_info(chosen, user_name)
21
- with st.spinner("Thinking..."):
22
- response = llm(prompt, max_length=150, do_sample=True)[0]["generated_text"]
23
- st.success(response)
 
 
 
 
 
 
 
1
+ # app.py
2
+
3
  import streamlit as st
4
+ from model_config import query_llm
5
+ from utils import extract_text_from_pdf
6
+
7
+ st.set_page_config(page_title="PPRA Co-Pilot πŸ‡΅πŸ‡°", layout="centered")
8
 
9
  st.title("πŸ“‘ PPRA Tender Co-Pilot")
10
+ st.subheader("Your AI Assistant for Government Tender Understanding")
11
+
12
+ name = st.text_input("Enter your name (for personalization):", "")
13
+
14
+ uploaded_file = st.file_uploader("Upload a Tender Document (PDF)", type=["pdf"])
15
+
16
+ if uploaded_file:
17
+ with st.spinner("Reading your tender..."):
18
+ text = extract_text_from_pdf(uploaded_file)
19
+
20
+ st.text_area("πŸ“œ Tender Preview:", value=text[:1000], height=250)
21
+
22
+ if st.button("πŸ” Analyze with AI"):
23
+ with st.spinner("Thinking..."):
24
+ prompt = f"""You are a helpful assistant for government tenders in Pakistan.
25
+ A user named {name or "User"} has uploaded the following tender:
26
+
27
+ {text[:2000]}
28
+
29
+ Summarize the key points, list the eligibility criteria, and suggest action steps for participation. Keep it concise and beginner-friendly."""
30
+ response = query_llm(prompt)
31
+ st.success("βœ… AI Response:")
32
+ st.markdown(response)