Skip to main content

Memory library for seamless data ingestion, storage, and retrieval with customizable embedding models.

Project description

QMem

QMem is a toolkit for vector search.
It provides a command-line interface (CLI) and a Python library for interacting with a Qdrant database.
It is designed for directness and utility, offering a guided CLI for interactive tasks and a minimal Python API for programmatic control.


🚀 Installation

pip install qmem

🛠️ Commands

🔹 init

Initializes the configuration.

CLI

qmem init

🔹 create

Creates a vector collection.

CLI

qmem create

Library

import qmem

qmem.create(
    collection_name="my-collection",
    dim=1536,
    distance_metric="cosine"
)

🔹 ingest

Ingests data into a collection.

CLI

qmem ingest

Library

import qmem

qmem.ingest(
    file="path/to/data.jsonl",
    embed_field="text"
)

🔹 retrieve

Performs a vector search.

CLI

qmem retrieve "your query text"

Library

import qmem

results = qmem.retrieve(
    query="your query text",
    top_k=3
)
print(results)

🔹 index

Creates an index on metadata for filtering.

CLI

qmem index

🔹 filter

Retrieves records by metadata.

CLI

qmem filter

Library

import qmem

filter_payload = {
  "must": [
    { "key": "genre", "match": { "value": "Sci-Fi" } }
  ]
}

results = qmem.filter(filter_json=filter_payload, limit=10)
print(results)

🔹 retrieve-filter

Combines vector search with metadata filtering.

CLI

qmem retrieve-filter "your query text"

Library

import qmem

filter_payload = {
  "must": [
    { "key": "genre", "match": { "value": "Sci-Fi" } }
  ]
}

results = qmem.retrieve_filter(
    query="your query text",
    filter_json=filter_payload,
    top_k=2
)
print(results)

📜 License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qmem-0.1.3.tar.gz (24.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qmem-0.1.3-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file qmem-0.1.3.tar.gz.

File metadata

  • Download URL: qmem-0.1.3.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for qmem-0.1.3.tar.gz
Algorithm Hash digest
SHA256 1dc2accd51273f8cfb983b1e85c387d9d73f1a0b831ca725731f2ea3d0bb1e79
MD5 141729687b81374072b51ddbf1f2cd7a
BLAKE2b-256 511e2b404fc92342af5c3f29d838a1f69c894a43d79093cc1cc3568905384d1a

See more details on using hashes here.

File details

Details for the file qmem-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: qmem-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 27.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for qmem-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 01f303ec1f7220602905a7ffef5a73f1de90292c3f4e54f3b93ad1432deeaa1f
MD5 c50bd314e80d4f536ed8faa27aa5d015
BLAKE2b-256 9b1fadfba665ddf4c8854bfe195ed1cf5f7d61087579e13d8c99e11a9e835d1b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page