tahamueed23 commited on
Commit
7ad0720
·
verified ·
1 Parent(s): 2fe6485

Upload 8 files

Browse files
.gitattributes CHANGED
@@ -33,3 +33,6 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ feedback.csv filter=lfs diff=lfs merge=lfs -text
37
+ feedback.index filter=lfs diff=lfs merge=lfs -text
38
+ student_feedback.index filter=lfs diff=lfs merge=lfs -text
app.py ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import pandas as pd
3
+ import numpy as np
4
+ import faiss
5
+ from sentence_transformers import SentenceTransformer
6
+ import joblib
7
+
8
+ # Load all assets
9
+ df = pd.read_csv("clean_feedback.csv")
10
+ embeddings = np.load("embeddings.npy")
11
+ index = faiss.read_index("feedback.index")
12
+ clf = joblib.load("clf.pkl")
13
+
14
+ model = SentenceTransformer("paraphrase-multilingual-MiniLM-L12-v2")
15
+
16
+ def classify_feedback(text, top_k=5):
17
+ # Embed query
18
+ query_emb = model.encode([text])
19
+
20
+ # Retrieve top-k similar samples
21
+ distances, indices = index.search(query_emb, top_k)
22
+
23
+ # Gather context
24
+ retrieved = df.iloc[indices[0]]
25
+ context = "\n".join(retrieved['Sentence'].tolist())
26
+
27
+ # Predict sentiment
28
+ sentiment = clf.predict(query_emb)[0]
29
+
30
+ # Prepare explanation
31
+ examples = "\n".join([f"{i+1}. {s}" for i, s in enumerate(retrieved['Sentence'].tolist())])
32
+
33
+ return f"**Predicted Sentiment:** {sentiment}\n\n**Similar Feedbacks:**\n{examples}"
34
+
35
+ # Gradio UI
36
+ demo = gr.Interface(
37
+ fn=classify_feedback,
38
+ inputs=[gr.Textbox(label="Enter Student Feedback")],
39
+ outputs=[gr.Markdown(label="Prediction & Explanation")],
40
+ title="🎓 Student Feedback RAG System",
41
+ description="Classifies Roman Urdu/English student feedback with context and reasoning."
42
+ )
43
+
44
+ demo.launch()
clean_feedback.csv ADDED
The diff for this file is too large to render. See raw diff
 
embeddings.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4bfdfbda701d124462e18901b9a5ecc91df0283e1f8355c4ff4ed468ece4a051
3
+ size 24417920
feedback.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:12e6a6cf8a9d8adad29d9efaea544e99a4e90f6eac89e456ae5e9356549721f7
3
+ size 184669
feedback.index ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ee87c03bee27ad4c8a9fbea35fc66b0e6c9052958b21d9228b4b0a7413be8b89
3
+ size 8139309
feedback_model.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:844d8d471204ff641710dfa0ad4b223310ac0f77678555d4e90d1284e73a6ecd
3
+ size 682
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ gradio
2
+ faiss-cpu
3
+ numpy
4
+ pandas
5
+ scikit-learn
6
+ sentence-transformers
student_feedback.index ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ee87c03bee27ad4c8a9fbea35fc66b0e6c9052958b21d9228b4b0a7413be8b89
3
+ size 8139309