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 Distributions

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

Built Distribution

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

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

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for ai_parrot_embeddings-0.1.28-py3-none-any.whl
Algorithm Hash digest
SHA256 75971cf57e4211a95a2c57c1b9626e827781a6d5d1d989c203927b4392b17159
MD5 76d24c890c31cff699ed08f3c54b23ba
BLAKE2b-256 d6b1741ec8cc31d46a9c5f0c38c8f84fd3ba539a2671b50a79ec144ba8510ec3

See more details on using hashes here.

Provenance

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