File size: 1,797 Bytes
da8dab8 bba2fd8 da8dab8 930e1b9 da8dab8 930e1b9 e9c79f8 0b88451 e9c79f8 0b88451 f7eea1b 0b88451 f7eea1b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | import sqlite3
import json
DB_FILE = 'predictions.db'
def init_db():
conn = sqlite3.connect(DB_FILE)
c = conn.cursor()
c.execute('''
CREATE TABLE IF NOT EXISTS predictions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
input TEXT,
predicted_class TEXT,
probability REAL,
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP
)
''')
conn.commit()
conn.close()
def insert_prediction(input_data, result):
conn = sqlite3.connect(DB_FILE)
c = conn.cursor()
c.execute('''
INSERT INTO predictions (input, predicted_class, probability)
VALUES (?, ?, ?)
''', (json.dumps(input_data), result['class'], result['probability']))
conn.commit()
conn.close()
def get_latest_prediction():
conn = sqlite3.connect(DB_FILE)
c = conn.cursor()
c.execute('''
SELECT input, predicted_class, probability, timestamp
FROM predictions
ORDER BY id DESC
LIMIT 2
''')
rows = c.fetchall()
conn.close()
if rows:
return [
{
"input": json.loads(row[0]),
"class": row[1],
"probability": row[2],
"timestamp": row[3]
}
for row in rows
]
return []
def get_all_predictions():
conn = sqlite3.connect(DB_FILE)
c = conn.cursor()
c.execute('''
SELECT input, predicted_class, probability, timestamp
FROM predictions
''')
rows = c.fetchall()
conn.close()
results = []
for row in rows:
results.append({
"input": json.loads(row[0]),
"class": row[1],
"probability": row[2],
"timestamp": row[3]
})
return results
|