mirror of
https://github.com/asg017/sqlite-vec.git
synced 2026-04-25 00:36:56 +02:00
small demo fixes
This commit is contained in:
parent
f532692f7b
commit
c446cc3963
3 changed files with 8 additions and 14 deletions
|
|
@ -22,7 +22,7 @@ const items = [
|
||||||
];
|
];
|
||||||
const query = [0.3, 0.3, 0.3, 0.3];
|
const query = [0.3, 0.3, 0.3, 0.3];
|
||||||
|
|
||||||
db.exec("CREATE VIRTUAL TABLE vec_items USING vec0(embedding float[8])");
|
db.exec("CREATE VIRTUAL TABLE vec_items USING vec0(embedding float[4])");
|
||||||
|
|
||||||
const insertStmt = db.prepare(
|
const insertStmt = db.prepare(
|
||||||
"INSERT INTO vec_items(rowid, embedding) VALUES (?, vec_f32(?))"
|
"INSERT INTO vec_items(rowid, embedding) VALUES (?, vec_f32(?))"
|
||||||
|
|
@ -48,6 +48,6 @@ const rows = db
|
||||||
LIMIT 3
|
LIMIT 3
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
.all(query);
|
.all(new Float32Array(query));
|
||||||
|
|
||||||
console.log(rows);
|
console.log(rows);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { Database } from "jsr:@db/sqlite@0.11";
|
import { Database } from "jsr:@db/sqlite@0.11";
|
||||||
import * as sqliteVec from "npm:sqlite-vec@0.0.1-alpha.3";
|
import * as sqliteVec from "npm:sqlite-vec@0.0.1-alpha.9";
|
||||||
|
|
||||||
const db = new Database(":memory:");
|
const db = new Database(":memory:");
|
||||||
db.enableLoadExtension = true;
|
db.enableLoadExtension = true;
|
||||||
|
|
@ -8,7 +8,7 @@ db.enableLoadExtension = false;
|
||||||
|
|
||||||
const [sqlite_version, vec_version] = db
|
const [sqlite_version, vec_version] = db
|
||||||
.prepare("select sqlite_version(), vec_version()")
|
.prepare("select sqlite_version(), vec_version()")
|
||||||
.value<[string]>()!;
|
.value<[string, string]>()!;
|
||||||
console.log(`sqlite_version=${sqlite_version}, vec_version=${vec_version}`);
|
console.log(`sqlite_version=${sqlite_version}, vec_version=${vec_version}`);
|
||||||
|
|
||||||
const items = [
|
const items = [
|
||||||
|
|
|
||||||
|
|
@ -10,25 +10,16 @@ def serialize_f32(vector: List[float]) -> bytes:
|
||||||
return struct.pack("%sf" % len(vector), *vector)
|
return struct.pack("%sf" % len(vector), *vector)
|
||||||
|
|
||||||
|
|
||||||
def serialize_int8(vector: List[int]) -> bytes:
|
|
||||||
"""serializes a list of int8 into a compact "raw bytes" format"""
|
|
||||||
return struct.pack("%sb" % len(vector), *vector)
|
|
||||||
|
|
||||||
|
|
||||||
db = sqlite3.connect(":memory:")
|
db = sqlite3.connect(":memory:")
|
||||||
db.enable_load_extension(True)
|
db.enable_load_extension(True)
|
||||||
sqlite_vec.load(db)
|
sqlite_vec.load(db)
|
||||||
db.enable_load_extension(False)
|
db.enable_load_extension(False)
|
||||||
|
|
||||||
|
|
||||||
sqlite_version, vec_version = db.execute(
|
sqlite_version, vec_version = db.execute(
|
||||||
"select sqlite_version(), vec_version()"
|
"select sqlite_version(), vec_version()"
|
||||||
).fetchone()
|
).fetchone()
|
||||||
print(f"sqlite_version={sqlite_version}, vec_version={vec_version}")
|
print(f"sqlite_version={sqlite_version}, vec_version={vec_version}")
|
||||||
|
|
||||||
|
|
||||||
db.execute("CREATE VIRTUAL TABLE vec_items USING vec0(embedding float[4])")
|
|
||||||
|
|
||||||
items = [
|
items = [
|
||||||
(1, [0.1, 0.1, 0.1, 0.1]),
|
(1, [0.1, 0.1, 0.1, 0.1]),
|
||||||
(2, [0.2, 0.2, 0.2, 0.2]),
|
(2, [0.2, 0.2, 0.2, 0.2]),
|
||||||
|
|
@ -36,6 +27,10 @@ items = [
|
||||||
(4, [0.4, 0.4, 0.4, 0.4]),
|
(4, [0.4, 0.4, 0.4, 0.4]),
|
||||||
(5, [0.5, 0.5, 0.5, 0.5]),
|
(5, [0.5, 0.5, 0.5, 0.5]),
|
||||||
]
|
]
|
||||||
|
query = [0.3, 0.3, 0.3, 0.3]
|
||||||
|
|
||||||
|
db.execute("CREATE VIRTUAL TABLE vec_items USING vec0(embedding float[4])")
|
||||||
|
|
||||||
with db:
|
with db:
|
||||||
for item in items:
|
for item in items:
|
||||||
db.execute(
|
db.execute(
|
||||||
|
|
@ -43,7 +38,6 @@ with db:
|
||||||
[item[0], serialize_f32(item[1])],
|
[item[0], serialize_f32(item[1])],
|
||||||
)
|
)
|
||||||
|
|
||||||
query = [0.3, 0.3, 0.3, 0.3]
|
|
||||||
rows = db.execute(
|
rows = db.execute(
|
||||||
"""
|
"""
|
||||||
SELECT
|
SELECT
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue