Skip to main content

llama-index-vector-stores-synapcores

LlamaIndex vector store integration for SynapCores — the AI-native SQL engine that combines vectors, graph, SQL, and AI inference in one self-hosted binary.

pip install llama-index llama-index-vector-stores-synapcores

Quickstart

from llama_index.core import VectorStoreIndex, StorageContext
from llama_index.core.readers import SimpleDirectoryReader
from llama_index.vector_stores.synapcores import SynapCoresVectorStore

# 1. Start the engine: docker run -p 8080:8080 -e AIDB_ACCEPT_LICENSE=1 synapcores/community:latest
# 2. Point the integration at it
vector_store = SynapCoresVectorStore(
    uri="http://localhost:8080",
    table_name="my_docs",
    embedding_dim=1536,           # match your embedding model
)

# 3. Standard LlamaIndex flow — no per-vendor weirdness
docs = SimpleDirectoryReader("./data").load_data()
index = VectorStoreIndex.from_documents(
    docs,
    storage_context=StorageContext.from_defaults(vector_store=vector_store),
)
response = index.as_query_engine().query("What does this document say?")
print(response)

Configuration

Argument Default Env fallback
uri http://localhost:8080 SYNAPCORES_URI
database default SYNAPCORES_DATABASE
auth_token None SYNAPCORES_AUTH_TOKEN
table_name llama_nodes
embedding_dim 1536
distance "cosine" (also: "euclidean", "dot_product")
overwrite False
batch_size 100

Metadata filters

LlamaIndex's full filter grammar maps to SynapCores' JSON arrow operator:

from llama_index.core.vector_stores import MetadataFilters, MetadataFilter, FilterOperator

filters = MetadataFilters(filters=[
    MetadataFilter(key="tenant_id", value="acme", operator=FilterOperator.EQ),
    MetadataFilter(key="doc_type", value=["policy", "contract"], operator=FilterOperator.IN),
])

retriever = index.as_retriever(filters=filters)

Supported operators: EQ, NE, GT, GTE, LT, LTE, IN, NIN, TEXT_MATCH, TEXT_MATCH_INSENSITIVE, CONTAINS, IS_EMPTY. Conditions: AND, OR, NOT. Filter groups may be nested. ANY / ALL (array-membership) are tracked for v0.2.0.

Existing store

If you've already ingested:

vector_store = SynapCoresVectorStore(uri="http://localhost:8080", table_name="my_docs", embedding_dim=1536)
index = VectorStoreIndex.from_vector_store(vector_store)

Do I need to install any models in SynapCores?

No. The integration works out-of-the-box against a stock synapcores/community:latest container with zero model downloads.

Embeddings are computed by LlamaIndexOpenAIEmbedding, HuggingFaceEmbedding, CohereEmbedding, or whatever you've configured in your LlamaIndex Settings.embed_model. The integration writes the resulting List[float] to a VECTOR(N) column. SynapCores just stores it. There is no engine-side embedding model to download, no GGUF, no Ollama, no API key, nothing.

If you separately want to use the engine's in-DB AI surface (SELECT EMBED(...), SELECT GENERATE(...), SELECT AGENT_RUN(...)) — those need a model warmed via synapcores pull <model:tag> or an [query.ai_service] block in gateway.toml. But for this integration alone, you can stop reading here: it works against a fresh docker run with no further setup.

Engine requirements

  • synapcores/community:v1.7.0.2-ce or newer

Async

async_add, aquery, adelete, adelete_nodes, aclear are available. v0.1.0 wraps the sync client via asyncio.to_thread — non-blocking but uses a thread per call. Native httpx path is on the v0.2.0 roadmap.

License

MIT

Release files for llama-index-vector-stores-synapcores 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llama-index-vector-stores-synapcores 0.1.1
File Size Uploaded
llama_index_vector_stores_synapcores-0.1.1.tar.gz 14.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llama-index-vector-stores-synapcores 0.1.1
File Interpreter ABI Platform
llama_index_vector_stores_synapcores-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 25.5 kB

Release files / llama_index_vector_stores_synapcores-0.1.1.tar.gz

Download URL llama_index_vector_stores_synapcores-0.1.1.tar.gz
Size 14.0 kB
Tags Source
SHA-256 checksum
How to use checksums
109aebf78a047c15c2bf7a8dae6086adb0d2403f5a79bb10bb12598e3fece970
BLAKE2b-256 checksum
How to use checksums
84091579e4b1305112acaf61305cdb2fb92557b809dca6addb6dc6ebcfc5535f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / llama_index_vector_stores_synapcores-0.1.1-py3-none-any.whl

Download URL llama_index_vector_stores_synapcores-0.1.1-py3-none-any.whl
Size 11.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
58c5189bf85c619667bf9732e981f6d2202f2a09a3e2beaf7a69c9dda4bb0177
BLAKE2b-256 checksum
How to use checksums
6881e2ec6f4ab6b771b5f9289445f550d7a8fb7442d70d23a6100414b5680dbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page