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 LlamaIndex — OpenAIEmbedding, 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-ceor 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)
| File | Size | Uploaded | |
|---|---|---|---|
| llama_index_vector_stores_synapcores-0.1.1.tar.gz | 14.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|