Skip to content

Implement VectorStore (Local Vector Database) #53

Description

@ustyuzhaninky

Implement VectorStore (Local Vector Database)

Labels: stage-8, backend, retrieval, storage

Description

Create the foundational VectorStore component that stores embeddings, associated text chunks, and metadata.
This acts as the backend for all retrieval operations.

Requirements

  • Choose initial storage backend:
    • Option A (simple): JSON file-based store
    • Option B (recommended): SQLite table with:
      • id
      • text
      • embedding vector (serialized)
      • metadata (JSON)
      • created_at
  • Implement methods:
    • add(text, embedding, metadata={})
    • get(id)
    • all()
    • delete(id)
  • Ensure the store persists across restarts
  • Handle concurrent access safely

Acceptance Criteria

  • VectorStore implemented with persistent storage
  • Add/read/delete operations working and tested
  • Metadata support included (filename, tags, etc.)
  • Correct error handling for invalid records
  • Unit tests for all CRUD methods

References

Parent: Stage 8 — Simple Retrieval Queries

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    backendFoundation of the AppretrievalGetting things from somewhere elsestage-8storageEverything concerning DB, buckets and other types of storage

    Type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions