Metadata-Version: 2.4
Name: ai-parrot-advisors
Version: 0.1.0
Summary: Product Advisor and selection matching components for AI-Parrot
Author-email: Jesus Lara <jesuslara@phenobarbital.info>
License-Expression: MIT
Project-URL: Homepage, https://github.com/phenobarbital/ai-parrot
Project-URL: Repository, https://github.com/phenobarbital/ai-parrot
Project-URL: Documentation, https://github.com/phenobarbital/ai-parrot/
Keywords: ai,chatbot,advisor,product-selection,matching,agents
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Framework :: AsyncIO
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: ai-parrot
Requires-Dist: ai-parrot-embeddings
Requires-Dist: sqlalchemy
Requires-Dist: redis>=5.0.0
Requires-Dist: scikit-learn

# AI-Parrot Advisors

Async-first Product Advisor and selection matching components for AI-Parrot.

## Features
- **ProductCatalog**: Hybrid search (semantic + structured) for product matching.
- **ProductAdvisorMixin**: Easily add recommendation capabilities to any Agent.
- **QuestionGenerator**: Automatically generate discriminant questions to narrow down selections.
- **SelectionStateManager**: Managed selection state with Redis persistence and Undo/Redo support.

## Installation

```bash
pip install ai-parrot-advisors
```

## Usage

Inherit from `ProductAdvisorMixin` to give your agent advisor powers:

```python
from parrot.advisors import ProductAdvisorMixin
from parrot.bots import Agent

class ShoppingAgent(ProductAdvisorMixin, Agent):
    async def configure(self):
        await super().configure()
        await self.configure_advisor()
```
