agentsclimarketplace

Zvec

Skill zvec-ai/zvec-agent-skills/skills/zvec

Official AI Agent skills for building with Zvec vector database

Install
npx -y skills add zvec-ai/zvec-agent-skills --skill zvec

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Zvec vector database development assistant. Use this skill when users need to develop vector search applications based on zvec, build RAG systems, implement semantic search, or handle vector data storage and querying. Suitable for Python and Node.js development environments, providing complete technical guidance from basic concepts to advanced usage. Proactively use this skill when users mention vector databases, similarity search, embedding storage, HNSW/IVF indexes, hybrid search, multi-vector queries, or zvec API usage.

SKILL.md

7.4 KB, as published. Nobody here has run it

Usage Instructions

Before starting, understand the following:

  1. Development Language: Python or Node.js?

    • Python: use pip install zvec
    • Node.js: use npm install @zvec/zvec
  2. Use Cases:

    • RAG document retrieval system
    • Semantic search
    • Multimodal search (image + text)
    • Hybrid search (keywords + semantic)
  3. Data Scale:

    • < 100k: use FLAT index (exact search)
    • 100k-10M: use HNSW index (recommended default)
    • 10M: use IVF index (memory optimized)

Decision Workflow

  • User needs vector search functionality
    • Choose development language (Python/Node.js)
    • Determine use case
      • RAG system → use single-vector search + document chunk management
      • E-commerce search → use hybrid search (vector + filter)
      • Multimodal → use multi-vector search + weighted ranking
    • Design Schema (vector fields + scalar fields)
    • Select index type (HNSW/FLAT/IVF)
    • Implement data synchronization strategy

Default Recommendations

  • Use create_and_open() / ZVecCreateAndOpen() to create Collection
  • Use cosine similarity (COSINE) as default distance metric
  • Use FP32 type for dense vectors
  • Create InvertIndexParam index for filter fields

Validation Checklist

  • Vector dimensions match Schema definition
  • Scalar field types are correct
  • Filter condition syntax is correct
  • Call optimize() after large batch writes

Quick Start

Python:

import zvec

# Create Collection
schema = zvec.CollectionSchema(
    name="my_collection",
    fields=[
        zvec.FieldSchema(name="title", data_type=zvec.DataType.STRING),
    ],
    vectors=[
        zvec.VectorSchema(
            name="embedding",
            data_type=zvec.DataType.VECTOR_FP32,
            dimension=768,
            index_param=zvec.HnswIndexParam(
                metric_type=zvec.MetricType.COSINE
            ),
        ),
    ],
)

collection = zvec.create_and_open("./my_data", schema)

# Insert document
collection.upsert(zvec.Doc(
    id="doc_1",
    vectors={"embedding": [0.1] * 768},
    fields={"title": "Hello World"},
))

# Search
results = collection.query(
    vectors=zvec.VectorQuery(
        field_name="embedding",
        vector=[0.1] * 768,
    ),
    topk=10,
)

Node.js:

import { ZVecCreateAndOpen, ZVecCollectionSchema, ZVecFieldSchema, ZVecVectorSchema, ZVecDataType, ZVecHnswIndexParams, ZVecMetricType } from "@zvec/zvec";

const schema = new ZVecCollectionSchema({
  name: "my_collection",
  fields: [new ZVecFieldSchema({ name: "title", dataType: ZVecDataType.STRING })],
  vectors: [new ZVecVectorSchema({
    name: "embedding",
    dataType: ZVecDataType.VECTOR_FP32,
    dimension: 768,
    indexParams: new ZVecHnswIndexParams({ metricType: ZVecMetricType.COSINE }),
  })],
});

const collection = ZVecCreateAndOpen("./my_data", schema);

Core Concepts

Data Model

Collection

  • Similar to a table in relational databases, a container for storing, organizing, and querying data
  • Each Collection has a Schema defining its structure
  • Each Collection is independently persisted in a dedicated directory on disk

Document

  • Basic unit of data storage, similar to a row in a relational table
  • Contains three core components:
    • id: unique string identifier
    • vectors: named vector collection (supports dense and sparse vectors)
    • fields: named scalar field collection

Schema

  • Dynamic Schema: scalar fields and vectors can be added or removed at any time
  • Strong type system: each field must declare a DataType

Vector Types

Dense Vector

  • Fixed-length real-valued embeddings
  • Types: VECTOR_FP16, VECTOR_FP32, VECTOR_INT8
  • Suitable for: semantic understanding, context capture

Sparse Vector

  • High-dimensional representation with only a few non-zero dimensions
  • Types: SPARSE_VECTOR_FP32, SPARSE_VECTOR_FP16
  • Suitable for: keyword matching, BM25 scoring

Index Types

Index TypeCharacteristicsUse Case
FLATBrute force search, exact resultsSmall scale data (<100k)
HNSWApproximate nearest neighbor, graph structureLarge scale data (recommended default)
IVFInverted file indexVery large scale data

Available Topics

Python

Node.js

General

Available Topics

Python

Node.js

General

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.