@vivantel/virage-store-lancedb
v0.2.25
Published
LanceDB vector store for @vivantel/rag-core (embedded, file-based)
Maintainers
Readme
@vivantel/virage-store-lancedb
LanceDB vector store for @vivantel/virage-core. Embedded and file-based — no server required. Data lives in a local directory (or LanceDB Cloud with an API key).
Installation
npm install @vivantel/virage-store-lancedb @vivantel/virage-coreQuick start (JSON config)
Local file storage — no server needed:
{
"vectorStore": {
"package": "@vivantel/virage-store-lancedb",
"config": {
"uri": "./lancedb"
}
}
}LanceDB Cloud
Pass your LanceDB Cloud URI and API key:
{
"vectorStore": {
"package": "@vivantel/virage-store-lancedb",
"config": {
"uri": "db://my-project",
"apiKey": "${LANCEDB_API_KEY}"
}
}
}Configuration
| Option | Type | Default | Description |
| ------------ | -------- | ------------- | ------------------------------------------------------------ |
| uri | string | required | Local path ("./lancedb") or LanceDB Cloud URI ("db://…") |
| apiKey | string | undefined | LanceDB Cloud API key |
| tableName | string | "documents" | Table name inside the database |
| dimensions | number | 1536 | Vector size — must match your embedder |
TypeScript usage
import { LanceDBVectorStore } from "@vivantel/virage-store-lancedb";
const store = new LanceDBVectorStore({
uri: "./lancedb",
tableName: "my-docs",
dimensions: 1536,
});Self-registration
This package declares a "rag-plugin" field in its package.json. Once installed, virage init discovers it automatically — no manual config required.
// package.json (excerpt)
"rag-plugin": {
"type": "vectorStore",
"label": "LanceDB (embedded, file-based)",
"key": "lancedb",
"envVars": [],
"defaultConfig": { "uri": "./lancedb" }
}