Skip to content

Commit

Permalink
Merge pull request #262 from tursodatabase/upgrade-to-0.4.4
Browse files Browse the repository at this point in the history
upgrade libsql-js: 0.4.1 -> 0.4.4
  • Loading branch information
sivukhin authored Sep 13, 2024
2 parents 017afb7 + 0233daa commit 10cd150
Show file tree
Hide file tree
Showing 6 changed files with 100 additions and 159 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 0.11.0 -- 2024-09-13

- Upgrade `libsql-js` to latest 0.4.4 version which brings full vector search support for embedded replicas (see vector search documentation here: https://docs.turso.tech/features/ai-and-embeddings)

## 0.10.0 -- 2024-08-26

- Add a migrate() API that can be used to do migrations on both schema databases and regular databases. It is mostly dedicated to schema migration tools.
Expand Down
192 changes: 39 additions & 153 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions packages/libsql-client-wasm/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@libsql/client-wasm",
"version": "0.10.0",
"version": "0.11.0",
"keywords": [
"libsql",
"database",
Expand Down Expand Up @@ -56,7 +56,7 @@
"typedoc": "rm -rf ./docs && typedoc"
},
"dependencies": {
"@libsql/core": "^0.10.0",
"@libsql/core": "^0.11.0",
"@libsql/libsql-wasm-experimental": "^0.0.2",
"js-base64": "^3.7.5"
},
Expand Down
51 changes: 51 additions & 0 deletions packages/libsql-client/examples/sync_vector.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import { createClient } from "@libsql/client";
import reader from "readline-sync";

async function example() {
const config = {
url: process.env.URL ?? "file:local.db",
syncUrl: process.env.SYNC_URL,
authToken: process.env.AUTH_TOKEN,
};
const db = createClient(config);
await db.sync();
await db.execute(
"CREATE TABLE IF NOT EXISTS movies (title TEXT, embedding FLOAT32(4))",
);
await db.execute(
"CREATE INDEX IF NOT EXISTS movies_idx ON movies (libsql_vector_idx(embedding))",
);
await db.sync();

const title = reader.question("Add movie (title): ");
const embedding = reader.question(
"Add movie (embedding, e.g. [1,2,3,4]): ",
);

await db.execute({
sql: "INSERT INTO movies (title, embedding) VALUES (?, vector32(?))",
args: [title, embedding],
});

await db.sync();

const all = await db.execute(
"SELECT title, vector_extract(embedding) as embedding FROM movies",
);
console.info("all movies:");
for (const row of all.rows) {
console.log(" - " + row.title + ": " + row.embedding);
}

const query = reader.question("KNN query (e.g. [1,2,3,4]): ");
const nn = await db.execute({
sql: "SELECT title, vector_extract(embedding) as embedding FROM vector_top_k('movies_idx', vector32(?), 2) as knn JOIN movies ON knn.id = movies.rowid",
args: [query],
});
console.info("nearest neighbors:");
for (const row of nn.rows) {
console.log(" - " + row.title + ": " + row.embedding);
}
}

example();
6 changes: 3 additions & 3 deletions packages/libsql-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@libsql/client",
"version": "0.10.0",
"version": "0.11.0",
"keywords": [
"libsql",
"database",
Expand Down Expand Up @@ -102,10 +102,10 @@
"lint-staged": "lint-staged"
},
"dependencies": {
"@libsql/core": "^0.10.0",
"@libsql/core": "^0.11.0",
"@libsql/hrana-client": "^0.6.2",
"js-base64": "^3.7.5",
"libsql": "^0.4.1",
"libsql": "^0.4.4",
"promise-limit": "^2.7.0"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/libsql-core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@libsql/core",
"version": "0.10.0",
"version": "0.11.0",
"keywords": [
"libsql",
"database",
Expand Down

0 comments on commit 10cd150

Please sign in to comment.