mohamedbmt commited on
Commit
6d57a66
·
1 Parent(s): 50d56ad

Add launch.sh and app files

Browse files
Files changed (3) hide show
  1. app.py +37 -0
  2. launch.sh +3 -0
  3. requirements.txt +4 -0
app.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from transformers import AutoModelForSequenceClassification, AutoTokenizer, pipeline
3
+ from peft import PeftModel
4
+ import torch
5
+
6
+ @st.cache_resource
7
+ def load_model():
8
+ base_model = "Qwen/Qwen3-0.6B"
9
+ adapter_path = "faizabenatmane/Qwen-3-0.6B"
10
+
11
+ tokenizer = AutoTokenizer.from_pretrained(base_model)
12
+
13
+ base = AutoModelForSequenceClassification.from_pretrained(
14
+ base_model,
15
+ num_labels=2,
16
+ device_map="cpu"
17
+ )
18
+
19
+ model = PeftModel.from_pretrained(base, adapter_path)
20
+ model = model.merge_and_unload()
21
+
22
+ pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
23
+ return pipe
24
+
25
+ generator = load_model()
26
+
27
+ st.title("📰 Fake News Detection")
28
+ text = st.text_area("Enter a statement (news or claim):", height=200)
29
+
30
+ if st.button("Check"):
31
+ with st.spinner("Analyzing..."):
32
+ prompt = f"Determine if the following statement is fake or real:\n\n{text}\n\nAnswer:"
33
+ output = generator(prompt, max_length=50, do_sample=False)[0]['generated_text']
34
+ answer = output.split("Answer:")[-1].strip().split()[0]
35
+
36
+ st.subheader("Prediction")
37
+ st.success(f"🧠 The statement is likely: **{answer}**")
launch.sh ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ #!/bin/bash
2
+ pip install -r requirements.txt
3
+ streamlit run app.py --server.port $PORT --server.address 0.0.0.0
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ streamlit
2
+ transformers
3
+ torch
4
+ peft