Newer
Older
TelosDB / src / db.js
@楽曲作りまくりおじさん 楽曲作りまくりおじさん 8 days ago 664 bytes Add MCP server with llama.cpp integration and docs
import Database from "better-sqlite3";
import knex from "knex";
import * as sqlite_vec from "sqlite-vec";

const db = new Database("vector.db");
sqlite_vec.load(db);

const knexDb = knex({
  client: "better-sqlite3",
  connection: {
    filename: "vector.db",
  },
  useNullAsDefault: true,
});

export const EMBEDDING_DIM = Number(process.env.VEC_DIM ?? 3);

export function initDb() {
  db.exec(`
    CREATE TABLE if not exists items (
      id INTEGER PRIMARY KEY,
      content TEXT
    );
    CREATE VIRTUAL TABLE if not exists vec_items USING vec0(
      id integer primary key,
      embedding float[${EMBEDDING_DIM}]
    );
  `);
}

export { db, knexDb };