Skip to main content

Embeddable AI engine for inference, embeddings, vector search, and fine-tuning

Project description

Jammi AI

Jammi is an embeddable AI engine that brings model inference into your data pipeline. Register data sources, run SQL queries, generate embeddings, search with vector similarity, fine-tune models on your domain, and evaluate results — all without leaving your application.

Install

pip install jammi-ai

For CUDA/GPU support:

pip install jammi-ai-cu12

Quickstart

The 5-minute walkthrough — install, connect, register a source, generate embeddings, search — lives in cookbook/quickstart/ with a runnable quickstart.py gated by CI. The condensed version:

import jammi_ai

db = jammi_ai.connect(gpu_device=-1)
db.add_source("corpus", url="cookbook/fixtures/tiny_corpus.parquet", format="parquet")

MODEL = "sentence-transformers/all-MiniLM-L6-v2"
db.generate_text_embeddings(source="corpus", model=MODEL, columns=["content"], key="id")

query_vec = db.encode_text_query(MODEL, "quantum computing applications")
results = db.search("corpus", query=query_vec, k=5).run()
print(results.to_pandas())

For runnable end-to-end recipes — mutable tables, trigger streams, eval, fine-tuning, Flight SQL — see cookbook/.

Features

  • SQL over local files — query Parquet, CSV, and JSON via DataFusion
  • Federated queries — join local files with PostgreSQL or MySQL
  • Text embeddings — load any BERT-family model from Hugging Face Hub (or local safetensors / ONNX) and persist results to Parquet with ANN indexes
  • Image embeddings — CLIP-style vision encoders
  • Vector search — ANN similarity search with automatic brute-force fallback
  • SearchBuilder — fluent API for .filter(), .sort(), .join(), .annotate(), .limit(), .select(), .run()
  • Evidence provenanceretrieved_by and annotated_by tracking on every search result
  • Fine-tuning — LoRA / deep LoRA adapters with contrastive loss to improve embeddings for your domain
  • Evaluation — recall@k, precision@k, MRR, nDCG, accuracy, F1, and A/B model comparison
  • Model caching — LRU eviction, ref-counted guards, single-flight loading
  • GPU scheduling — memory-budget admission control with RAII permits
  • Crash recovery — recovers embedding tables stuck in "building" state on restart

SearchBuilder

search = db.search("patents", query=query_vec, k=20)
search.filter("year >= 2020")
search.sort("similarity", descending=True)
search.limit(5)
search.select(["id", "title", "similarity"])
results = search.run()   # pyarrow.Table

All results are returned as pyarrow.Table — zero-copy from the Rust engine.

Fine-tuning

job = db.fine_tune(
    source="patents",
    model="sentence-transformers/all-MiniLM-L6-v2",
    triplets="triplets_train.parquet",
)
job.wait()

Requirements

  • Python 3.9+
  • Linux (x86_64) or macOS (Apple Silicon or Intel)

Windows is not yet supported due to a dependency on POSIX memory-mapping APIs.

Running the OSS server

For deployments that need a long-running Flight SQL + gRPC service rather than an embedded library, the workspace ships a Docker image:

docker run --rm \
  -p 8080:8080 -p 8081:8081 \
  -v jammi_data:/var/lib/jammi \
  ghcr.io/f-inverse/jammi-ai-server:latest

curl http://localhost:8080/healthz
# {"status":"ok","version":"0.8.0"}

The OSS server is single-tenant — the deployer's network is the auth boundary. See Deploy as a Server for the full guide.

Documentation

Full documentation, including guides for SQL queries, embeddings, search, fine-tuning, and evaluation:

https://f-inverse.github.io/jammi-ai/

License

Apache-2.0

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

jammi_ai-0.12.1-cp39-abi3-manylinux_2_28_x86_64.whl (58.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ x86-64

jammi_ai-0.12.1-cp39-abi3-macosx_11_0_arm64.whl (50.2 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

jammi_ai-0.12.1-cp39-abi3-macosx_10_12_x86_64.whl (53.1 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file jammi_ai-0.12.1-cp39-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jammi_ai-0.12.1-cp39-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a22eafa762e2725c36a2cba39a1ec52f5dbcd3d5916fb1304e1123a0159168d5
MD5 f3aa5cad0848975d4c97b32f060ab6fa
BLAKE2b-256 2c4bda3a0a89b01b03196b58ddbcde6b440072e1a4be96c52d3750d3b1910e9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for jammi_ai-0.12.1-cp39-abi3-manylinux_2_28_x86_64.whl:

Publisher: pypi.yml on f-inverse/jammi-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jammi_ai-0.12.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jammi_ai-0.12.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9a1ca730bf398178be0550eebe6b771f50c27a631937857c5f3ce23553de64a8
MD5 25a6c0e3fc8bbf05c53b1ccf79896459
BLAKE2b-256 e69c7c7eebd36473ac10d40d14398a3086c60c9ab0c4797f716ad2b11840b9cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for jammi_ai-0.12.1-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: pypi.yml on f-inverse/jammi-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jammi_ai-0.12.1-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for jammi_ai-0.12.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 befeb64952aa57fde9c6a8b85b5ade5979cec3e6f9accd42a7585e6f4b7df289
MD5 9efdcd2fbd01d6597a6c5864b16d57e1
BLAKE2b-256 e82a6f16c7548253fff04c9144c3d7d7fead09bcab16e18f7ff681aabea3a8f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for jammi_ai-0.12.1-cp39-abi3-macosx_10_12_x86_64.whl:

Publisher: pypi.yml on f-inverse/jammi-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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