LlamaIndex vector store integration for SynapCores — the AI-native SQL engine.
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llama_index_vector_stores_synapcores-0.1.1.tar.gz.
File metadata
- Download URL: llama_index_vector_stores_synapcores-0.1.1.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
109aebf78a047c15c2bf7a8dae6086adb0d2403f5a79bb10bb12598e3fece970
|
|
| MD5 |
91ed5424bff3aad5c0f5a16264a31993
|
|
| BLAKE2b-256 |
84091579e4b1305112acaf61305cdb2fb92557b809dca6addb6dc6ebcfc5535f
|
File details
Details for the file llama_index_vector_stores_synapcores-0.1.1-py3-none-any.whl.
File metadata
- Download URL: llama_index_vector_stores_synapcores-0.1.1-py3-none-any.whl
- Upload date:
- Size: 11.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58c5189bf85c619667bf9732e981f6d2202f2a09a3e2beaf7a69c9dda4bb0177
|
|
| MD5 |
cd610d376c78ecf93b34925a460c573d
|
|
| BLAKE2b-256 |
6881e2ec6f4ab6b771b5f9289445f550d7a8fb7442d70d23a6100414b5680dbc
|