Quickstart
Provision, upsert, and search in a dozen lines.
With auto_provision=True, dynavec creates the S3 vector bucket, the vector index, and the
DynamoDB table on first use.
from dynavec import Dynavec, DynavecConfig, Document
from dynavec.embeddings import OpenAIEmbedder
cfg = DynavecConfig(
vector_bucket="my-vectors",
index="docs",
table="dynavec_docs",
dimension=1536,
region="us-east-1",
auto_provision=True,
)
db = Dynavec(cfg, embedder=OpenAIEmbedder(model="text-embedding-3-small"))
db.upsert([
Document(id="a", text="Mitochondria power the cell.", metadata={"topic": "bio"}),
Document(id="b", text="Rockets reach orbit near 28,000 km/h.", metadata={"topic": "space"}),
], auto_metadata=True)
for hit in db.search("how do cells make energy?", top_k=3):
print(hit.score, hit.id, hit.text)
S3 Vectors is eventually consistent right after ingest — allow a few seconds before
querying freshly written vectors.