Skip to content

Commit 0a83ef5

Browse files
committed
initial pass
1 parent 23fe651 commit 0a83ef5

File tree

9 files changed

+631
-15
lines changed

9 files changed

+631
-15
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,5 @@ ggml-metal.metal
1010
News*.json
1111
sqlite-lembed.h
1212
dist/
13+
14+
*.db

Makefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,11 @@ $(TARGET_LOADABLE): sqlite-lembed.c sqlite-lembed.h $(BUILD_DIR) $(prefix)
8585
ls $(BUILD_DIR)
8686
cp $(BUILT_LOADABLE_PATH) $@
8787

88+
$(TARGET_STATIC): sqlite-lembed.c sqlite-lembed.h $(BUILD_DIR) $(prefix)
89+
cmake --build $(BUILD_DIR) -t sqlite_lembed_static $(EXTRA_CMAKE_BUILD)
90+
ls $(BUILD_DIR)
91+
cp $(BUILT_LOADABLE_PATH) $@
92+
8893

8994
sqlite-lembed.h: sqlite-lembed.h.tmpl VERSION
9095
VERSION=$(shell cat VERSION) \

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ To load it into `sqlite-lembed`, register it with the `temp.lembed_models` table
1717
```sql
1818
.load ./lembed0
1919

20-
INSERT INTO temp.lembed_models(name, model)
21-
select 'all-MiniLM-L6-v2', lembed_model_from_file('all-MiniLM-L6-v2.e4ce9877.q8_0.gguf');
20+
insert into temp.lembed_models(name, model)
21+
values ('default', lembed_model_from_file('all-MiniLM-L6-v2.e4ce9877.q8_0.gguf'));
2222

2323
select lembed(
2424
'all-MiniLM-L6-v2',
@@ -54,7 +54,7 @@ create virtual table vec_articles using vec0(
5454
);
5555

5656
insert into vec_articles(rowid, headline_embeddings)
57-
select rowid, lembed('all-MiniLM-L6-v2', headline)
57+
select rowid, lembed( headline)
5858
from articles;
5959

6060
```
@@ -71,7 +71,7 @@ with matches as (
7171
rowid,
7272
distance
7373
from vec_articles
74-
where headline_embeddings match lembed('all-MiniLM-L6-v2', :query)
74+
where headline_embeddings match lembed(:query)
7575
order by distance
7676
limit 3
7777
)

bench/batch.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#!/bin/bash

debug.sql

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
.load ./dist/lembed0
2+
.load ../sqlite-vec/dist/vec0
3+
4+
select lembed_version(), lembed_debug();
5+
6+
insert into temp.lembed_models(name, model)
7+
select 'default', lembed_model_from_file('');
8+
9+
select vec_to_json(vec_slice(lembed('Shohei Ohtani''s ex-interpreter pleads guilty to charges related to gambling and theft'), 0, 8));
10+
select vec_to_json(vec_slice(lembed('The jury has been selected in Hunter Biden''s gun trial'), 0, 8));
11+
12+
13+
.mode box
14+
.header on
15+
16+
select
17+
rowid,
18+
contents,
19+
--length(embedding),
20+
vec_to_json(vec_slice(embedding, 0, 8)),
21+
vec_to_json(vec_slice(lembed(contents), 0, 8))
22+
23+
from lembed_batch(
24+
(
25+
'[
26+
{"contents": "Shohei Ohtani''s ex-interpreter pleads guilty to charges related to gambling and theft"}
27+
]'
28+
)
29+
);
30+
31+
32+
select
33+
rowid,
34+
contents,
35+
--length(embedding),
36+
vec_to_json(vec_slice(embedding, 0, 8)),
37+
vec_to_json(vec_slice(lembed(contents), 0, 8))
38+
39+
from lembed_batch(
40+
(
41+
'[
42+
{"contents": "Shohei Ohtani''s ex-interpreter pleads guilty to charges related to gambling and theft"},
43+
{"contents": "The jury has been selected in Hunter Biden''s gun trial"}
44+
]'
45+
)
46+
);

0 commit comments

Comments
 (0)