Skip to Content
We are live but in Staging 🎉

Examples

These examples assume you already connected to VNG (see Connect to VNG) and you have a vng client instance.

Notes

  • The SDK accepts plain strings and will auto-detect the locator.
  • You can also build VngInput explicitly for full control.
  • Bytes input is not supported in REST mode yet in the current SDK.

1) Simple text (string → TextLocator)

vecs = vng.embed( inputs=["Hello from text"], ) print(len(vecs), len(vecs[0]))

2) URL input (string → UrlLocator)

vecs = vng.embed( inputs=["https://example.com/report.pdf"], ) print(len(vecs[0]))

3) S3 input (string → S3Locator)

vecs = vng.embed( inputs=["s3://my-bucket/docs/handbook.pdf"], ) print(len(vecs[0]))

4) Local file path (string → FileLocator if path exists)

vecs = vng.embed( inputs=["/mnt/shared/data/image.png"], ) print(len(vecs[0]))

5) Mixed inputs (auto-detection per item)

vecs = vng.embed( inputs=[ "Hello from text", # TextLocator "https://example.com/logo.png", # UrlLocator "s3://my-bucket/videos/demo.mp4", # S3Locator "/mnt/shared/docs/terms.pdf", # FileLocator (if exists) ], dim=768, ) print([len(v) for v in vecs])

6) Explicit VngInput (full control)

from dodil.vng_client import VngInput inputs = [ VngInput.as_text("Hello from explicit text"), VngInput.as_url("https://example.com/report.pdf", kind="FILE"), VngInput.as_s3("s3://my-bucket/docs/handbook.pdf", kind="FILE"), VngInput.as_file("/mnt/shared/data/image.png", kind="IMAGE"), ] vecs = vng.embed(inputs=inputs, dim=768) print(len(vecs), len(vecs[0]))

7) Changing Task (EmbeddingTask enum)

from dodil.vng_client import EmbeddingTask # Index content (store vectors in VBase) index_vecs = vng.embed( inputs=["Company onboarding policy..."], task=EmbeddingTask.INDEX, ) # Query a knowledge base (embed the user question) query_vec = vng.embed( inputs=["How do I reset my API key?"], task=EmbeddingTask.QUERY, )[0] print(len(index_vecs[0]), len(query_vec))

8) Code search tasks

from dodil.vng_client import EmbeddingTask # Index code code_vecs = vng.embed( inputs=["def verify_jwt(token): ..."], task=EmbeddingTask.CODE_INDEX, ) # Query codebase code_query_vec = vng.embed( inputs=["Where do we validate JWT scopes?"], task=EmbeddingTask.CODE_QUERY, )[0] print(len(code_vecs[0]), len(code_query_vec))
Last updated on