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.3.tar.gz (76.8 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.3-py3-none-any.whl (77.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ai_parrot_embeddings-0.1.3.tar.gz
Algorithm Hash digest
SHA256 232a92835fd90337d6ff42efc34184860f37d2b562c906776a8f8a34f8b2e5fa
MD5 956a72d34e71306fe37da7ff30c816af
BLAKE2b-256 97630971b3c41abe4aa8587613b7bc28dc3d92cd583a7060532fd69cef10c47c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_parrot_embeddings-0.1.3.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.3-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_parrot_embeddings-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 583bf52ea488c7bd054862247ce0b54fd1e444b1c253e45d086f05d9b4e28dcb
MD5 2b56138391a674366d0b0ec805a960d2
BLAKE2b-256 e0d941532f6a140fca4c6b7b729a2dcce64ea1a2e58514b672dcdce888e668c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_parrot_embeddings-0.1.3-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