Skip to main content

Concrete embedding, vector-store, and reranker backends for AI-Parrot

Project description

ai-parrot-embeddings

Concrete backend implementations for the AI-Parrot retrieval stack: embedding models, vector stores, and rerankers.

What's in this package

This satellite contributes modules to three subsystems of the parrot.* namespace:

  • parrot.embeddings.{google, huggingface, openai} — embedding backends
  • parrot.stores.{postgres, pgvector, milvus, arango, bigquery, faiss_store} — vector stores
  • parrot.rerankers.{local, llm} — rerankers

The abstract base classes (EmbeddingModel, AbstractStore, AbstractReranker), the registries (EmbeddingRegistry), the dispatch maps (supported_embeddings, supported_stores), and all shared types (parrot.stores.models.Document, SearchResult, etc.) remain in the ai-parrot core package.

Import contract

This package uses PEP 420 implicit namespace packages. Its modules ship directly under the existing parrot.* namespace — no separate top-level. Existing imports continue to work unchanged once installed:

from parrot.embeddings.huggingface import SentenceTransformerModel  # from satellite
from parrot.stores.pgvector import PgVectorStore                    # from satellite
from parrot.embeddings import EmbeddingRegistry                     # from core
from parrot.stores import AbstractStore, supported_stores           # from core

No code changes are needed in user projects after upgrading from ai-parrot[embeddings] to ai-parrot-embeddings[...].

Install

Goal Command
Core framework only (no backends) pip install ai-parrot
One backend pip install ai-parrot-embeddings[pgvector]
Multiple backends pip install ai-parrot-embeddings[pgvector,milvus,huggingface]
Embeddings + vector stores pip install ai-parrot-embeddings[huggingface,pgvector]
Rerankers pip install ai-parrot-embeddings[reranker-local]
Everything pip install ai-parrot-embeddings[all]
Legacy all-in-one (unchanged) pip install ai-parrot[all]

Extras

Extra Pulls in Enables
huggingface sentence-transformers, tokenizers, safetensors, einops, accelerate, peft, xformers, simsimd, bm25s, rank_bm25, sentencepiece parrot.embeddings.huggingface.SentenceTransformerModel
google google-genai, google-cloud-aiplatform parrot.embeddings.google.GoogleEmbeddingModel
openai openai, tiktoken parrot.embeddings.openai.OpenAIEmbeddingModel
pgvector pgvector==0.4.1 parrot.stores.postgres.PgVectorStore, parrot.stores.pgvector.PgVectorStore
milvus pymilvus, milvus-lite parrot.stores.milvus.MilvusStore
arango python-arango-async parrot.stores.arango.ArangoDBStore
bigquery google-cloud-bigquery parrot.stores.bigquery.BigQueryStore
faiss (no extra deps; faiss-cpu ships with ai-parrot core) parrot.stores.faiss_store.FAISSStore
chroma chromadb (reserved for future ChromaStore)
reranker-local sentence-transformers, tokenizers, safetensors parrot.rerankers.local.LocalCrossEncoderReranker
reranker-llm (no extra deps; uses existing LLM clients) parrot.rerankers.llm.LLMReranker
all All of the above Full retrieval stack

Development

git clone https://github.com/phenobarbital/ai-parrot
cd ai-parrot
source .venv/bin/activate
uv pip install -e packages/ai-parrot -e packages/ai-parrot-embeddings
uv run pytest packages/ai-parrot-embeddings/tests/

Or for the full workspace (if no pre-existing dependency conflicts):

uv sync --all-packages

Architecture

This package uses PEP 420 implicit namespace packages (not the parrot_<name>.* + sys.meta_path redirector pattern used by ai-parrot-tools, -loaders, -pipelines). The satellite ships no __init__.py files at parrot/, parrot/embeddings/, parrot/stores/, or parrot/rerankers/. Python's import machinery merges the satellite's directory entries with the host's regular packages at import time, because the host's sub-package __init__.py files call pkgutil.extend_path.

Design rationale

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

ai_parrot_embeddings-0.1.26.tar.gz (81.0 kB view details)

Uploaded Source

Built Distribution

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

ai_parrot_embeddings-0.1.26-py3-none-any.whl (82.1 kB view details)

Uploaded Python 3

File details

Details for the file ai_parrot_embeddings-0.1.26.tar.gz.

File metadata

  • Download URL: ai_parrot_embeddings-0.1.26.tar.gz
  • Upload date:
  • Size: 81.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ai_parrot_embeddings-0.1.26.tar.gz
Algorithm Hash digest
SHA256 413be106b355fc95c00b4dfa076ed8dcc6e97f980963fe756d50df8eb3b2daab
MD5 14db39f6f82bb595849941da6354499a
BLAKE2b-256 51b17f9e4d420f86ee2464e70e2fb1e28d74836e429e7830a11954f53dc9fbff

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_parrot_embeddings-0.1.26.tar.gz:

Publisher: release.yml on phenobarbital/ai-parrot

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

File details

Details for the file ai_parrot_embeddings-0.1.26-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_parrot_embeddings-0.1.26-py3-none-any.whl
Algorithm Hash digest
SHA256 2f237ca9923f610138485a23b851666eb71d7f27533876d7ae24401ba341e39f
MD5 6b259ed0de1185b1f8bb8845488491f4
BLAKE2b-256 6f2157e1aecbb6d50578bc53a24f25725f17c6760fd00c44013bc3c73b4a2ca2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_parrot_embeddings-0.1.26-py3-none-any.whl:

Publisher: release.yml on phenobarbital/ai-parrot

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