dynavec / Docs / Quickstart

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.