rianders/live_view_embeddings
0
1import sqlite32import pandas as pd3import numpy as np4 5def init_db():6 conn = sqlite3.connect('embeddings.db')7 c = conn.cursor()8 c.execute('''CREATE TABLE IF NOT EXISTS embeddings9 (sentence TEXT, embedding BLOB)''')10 conn.commit()11 conn.close()12 13def save_embeddings_to_db(sentence, embedding):14 conn = sqlite3.connect('embeddings.db')15 c = conn.cursor()16 embedding_blob = sqlite3.Binary(embedding.tobytes())17 c.execute("INSERT INTO embeddings (sentence, embedding) VALUES (?, ?)", (sentence, embedding_blob))18 conn.commit()19 conn.close()20 21def get_all_embeddings():22 conn = sqlite3.connect('embeddings.db')23 c = conn.cursor()24 c.execute("SELECT sentence, embedding FROM embeddings")25 data = c.fetchall()26 conn.close()27 embeddings = [np.frombuffer(row[1], dtype=np.float32) for row in data]28 sentences = [row[0] for row in data]29 return embeddings, sentences30 31def clear_all_entries():32 conn = sqlite3.connect('embeddings.db')33 c = conn.cursor()34 c.execute("DELETE FROM embeddings")35 conn.commit()36 conn.close()37 38def fetch_data_as_csv():39 conn = sqlite3.connect('embeddings.db')40 query = "SELECT sentence, embedding FROM embeddings"41 df = pd.read_sql_query(query, conn)42 conn.close()43 return df.to_csv(index=False)44 