Rakam System Vectorstore
The vectorstore package of Rakam Systems providing vector database solutions and document processing capabilities.
Overview
rakam-systems-vectorstore provides comprehensive vector storage, embedding models, and document loading capabilities. This package depends on rakam-systems-core.
Features
- Configuration-First Design: Change your entire vector store setup via YAML — no code changes
- Multiple Backends: PostgreSQL with pgvector and FAISS in-memory storage
- Flexible Embeddings: SentenceTransformers, OpenAI, and Cohere
- Document Loaders: PDF, DOCX, HTML, Markdown, CSV, and more
- Search Capabilities: Vector search, keyword search (BM25), and hybrid search
- Chunking: Intelligent text chunking with context preservation
Installation
pip install rakam-systems-vectorstore
# With specific backends
pip install rakam-systems-vectorstore[postgres]
pip install rakam-systems-vectorstore[faiss]
pip install rakam-systems-vectorstore[all]
Available extras:
| Extra | What it adds |
|---|---|
postgres |
psycopg2-binary, pgvector, django |
faiss |
faiss-cpu |
local-embeddings |
sentence-transformers, torch |
openai |
openai (for OpenAI embeddings) |
cohere |
cohere (for Cohere embeddings) |
loaders |
python-magic, beautifulsoup4, python-docx, pymupdf, docling, chonkie |
all |
Everything above |
Quick Start
from rakam_systems_vectorstore import FaissStore, Node, NodeMetadata
store = FaissStore(
name="my_store",
base_index_path="./indexes",
embedding_model="Snowflake/snowflake-arctic-embed-m",
initialising=True
)
nodes = [
Node(
content="Python is great for AI",
metadata=NodeMetadata(source_file_uuid="doc1", position=0)
)
]
store.create_collection_from_nodes("my_collection", nodes)
results, _ = store.search(collection_name="my_collection", query="AI programming", number=5)
PostgreSQL store (Django, FastAPI, or plain Python)
The PostgreSQL store is exposed at a stable import path:
from rakam_systems_vectorstore.stores import (
ConfigurablePgVectorStore,
VectorStoreConfig,
)
store = ConfigurablePgVectorStore(config=VectorStoreConfig())
store.setup() # creates the pgvector extension and tables if needed
The store connects through Django's ORM. Inside a Django process it uses your
project's existing database configuration. Outside Django (FastAPI, workers,
scripts) importing from rakam_systems_vectorstore.stores automatically
configures Django from the POSTGRES_* environment variables — no
DJANGO_SETTINGS_MODULE or django.setup() needed on your side. A host that has
already configured Django is never overridden.
To target a database other than the POSTGRES_* defaults, configure it
explicitly before the first import from the store:
from rakam_systems_vectorstore.config import DatabaseConfig
from rakam_systems_vectorstore.stores import ensure_django_configured
ensure_django_configured(DatabaseConfig(host="db.internal", database="tickets"))
from rakam_systems_vectorstore.stores import ConfigurablePgVectorStore
Core Components
- ConfigurablePgVectorStore — PostgreSQL with pgvector, hybrid search, keyword search
- FaissStore — In-memory FAISS-based vector search
- ConfigurableEmbeddings — SentenceTransformers, OpenAI, Cohere backends
- AdaptiveLoader — Auto-detects and loads PDF, DOCX, HTML, Markdown, CSV, email, code
- TextChunker / AdvancedChunker — Sentence-based and context-aware chunking
Environment Variables
| Variable | Description |
|---|---|
POSTGRES_HOST |
PostgreSQL host (default: localhost) |
POSTGRES_PORT |
PostgreSQL port (default: 5432) |
POSTGRES_DB |
Database name (default: vectorstore_db) |
POSTGRES_USER |
Database user (default: postgres) |
POSTGRES_PASSWORD |
Database password |
OPENAI_API_KEY |
For OpenAI embeddings |
COHERE_API_KEY |
For Cohere embeddings |
HUGGINGFACE_TOKEN |
For private HuggingFace models |
Documentation
For PostgreSQL setup, search examples, YAML configuration, and full API reference, see the official documentation.
License
Apache 2.0
Release files for rakam-systems-vectorstore 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rakam_systems_vectorstore-0.1.7.tar.gz | 131.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rakam_systems_vectorstore-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 306.4 kB
Release files / rakam_systems_vectorstore-0.1.7.tar.gz
| Download URL | rakam_systems_vectorstore-0.1.7.tar.gz |
|---|---|
| Size | 131.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5acfd3bea3c5061ab0e24ad3079703c49bc41e241de647c72d7bd85768f27576
|
|
BLAKE2b-256 checksum How to use checksums |
9c59612920f13acd8518bb474ffed66ac89d91c1c935937cb64446dffa951a89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rakam_systems_vectorstore-0.1.7-py3-none-any.whl
| Download URL | rakam_systems_vectorstore-0.1.7-py3-none-any.whl |
|---|---|
| Size | 175.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
57a605e35c1a18e85279a747b30c48c11d586acf9aa6146036039b585cbfcc2d
|
|
BLAKE2b-256 checksum How to use checksums |
16cd1479d60b9eaf3b5ece1fe2fe9fdfc7e1bec6a9e16a9c78af0d4a07c0f5cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|