https://github.com/marcusschiesser/vectorstores
Vectorstores is a framework for using vector databases in your AI applications
https://github.com/marcusschiesser/vectorstores
ai ai-agents data database embeddings vector vector-database
Last synced: 22 days ago
JSON representation
Vectorstores is a framework for using vector databases in your AI applications
- Host: GitHub
- URL: https://github.com/marcusschiesser/vectorstores
- Owner: marcusschiesser
- License: mit
- Created: 2023-09-05T06:58:45.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-12-29T04:15:13.000Z (about 1 month ago)
- Last Synced: 2025-12-29T06:55:36.814Z (about 1 month ago)
- Topics: ai, ai-agents, data, database, embeddings, vector, vector-database
- Language: TypeScript
- Homepage: http://vectorstores.org
- Size: 79.6 MB
- Stars: 7
- Watchers: 0
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
vectorstores
Vector database framework for your AI application.
Context engineering made easy: Vectorstores provides a unified interface for connecting data to your AI application. It supports ingestion of data from various sources, loading it into vector databases and querying it later on.
**Lightweight**: Only 77.5kb (gzip) - vectorstores is designed to be minimal and focused.
It plays nicely with existing AI frameworks like Vercel AI SDK, see the [Vercel integration guide](https://vectorstores.org/integration/vercel/) for more details.
It's based on a fork of [LLamaIndexTS](https://github.com/run-llama/LlamaIndexTS), so you can use it as a drop-in replacement for LLamaIndexTS in your existing projects. Compared to LamaIndexTS, vectorstores is more lightweight as it just focuses on vector databases and provides a unified interface for working with them.
## Compatibility
### Multiple JS Environment Support
vectorstores supports multiple JS environments, including:
- Node.js >= 20 ✅
- Deno ✅
- Bun ✅
- Nitro ✅
- Vercel Edge Runtime ✅ (with some limitations)
- Cloudflare Workers ✅ (with some limitations)
## Getting started
```shell
npm install @vectorstores/core
```
### Setup in Node.js, Deno, Bun, TypeScript...?
See the docs: [Installation](https://vectorstores.org/getting_started/installation/)
### Your first (minimal) retrieval example
```shell
npm init -y
npm install @vectorstores/core openai
npm install -D typescript tsx @types/node
export OPENAI_API_KEY=your-api-key-here
```
```ts
import { Document, Settings, VectorStoreIndex } from "@vectorstores/core";
import { OpenAI } from "openai";
const openai = new OpenAI();
Settings.embedFunc = async (input) => {
const { data } = await openai.embeddings.create({
model: "text-embedding-3-small",
input,
});
return data.map((d) => d.embedding);
};
const document = new Document({ text: "Machine learning is..." });
const index = await VectorStoreIndex.fromDocuments([document]);
const retriever = index.asRetriever();
const results = await retriever.retrieve({
query: "What is machine learning?",
});
console.log(results[0]?.node.text);
```
### Adding provider packages
In most cases, you'll also need to install provider packages to use vectorstores. These are for adding file readers for ingestion or for storing documents in vector databases.
For example, to use the Weaviate vector database, you would install the following package:
```shell
npm install @vectorstores/weaviate
```
## Examples (local + StackBlitz)
- **Run locally**: [Examples](https://vectorstores.org/getting_started/examples/)
- **Try in your browser**: [StackBlitz](https://stackblitz.com/github/marcusschiesser/vectorstores/tree/main/examples?file=README.md)
## Contributing
Please see our [contributing guide](CONTRIBUTING.md) for more information.