ai-parrot 0.5.11__tar.gz → 0.5.13__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ai-parrot might be problematic. Click here for more details.
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/PKG-INFO +1 -1
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/__pycache__/version.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/abstract.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/chatbot.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/abstract.py +8 -1
- ai_parrot-0.5.13/parrot/bots/retrievals/__pycache__/multi.cpython-311.pyc +0 -0
- ai_parrot-0.5.13/parrot/bots/retrievals/multi.py +122 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/manager.py +2 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/__pycache__/abstract.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/version.py +1 -1
- ai_parrot-0.5.11/parrot/bots/retrievals/__pycache__/multi.cpython-311.pyc +0 -0
- ai_parrot-0.5.11/parrot/bots/retrievals/multi.py +0 -102
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/.flake8 +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/.github/dependabot.yml +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/.github/workflows/codeql-analysis.yml +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/.github/workflows/release.yml +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/.gitignore +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/.isort.cfg +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/.pylintrc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/INSTALL +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/LICENSE +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/MANIFEST.in +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/Makefile +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/README.md +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/SECURITY.md +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/ai_parrot.egg-info/SOURCES.txt +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/app.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/mypy.ini +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/__init__.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/__pycache__/__init__.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/__pycache__/conf.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/__pycache__/manager.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/__pycache__/models.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__init__.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/__init__.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/a.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/agent.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/askbrett.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/asktroc.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/base.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/basic.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/bose.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/cody.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/copilot.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/dataframe.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/hragents.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/hrbot.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/oddie.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/odoo.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/__pycache__/troc.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/agent.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/basic.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/bose.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/chatbot.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/cody.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/copilot.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/dataframe.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/hrbot.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/interfaces/__init__.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/interfaces/__pycache__/__init__.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/interfaces/__pycache__/retrievers.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/interfaces/retrievers.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/odoo.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/prompts/__init__.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/prompts/__pycache__/__init__.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/prompts/__pycache__/agents.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/prompts/agents.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/retrievals/__init__.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/retrievals/__pycache__/__init__.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/retrievals/constitutional.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/retrievals/retrieval.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/troc.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/conf.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/__init__.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/__pycache__/__init__.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/__init__.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/__pycache__/__init__.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/__pycache__/bing.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/__pycache__/config.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/__pycache__/duckgo.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/__pycache__/file.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/__pycache__/google.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/__pycache__/md2pdf.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/__pycache__/rag.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/__pycache__/url.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/__pycache__/weather.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/bing.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/config.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/duckgo.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/file.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/google.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/gtrends.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/md2pdf.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/rag.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/search.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/url.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/exceptions.c +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/exceptions.cpython-311-x86_64-linux-gnu.so +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/exceptions.pxd +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/exceptions.pyx +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/handlers/__init__.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/handlers/__pycache__/__init__.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/handlers/__pycache__/bots.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/handlers/__pycache__/chat.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/handlers/bots.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/handlers/chat.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/interfaces/__init__.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/interfaces/__pycache__/__init__.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/interfaces/__pycache__/database.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/interfaces/__pycache__/http.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/interfaces/database.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/interfaces/http.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/__init__.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/__pycache__/__init__.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/__pycache__/abstract.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/__pycache__/anthropic.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/__pycache__/google.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/__pycache__/groq.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/__pycache__/hf.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/__pycache__/openai.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/__pycache__/pipes.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/__pycache__/vertex.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/abstract.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/anthropic.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/google.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/groq.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/hf.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/openai.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/pipes.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/llms/vertex.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/models.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/py.typed +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/__init__.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/__pycache__/__init__.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/__pycache__/base.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/__pycache__/chroma.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/__pycache__/duck.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/__pycache__/empty.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/__pycache__/faiss.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/__pycache__/milvus.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/__pycache__/postgres.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/__pycache__/qdrant.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/abstract.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/chroma.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/duck.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/__init__.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/__pycache__/__init__.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/__pycache__/abstract.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/__pycache__/base.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/__pycache__/huggingface.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/__pycache__/transformers.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/abstract.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/base.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/bge.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/fastembed.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/google.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/huggingface.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/ollama.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/openai.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/transformers.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/vertexai.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/empty.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/faiss.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/milvus.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/postgres.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/qdrant.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/__init__.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/__pycache__/__init__.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/__pycache__/abstract.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/__pycache__/asknews.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/__pycache__/basic.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/__pycache__/bby.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/__pycache__/bing.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/__pycache__/duck.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/__pycache__/execute.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/__pycache__/google.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/__pycache__/stack.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/__pycache__/weather.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/__pycache__/wikipedia.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/__pycache__/zipcode.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/abstract.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/asknews.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/basic.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/bby.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/bing.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/duck.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/execute.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/google.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/stack.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/weather.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/wikipedia.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/tools/zipcode.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/utils/__init__.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/utils/__pycache__/__init__.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/utils/__pycache__/toml.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/utils/parsers/__init__.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/utils/parsers/__pycache__/__init__.cpython-311.pyc +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/utils/parsers/toml.c +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/utils/parsers/toml.cpython-311-x86_64-linux-gnu.so +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/utils/parsers/toml.pyx +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/utils/toml.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/utils/types.cpp +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/utils/types.cpython-311-x86_64-linux-gnu.so +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/utils/types.pyx +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/utils/uv.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/pyproject.toml +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/pytest.ini +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/requirements/requirements-dev.txt +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/run.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/setup.cfg +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/setup.py +0 -0
- {ai_parrot-0.5.11 → ai_parrot-0.5.13}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: ai-parrot
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.13
|
|
4
4
|
Summary: Live Chatbots based on Langchain chatbots and Agents Integrated into Navigator Framework or used into any aiohttp applications.
|
|
5
5
|
Home-page: https://github.com/phenobarbital/ai-parrot
|
|
6
6
|
Author: Jesus Lara
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -477,6 +477,7 @@ class AbstractBot(DBInterface, ABC):
|
|
|
477
477
|
except ImportError:
|
|
478
478
|
continue
|
|
479
479
|
elif isinstance(self._vector_store, dict):
|
|
480
|
+
print('< ENTERING HERE > ', )
|
|
480
481
|
# Is a single vector store instance:
|
|
481
482
|
store_cls = self._get_database_store(self._vector_store)
|
|
482
483
|
store_cls.use_database = self._use_vector
|
|
@@ -485,9 +486,15 @@ class AbstractBot(DBInterface, ABC):
|
|
|
485
486
|
raise ValueError(
|
|
486
487
|
f"Invalid Vector Store Config: {self._vector_store}"
|
|
487
488
|
)
|
|
488
|
-
self.logger.info(
|
|
489
|
+
self.logger.info(
|
|
490
|
+
f"Configured Vector Stores: {self.stores}"
|
|
491
|
+
)
|
|
489
492
|
if self.stores:
|
|
490
493
|
self.store = self.stores[0]
|
|
494
|
+
print('=================================')
|
|
495
|
+
print('END STORES >> ', self.stores, self.store)
|
|
496
|
+
print('=================================')
|
|
497
|
+
|
|
491
498
|
|
|
492
499
|
def get_memory(
|
|
493
500
|
self,
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
from typing import List, Dict, Any, Optional
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from langchain_core.retrievers import BaseRetriever
|
|
4
|
+
from langchain_core.callbacks import CallbackManagerForRetrieverRun
|
|
5
|
+
from langchain_core.documents import Document
|
|
6
|
+
from pydantic import Field
|
|
7
|
+
|
|
8
|
+
class MultiVectorStoreRetriever(BaseRetriever):
|
|
9
|
+
"""
|
|
10
|
+
This aggregator retriever queries multiple vector stores
|
|
11
|
+
and merges the results into a single list.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
# Define class attributes with default values
|
|
15
|
+
stores: List[Any] = Field(description="List of vector stores that provide an as_retriever() method")
|
|
16
|
+
search_kwargs: Optional[Dict[str, Any]] = Field(default_factory=dict, description="Dict to pass to each store's retrieve method (like 'k' for top_k)")
|
|
17
|
+
chain_type: Optional[str] = Field(default="stuff", description="Chain type for the retriever")
|
|
18
|
+
search_type: Optional[str] = Field(default="similarity", description="Search type (similarity, mmr)")
|
|
19
|
+
metric_type: Optional[str] = Field(default="COSINE", description="Similarity metric (COSINE, EUCLIDEAN, DOT_PRODUCT)")
|
|
20
|
+
class Config:
|
|
21
|
+
"""Configuration for this pydantic object."""
|
|
22
|
+
arbitrary_types_allowed = True
|
|
23
|
+
|
|
24
|
+
def __init__(
|
|
25
|
+
self,
|
|
26
|
+
stores: List[Any],
|
|
27
|
+
metric_type: str = 'COSINE',
|
|
28
|
+
chain_type: str = 'stuff',
|
|
29
|
+
search_type: str = 'similarity',
|
|
30
|
+
search_kwargs: Optional[Dict[str, Any]] = None,
|
|
31
|
+
**kwargs
|
|
32
|
+
):
|
|
33
|
+
"""
|
|
34
|
+
Initialize the MultiVectorStoreRetriever.
|
|
35
|
+
|
|
36
|
+
Args:
|
|
37
|
+
stores: List of vector stores that provide an as_retriever() method
|
|
38
|
+
metric_type: Similarity metric (COSINE, EUCLIDEAN, DOT_PRODUCT)
|
|
39
|
+
chain_type: Chain type for the retriever
|
|
40
|
+
search_type: Search type (similarity, mmr)
|
|
41
|
+
search_kwargs: Dict to pass to each store's retrieve method (like 'k' for top_k)
|
|
42
|
+
"""
|
|
43
|
+
# Initialize with default values
|
|
44
|
+
search_kwargs = search_kwargs or {}
|
|
45
|
+
|
|
46
|
+
# Call super().__init__ with all properties
|
|
47
|
+
super().__init__(
|
|
48
|
+
stores=stores,
|
|
49
|
+
search_kwargs=search_kwargs,
|
|
50
|
+
chain_type=chain_type,
|
|
51
|
+
search_type=search_type,
|
|
52
|
+
metric_type=metric_type,
|
|
53
|
+
**kwargs
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
def _get_relevant_documents(
|
|
57
|
+
self, query: str, *, run_manager: CallbackManagerForRetrieverRun
|
|
58
|
+
) -> List[Document]:
|
|
59
|
+
"""
|
|
60
|
+
Get documents relevant to the query.
|
|
61
|
+
Implements the required method from BaseRetriever.
|
|
62
|
+
|
|
63
|
+
Args:
|
|
64
|
+
query: Query string
|
|
65
|
+
run_manager: CallbackManager for the run
|
|
66
|
+
|
|
67
|
+
Returns:
|
|
68
|
+
List of relevant documents
|
|
69
|
+
"""
|
|
70
|
+
all_results = []
|
|
71
|
+
for store in self.stores:
|
|
72
|
+
try:
|
|
73
|
+
retriever = store.as_retriever(
|
|
74
|
+
search_type=self.search_type,
|
|
75
|
+
search_kwargs=self.search_kwargs,
|
|
76
|
+
)
|
|
77
|
+
# Pass the run_manager to the sub-retrievers if they support it
|
|
78
|
+
if hasattr(retriever, "_get_relevant_documents"):
|
|
79
|
+
callback_manager = run_manager.get_child()
|
|
80
|
+
docs = retriever._get_relevant_documents(query, run_manager=callback_manager)
|
|
81
|
+
else:
|
|
82
|
+
docs = retriever.get_relevant_documents(query)
|
|
83
|
+
all_results.extend(docs)
|
|
84
|
+
except Exception as e:
|
|
85
|
+
# Log the error but continue with other stores
|
|
86
|
+
run_manager.on_retriever_error(f"Error retrieving from store: {str(e)}")
|
|
87
|
+
continue
|
|
88
|
+
return all_results
|
|
89
|
+
|
|
90
|
+
async def _aget_relevant_documents(
|
|
91
|
+
self, query: str, *, run_manager: CallbackManagerForRetrieverRun
|
|
92
|
+
) -> List[Document]:
|
|
93
|
+
"""
|
|
94
|
+
Asynchronously get documents relevant to the query.
|
|
95
|
+
Implements the required async method from BaseRetriever.
|
|
96
|
+
|
|
97
|
+
Args:
|
|
98
|
+
query: Query string
|
|
99
|
+
run_manager: CallbackManager for the run
|
|
100
|
+
|
|
101
|
+
Returns:
|
|
102
|
+
List of relevant documents
|
|
103
|
+
"""
|
|
104
|
+
all_results = []
|
|
105
|
+
for store in self.stores:
|
|
106
|
+
try:
|
|
107
|
+
retriever = store.as_retriever(
|
|
108
|
+
search_type=self.search_type,
|
|
109
|
+
search_kwargs=self.search_kwargs,
|
|
110
|
+
)
|
|
111
|
+
# Pass the run_manager to the sub-retrievers if they support it
|
|
112
|
+
if hasattr(retriever, "_aget_relevant_documents"):
|
|
113
|
+
callback_manager = run_manager.get_child()
|
|
114
|
+
docs = await retriever._aget_relevant_documents(query, run_manager=callback_manager)
|
|
115
|
+
else:
|
|
116
|
+
docs = await retriever.aget_relevant_documents(query)
|
|
117
|
+
all_results.extend(docs)
|
|
118
|
+
except Exception as e:
|
|
119
|
+
# Log the error but continue with other stores
|
|
120
|
+
run_manager.on_retriever_error(f"Error retrieving from store: {str(e)}")
|
|
121
|
+
continue
|
|
122
|
+
return all_results
|
|
@@ -61,7 +61,9 @@ class BotManager:
|
|
|
61
61
|
f"Failed to load chatbots from DB: {e}"
|
|
62
62
|
)
|
|
63
63
|
return
|
|
64
|
+
print('HERE >>>>>> ', len(bots))
|
|
64
65
|
for bot in bots:
|
|
66
|
+
print('CREATING BOT > ', bot)
|
|
65
67
|
if bot.bot_type == 'chatbot':
|
|
66
68
|
self.logger.notice(
|
|
67
69
|
f"Loading chatbot '{bot.name}'..."
|
|
Binary file
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
__title__ = "ai-parrot"
|
|
4
4
|
__description__ = "Live Chatbots based on Langchain chatbots and Agents \
|
|
5
5
|
Integrated into Navigator Framework or used into any aiohttp applications."
|
|
6
|
-
__version__ = "0.5.
|
|
6
|
+
__version__ = "0.5.13"
|
|
7
7
|
__author__ = "Jesus Lara"
|
|
8
8
|
__author_email__ = "jesuslarag@gmail.com"
|
|
9
9
|
__license__ = "MIT"
|
|
Binary file
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
from typing import List, Dict, Any, Optional
|
|
2
|
-
from langchain_core.retrievers import BaseRetriever
|
|
3
|
-
from langchain_core.callbacks import CallbackManagerForRetrieverRun
|
|
4
|
-
from langchain_core.documents import Document
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class MultiVectorStoreRetriever(BaseRetriever):
|
|
8
|
-
"""
|
|
9
|
-
This aggregator retriever queries multiple vector stores
|
|
10
|
-
and merges the results into a single list.
|
|
11
|
-
"""
|
|
12
|
-
|
|
13
|
-
stores: List[Any]
|
|
14
|
-
search_kwargs: Dict[str, Any]
|
|
15
|
-
chain_type: str
|
|
16
|
-
search_type: str
|
|
17
|
-
metric_type: str
|
|
18
|
-
|
|
19
|
-
def __init__(
|
|
20
|
-
self,
|
|
21
|
-
stores: List[Any],
|
|
22
|
-
metric_type: str = 'COSINE',
|
|
23
|
-
chain_type: str = 'stuff',
|
|
24
|
-
search_type: str = 'similarity',
|
|
25
|
-
search_kwargs: Optional[Dict[str, Any]] = None,
|
|
26
|
-
):
|
|
27
|
-
"""
|
|
28
|
-
Initialize the MultiVectorStoreRetriever.
|
|
29
|
-
|
|
30
|
-
Args:
|
|
31
|
-
stores: List of vector stores that provide an as_retriever() method
|
|
32
|
-
metric_type: Similarity metric (COSINE, EUCLIDEAN, DOT_PRODUCT)
|
|
33
|
-
chain_type: Chain type for the retriever
|
|
34
|
-
search_type: Search type (similarity, mmr)
|
|
35
|
-
search_kwargs: Dict to pass to each store's retrieve method (like 'k' for top_k)
|
|
36
|
-
"""
|
|
37
|
-
super().__init__()
|
|
38
|
-
self.stores = stores
|
|
39
|
-
self.search_kwargs = search_kwargs or {}
|
|
40
|
-
self.chain_type = chain_type
|
|
41
|
-
self.search_type = search_type
|
|
42
|
-
self.metric_type = metric_type
|
|
43
|
-
|
|
44
|
-
def _get_relevant_documents(
|
|
45
|
-
self, query: str, *, run_manager: CallbackManagerForRetrieverRun
|
|
46
|
-
) -> List[Document]:
|
|
47
|
-
"""
|
|
48
|
-
Get documents relevant to the query.
|
|
49
|
-
Implements the required method from BaseRetriever.
|
|
50
|
-
|
|
51
|
-
Args:
|
|
52
|
-
query: Query string
|
|
53
|
-
run_manager: CallbackManager for the run
|
|
54
|
-
|
|
55
|
-
Returns:
|
|
56
|
-
List of relevant documents
|
|
57
|
-
"""
|
|
58
|
-
all_results = []
|
|
59
|
-
for store in self.stores:
|
|
60
|
-
retriever = store.as_retriever(
|
|
61
|
-
search_type=self.search_type,
|
|
62
|
-
search_kwargs=self.search_kwargs,
|
|
63
|
-
chain_type=self.chain_type
|
|
64
|
-
)
|
|
65
|
-
# Pass the run_manager to the sub-retrievers if they support it
|
|
66
|
-
if hasattr(retriever, "_get_relevant_documents"):
|
|
67
|
-
callback_manager = run_manager.get_child()
|
|
68
|
-
docs = retriever._get_relevant_documents(query, run_manager=callback_manager)
|
|
69
|
-
else:
|
|
70
|
-
docs = retriever.get_relevant_documents(query)
|
|
71
|
-
all_results.extend(docs)
|
|
72
|
-
return all_results
|
|
73
|
-
|
|
74
|
-
async def _aget_relevant_documents(
|
|
75
|
-
self, query: str, *, run_manager: CallbackManagerForRetrieverRun
|
|
76
|
-
) -> List[Document]:
|
|
77
|
-
"""
|
|
78
|
-
Asynchronously get documents relevant to the query.
|
|
79
|
-
Implements the required async method from BaseRetriever.
|
|
80
|
-
|
|
81
|
-
Args:
|
|
82
|
-
query: Query string
|
|
83
|
-
run_manager: CallbackManager for the run
|
|
84
|
-
|
|
85
|
-
Returns:
|
|
86
|
-
List of relevant documents
|
|
87
|
-
"""
|
|
88
|
-
all_results = []
|
|
89
|
-
for store in self.stores:
|
|
90
|
-
retriever = store.as_retriever(
|
|
91
|
-
search_type=self.search_type,
|
|
92
|
-
search_kwargs=self.search_kwargs,
|
|
93
|
-
chain_type=self.chain_type
|
|
94
|
-
)
|
|
95
|
-
# Pass the run_manager to the sub-retrievers if they support it
|
|
96
|
-
if hasattr(retriever, "_aget_relevant_documents"):
|
|
97
|
-
callback_manager = run_manager.get_child()
|
|
98
|
-
docs = await retriever._aget_relevant_documents(query, run_manager=callback_manager)
|
|
99
|
-
else:
|
|
100
|
-
docs = await retriever.aget_relevant_documents(query)
|
|
101
|
-
all_results.extend(docs)
|
|
102
|
-
return all_results
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/interfaces/__pycache__/__init__.cpython-311.pyc
RENAMED
|
File without changes
|
{ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/interfaces/__pycache__/retrievers.cpython-311.pyc
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/prompts/__pycache__/__init__.cpython-311.pyc
RENAMED
|
File without changes
|
{ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/prompts/__pycache__/agents.cpython-311.pyc
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/bots/retrievals/__pycache__/__init__.cpython-311.pyc
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/crew/tools/__pycache__/__init__.cpython-311.pyc
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/interfaces/__pycache__/__init__.cpython-311.pyc
RENAMED
|
File without changes
|
{ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/interfaces/__pycache__/database.cpython-311.pyc
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/__pycache__/__init__.cpython-311.pyc
RENAMED
|
File without changes
|
{ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/__pycache__/abstract.cpython-311.pyc
RENAMED
|
File without changes
|
{ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/stores/embeddings/__pycache__/base.cpython-311.pyc
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/utils/parsers/__pycache__/__init__.cpython-311.pyc
RENAMED
|
File without changes
|
|
File without changes
|
{ai_parrot-0.5.11 → ai_parrot-0.5.13}/parrot/utils/parsers/toml.cpython-311-x86_64-linux-gnu.so
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|