Spaces:
Runtime error
Runtime error
Fetching metadata from the HF Docker repository...
Ctrl+K
- 1.52 kB initial commit
- 277 Bytes initial commit
- 417 Bytes Update add_case.html
- 0 Bytes Create admin.html
- 912 Bytes from transformers import pipeline from sentence_transformers import SentenceTransformer, util # Hugging Face models summarizer = pipeline("summarization", model="facebook/bart-large-cnn") embed_model = SentenceTransformer('all-MiniLM-L6-v2') def summarize_text(text): if len(text.split()) > 500: text = " ".join(text.split()[:500]) summary = summarizer(text, max_length=100, min_length=30, do_sample=False) return summary[0]['summary_text'] def find_similar_cases(new_text, past_cases, threshold=0.7): new_embedding = embed_model.encode(new_text, convert_to_tensor=True) similar = [] for case in past_cases: past_embedding = embed_model.encode(case.description, convert_to_tensor=True) score = util.pytorch_cos_sim(new_embedding, past_embedding).item() if score >= threshold: similar.append((case.title, round(score, 2))) return similar
- 1.98 kB from flask import Flask, render_template, request, redirect, session, url_for from models import db, User, Case from ai_module import summarize_text, find_similar_cases from utils import extract_text_from_pdf import os app = Flask(__name__) app.secret_key = "supersecretkey" # PostgreSQL DB app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://user:password@localhost/national_ai_judicial' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db.init_app(app) UPLOAD_FOLDER = 'uploads' os.makedirs(UPLOAD_FOLDER, exist_ok=True) app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER # ---------------- Routes ---------------- # @app.route('/', methods=['GET','POST']) def login(): # Login logic same as before ... @app.route('/dashboard') def dashboard(): cases = Case.query.all() return render_template('dashboard.html', cases=cases, user=session['username'], role=session['role']) @app.route('/add_case', methods=['GET','POST']) def add_case(): if request.method == 'POST': title = request.form['title'] description = request.form['description'] court = request.form['court'] # PDF upload optional pdf_file = request.files.get('pdf_file') filename = None if pdf_file: filename = pdf_file.filename pdf_path = os.path.join(app.config['UPLOAD_FOLDER'], filename) pdf_file.save(pdf_path) pdf_text = extract_text_from_pdf(pdf_path) description += "\n" + pdf_text summary = summarize_text(description) new_case = Case(title=title, description=description, summary=summary, pdf_filename=filename, court=court) db.session.add(new_case) db.session.commit() similar = find_similar_cases(description, Case.query.all()) return render_template('dashboard.html', cases=Case.query.all(), similar_cases=similar, user=session['username'], role=session['role']) return render_template('add_case.html')
- 413 Bytes Update dashboard.html
- 244 Bytes Update login.html
- 554 Bytes from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(50), unique=True) password = db.Column(db.String(50)) role = db.Column(db.String(20)) # judge, lawyer, clerk, admin class Case(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(200)) description = db.Column(db.Text) summary = db.Column(db.Text) pdf_filename = db.Column(db.String(200)) court = db.Column(db.String(100))
- 71 Bytes Update requirements.txt
- 195 Bytes import PyPDF2 def extract_text_from_pdf(pdf_file): reader = PyPDF2.PdfReader(pdf_file) text = "" for page in reader.pages: text += page.extract_text() + "\n" return text