@sisu-ai/vector-chroma
v1.0.0
Published
Chroma vector-store adapter for Sisu RAG composition.
Readme
@sisu-ai/vector-chroma
Chroma vector-store adapter for Sisu RAG composition.
Exports
createChromaVectorStore
The created adapter exposes upsert, query, and delete, and is intended to be injected into backend-agnostic RAG tools such as @sisu-ai/tool-rag.
For reusable chunking, record preparation, and app-side seeding flows, pair this adapter with @sisu-ai/rag-core.
Philosophy
@sisu-ai/vector-chroma is a backend adapter package.
- It should only know how to talk to Chroma.
- It should not own agent-facing tool behavior.
- It should not own generic RAG chunking or prompt logic.
That separation keeps backend swaps straightforward later.
How It Fits In The Stack
Typical composition looks like this:
@sisu-ai/vector-coredefines theVectorStorecontract@sisu-ai/vector-chromaimplements the contract for Chroma@sisu-ai/rag-coreuses the contract for reusable ingestion/retrieval mechanics@sisu-ai/tool-ragusesrag-coreto expose model-facing tools@sisu-ai/mw-ragcan use the sameVectorStoredirectly in middleware flows
Typical Usage
With @sisu-ai/rag-core
import { storeRagContent } from '@sisu-ai/rag-core';
import { createChromaVectorStore } from '@sisu-ai/vector-chroma';
const vectorStore = createChromaVectorStore({
chromaUrl: process.env.CHROMA_URL,
namespace: 'docs',
});
await storeRagContent({
content: 'Sisu uses small, composable packages.',
embeddings,
vectorStore,
});With @sisu-ai/tool-rag
import { createRagTools } from '@sisu-ai/tool-rag';
import { createChromaVectorStore } from '@sisu-ai/vector-chroma';
const ragTools = createRagTools({
embeddings,
vectorStore: createChromaVectorStore({ namespace: 'docs' }),
});With @sisu-ai/mw-rag
import { ragIngest, ragRetrieve } from '@sisu-ai/mw-rag';
import { createChromaVectorStore } from '@sisu-ai/vector-chroma';
const vectorStore = createChromaVectorStore({ namespace: 'docs' });
agent
.use(ragIngest({ vectorStore }))
.use(ragRetrieve({ vectorStore, topK: 4 }));Using This As The Template For New Providers
If you add another backend, the pattern is:
- create a new
vector-*package - implement the
VectorStorecontract from@sisu-ai/vector-core - keep backend SDK details inside that package only
- reuse it from
rag-core,tool-rag, andmw-rag
@sisu-ai/vector-chroma is the example implementation of that pattern.
Contributing
We build Sisu in the open. Contributions welcome.
Contributing Guide · Report a Bug · Request a Feature · Code of Conduct
Star on GitHub if Sisu helps you build better agents.
Quiet, determined, relentlessly useful.
