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.10.tar.gz (80.5 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.10-py3-none-any.whl (81.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ai_parrot_embeddings-0.1.10.tar.gz
  • Upload date:
  • Size: 80.5 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.10.tar.gz
Algorithm Hash digest
SHA256 b98bab3b0678c728f9f55331887e5a9ec87cf80f1f0403f492f06db663b784b3
MD5 faa6141b83588c00ab380f2fe79ef5d9
BLAKE2b-256 87c5e7010a80a5bbbbd5b81abacf872aacfb6aa0491bb3b5f34c88e90a76cfa6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ai_parrot_embeddings-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 86b2ca7d4ba7e5284158660a30d89760cb4e1107653bb7c44609a5312af25abb
MD5 a7dfef746ecc8eee92cbfea23cb3528f
BLAKE2b-256 58b95e452e718a4117e2bd2684ccb29b96366b0842139caffe2178397e998393

See more details on using hashes here.

Provenance

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