ai-parrot 0.3.9__tar.gz → 0.3.11__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.3.9 → ai_parrot-0.3.11}/PKG-INFO +5 -3
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/ai_parrot.egg-info/PKG-INFO +5 -3
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/ai_parrot.egg-info/SOURCES.txt +1 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/ai_parrot.egg-info/requires.txt +4 -2
- ai_parrot-0.3.11/examples/askbuddy/load_pdf.py +52 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/audio.py +2 -2
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/excel.py +2 -2
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/pdf.py +10 -10
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/pdfchapters.py +1 -1
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/pdffn.py +1 -1
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/pdfimages.py +2 -2
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/pdfmark.py +1 -1
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/pdftables.py +1 -1
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/qa.py +1 -1
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/rtd.py +1 -1
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/txt.py +1 -1
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/videolocal.py +2 -2
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/vimeo.py +2 -2
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/web.py +1 -1
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/web_base.py +1 -1
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/word.py +1 -1
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/youtube.py +4 -4
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/stores/milvus.py +5 -5
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/version.py +1 -1
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/setup.py +5 -3
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/.flake8 +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/.github/dependabot.yml +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/.github/workflows/codeql-analysis.yml +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/.github/workflows/release.yml +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/.gitignore +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/.isort.cfg +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/.pylintrc +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/INSTALL +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/LICENSE +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/Makefile +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/README.md +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/SECURITY.md +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/ai_parrot.egg-info/dependency_links.txt +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/ai_parrot.egg-info/top_level.txt +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/app.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/documents/AR_Certification_Skill_Practice_Scorecard_EXAMPLE.pdf +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/documents/Day 1_Essentials_AR_PPT.pdf +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/documents/ex-code-loaders.txt +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/documents/video_2024-09-11_19-43-58.mp3 +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/documents/video_2024-09-11_19-43-58.mp4 +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/documents/video_2024-09-11_19-43-58.vtt +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/etc/navigator-ssl.ini +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/etc/navigator.ini +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/etc/ssl/domain.ext +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/etc/ssl/navigator.local.crt +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/etc/ssl/navigator.local.csr +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/etc/ssl/navigator.local.key +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/etc/ssl/rootCA.crt +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/etc/ssl/rootCA.key +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/etc/ssl/rootCA.srl +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/examples/analyze_video.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/examples/askbuddy/create_bot.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/examples/check_bot.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/examples/extract_frames.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/examples/load_pdf.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/examples/test_bot.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/examples/test_question.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/mypy.ini +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/chatbots/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/chatbots/abstract.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/chatbots/asktroc.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/chatbots/base.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/chatbots/basic.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/chatbots/bose.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/chatbots/cody.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/chatbots/copilot.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/chatbots/dataframe.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/chatbots/hragents.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/chatbots/odoo.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/chatbots/retrievals/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/chatbots/retrievals/constitutional.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/conf.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/crew/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/crew/tools/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/crew/tools/bing.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/crew/tools/config.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/crew/tools/duckgo.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/crew/tools/file.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/crew/tools/google.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/crew/tools/gtrends.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/crew/tools/md2pdf.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/crew/tools/rag.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/crew/tools/search.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/crew/tools/url.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/exceptions.c +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/exceptions.pyx +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/handlers/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/handlers/bots.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/handlers/chat.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/interfaces/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/interfaces/database.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/llms/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/llms/abstract.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/llms/anthropic.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/llms/google.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/llms/groq.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/llms/hf.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/llms/openai.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/llms/pipes.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/llms/vertex.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/abstract.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/basepdf.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/basevideo.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/csv.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/dir.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/github.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/handlers/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/handlers/data.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/image.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/json.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/ppt.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/repo.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/utils/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/utils/models.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/loaders/video.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/manager.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/models.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/py.typed +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/stores/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/stores/abstract.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/stores/qdrant.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/tools/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/tools/abstract.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/tools/asknews.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/tools/bing.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/tools/duck.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/tools/google.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/tools/stack.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/tools/weather.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/tools/wikipedia.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/tools/zipcode.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/utils/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/utils/parsers/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/utils/parsers/toml.c +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/utils/parsers/toml.pyx +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/utils/toml.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/utils/types.cpp +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/utils/types.pyx +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/parrot/utils/uv.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/pyproject.toml +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/pytest.ini +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/requirements/requirements-dev.txt +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/resources/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/resources/quick.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/resources/users/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/resources/users/handlers.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/resources/users/models.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/run.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/settings/__init__.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/settings/settings.py +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/setup.cfg +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/templates/.compiled +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/templates/README.md +0 -0
- {ai_parrot-0.3.9 → ai_parrot-0.3.11}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ai-parrot
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.11
|
|
4
4
|
Summary: Live Chatbots based on Langchain chatbots and Agents Integrated into Navigator Framework or used into aiohttp applications.
|
|
5
5
|
Home-page: https://github.com/phenobarbital/ai-parrot
|
|
6
6
|
Author: Jesus Lara
|
|
@@ -78,6 +78,8 @@ Requires-Dist: O365==2.0.35
|
|
|
78
78
|
Requires-Dist: stackapi==0.3.1
|
|
79
79
|
Requires-Dist: torchvision==0.19.1
|
|
80
80
|
Requires-Dist: tf-keras==2.17.0
|
|
81
|
+
Requires-Dist: simsimd==4.3.1
|
|
82
|
+
Requires-Dist: opencv-python==4.10.0.84
|
|
81
83
|
Provides-Extra: loaders
|
|
82
84
|
Requires-Dist: unstructured==0.14.3; extra == "loaders"
|
|
83
85
|
Requires-Dist: unstructured-client==0.18.0; extra == "loaders"
|
|
@@ -108,6 +110,8 @@ Requires-Dist: ftfy==6.2.3; extra == "loaders"
|
|
|
108
110
|
Requires-Dist: librosa==0.10.1; extra == "loaders"
|
|
109
111
|
Requires-Dist: XlsxWriter==3.2.0; extra == "loaders"
|
|
110
112
|
Requires-Dist: timm==1.0.9; extra == "loaders"
|
|
113
|
+
Requires-Dist: simsimd==4.3.1; extra == "loaders"
|
|
114
|
+
Requires-Dist: opencv-python==4.10.0.84; extra == "loaders"
|
|
111
115
|
Requires-Dist: easyocr==1.7.1; extra == "loaders"
|
|
112
116
|
Provides-Extra: anthropic
|
|
113
117
|
Requires-Dist: langchain-anthropic==0.1.11; extra == "anthropic"
|
|
@@ -141,8 +145,6 @@ Requires-Dist: annoy==1.17.3; extra == "analytics"
|
|
|
141
145
|
Requires-Dist: gradio_tools==0.0.9; extra == "analytics"
|
|
142
146
|
Requires-Dist: gradio-client==0.2.9; extra == "analytics"
|
|
143
147
|
Requires-Dist: streamlit==1.37.1; extra == "analytics"
|
|
144
|
-
Requires-Dist: simsimd==4.3.1; extra == "analytics"
|
|
145
|
-
Requires-Dist: opencv-python==4.10.0.84; extra == "analytics"
|
|
146
148
|
|
|
147
149
|
# AI Parrot: Python package for creating Chatbots
|
|
148
150
|
This is an open-source Python package for creating Chatbots based on Langchain and Navigator.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ai-parrot
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.11
|
|
4
4
|
Summary: Live Chatbots based on Langchain chatbots and Agents Integrated into Navigator Framework or used into aiohttp applications.
|
|
5
5
|
Home-page: https://github.com/phenobarbital/ai-parrot
|
|
6
6
|
Author: Jesus Lara
|
|
@@ -78,6 +78,8 @@ Requires-Dist: O365==2.0.35
|
|
|
78
78
|
Requires-Dist: stackapi==0.3.1
|
|
79
79
|
Requires-Dist: torchvision==0.19.1
|
|
80
80
|
Requires-Dist: tf-keras==2.17.0
|
|
81
|
+
Requires-Dist: simsimd==4.3.1
|
|
82
|
+
Requires-Dist: opencv-python==4.10.0.84
|
|
81
83
|
Provides-Extra: loaders
|
|
82
84
|
Requires-Dist: unstructured==0.14.3; extra == "loaders"
|
|
83
85
|
Requires-Dist: unstructured-client==0.18.0; extra == "loaders"
|
|
@@ -108,6 +110,8 @@ Requires-Dist: ftfy==6.2.3; extra == "loaders"
|
|
|
108
110
|
Requires-Dist: librosa==0.10.1; extra == "loaders"
|
|
109
111
|
Requires-Dist: XlsxWriter==3.2.0; extra == "loaders"
|
|
110
112
|
Requires-Dist: timm==1.0.9; extra == "loaders"
|
|
113
|
+
Requires-Dist: simsimd==4.3.1; extra == "loaders"
|
|
114
|
+
Requires-Dist: opencv-python==4.10.0.84; extra == "loaders"
|
|
111
115
|
Requires-Dist: easyocr==1.7.1; extra == "loaders"
|
|
112
116
|
Provides-Extra: anthropic
|
|
113
117
|
Requires-Dist: langchain-anthropic==0.1.11; extra == "anthropic"
|
|
@@ -141,8 +145,6 @@ Requires-Dist: annoy==1.17.3; extra == "analytics"
|
|
|
141
145
|
Requires-Dist: gradio_tools==0.0.9; extra == "analytics"
|
|
142
146
|
Requires-Dist: gradio-client==0.2.9; extra == "analytics"
|
|
143
147
|
Requires-Dist: streamlit==1.37.1; extra == "analytics"
|
|
144
|
-
Requires-Dist: simsimd==4.3.1; extra == "analytics"
|
|
145
|
-
Requires-Dist: opencv-python==4.10.0.84; extra == "analytics"
|
|
146
148
|
|
|
147
149
|
# AI Parrot: Python package for creating Chatbots
|
|
148
150
|
This is an open-source Python package for creating Chatbots based on Langchain and Navigator.
|
|
@@ -47,14 +47,14 @@ O365==2.0.35
|
|
|
47
47
|
stackapi==0.3.1
|
|
48
48
|
torchvision==0.19.1
|
|
49
49
|
tf-keras==2.17.0
|
|
50
|
+
simsimd==4.3.1
|
|
51
|
+
opencv-python==4.10.0.84
|
|
50
52
|
|
|
51
53
|
[analytics]
|
|
52
54
|
annoy==1.17.3
|
|
53
55
|
gradio_tools==0.0.9
|
|
54
56
|
gradio-client==0.2.9
|
|
55
57
|
streamlit==1.37.1
|
|
56
|
-
simsimd==4.3.1
|
|
57
|
-
opencv-python==4.10.0.84
|
|
58
58
|
|
|
59
59
|
[anthropic]
|
|
60
60
|
langchain-anthropic==0.1.11
|
|
@@ -107,6 +107,8 @@ ftfy==6.2.3
|
|
|
107
107
|
librosa==0.10.1
|
|
108
108
|
XlsxWriter==3.2.0
|
|
109
109
|
timm==1.0.9
|
|
110
|
+
simsimd==4.3.1
|
|
111
|
+
opencv-python==4.10.0.84
|
|
110
112
|
easyocr==1.7.1
|
|
111
113
|
|
|
112
114
|
[milvus]
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Load RFP documents into bot.
|
|
3
|
+
"""
|
|
4
|
+
import asyncio
|
|
5
|
+
from navconfig import BASE_DIR
|
|
6
|
+
from pprint import pprint
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
from parrot.chatbots.basic import Chatbot
|
|
9
|
+
from parrot.llms.vertex import VertexLLM
|
|
10
|
+
from parrot.loaders import (
|
|
11
|
+
PDFLoader
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
async def get_agent():
|
|
15
|
+
llm = VertexLLM(
|
|
16
|
+
model='gemini-1.5-pro',
|
|
17
|
+
temperature=0.1,
|
|
18
|
+
top_k=30,
|
|
19
|
+
Top_p=0.5,
|
|
20
|
+
)
|
|
21
|
+
agent = Chatbot(
|
|
22
|
+
name='AskBuddy',
|
|
23
|
+
llm=llm
|
|
24
|
+
)
|
|
25
|
+
# Add LLM
|
|
26
|
+
await agent.configure()
|
|
27
|
+
# directory = BASE_DIR.joinpath("docs", "askbuddy")
|
|
28
|
+
directory = Path('/home/jesuslara/proyectos/navigator/navigator-ai').joinpath("docs", "askbuddy")
|
|
29
|
+
for filename in directory.glob('*.pdf'):
|
|
30
|
+
# Loading File by File to avoid overheat in database
|
|
31
|
+
print(':: Processing: ', filename)
|
|
32
|
+
# PDF Files
|
|
33
|
+
loader = PDFLoader(
|
|
34
|
+
filename,
|
|
35
|
+
source_type=f"MSO {filename.name}",
|
|
36
|
+
llm=llm.get_llm(),
|
|
37
|
+
language="en",
|
|
38
|
+
parse_images=False,
|
|
39
|
+
page_as_images=True
|
|
40
|
+
)
|
|
41
|
+
docs = loader.load()
|
|
42
|
+
pprint(docs)
|
|
43
|
+
await agent.load_documents(
|
|
44
|
+
docs
|
|
45
|
+
)
|
|
46
|
+
return agent
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
if __name__ == "__main__":
|
|
52
|
+
agent = asyncio.run(get_agent())
|
|
@@ -28,7 +28,7 @@ class AudioLoader(BaseVideoLoader):
|
|
|
28
28
|
metadata = {
|
|
29
29
|
"source": f"{path}",
|
|
30
30
|
"url": f"{path.name}",
|
|
31
|
-
"index": path.stem,
|
|
31
|
+
# "index": path.stem,
|
|
32
32
|
"filename": f"{path}",
|
|
33
33
|
"question": '',
|
|
34
34
|
"answer": '',
|
|
@@ -71,7 +71,7 @@ class AudioLoader(BaseVideoLoader):
|
|
|
71
71
|
docs = []
|
|
72
72
|
for chunk in dialogs:
|
|
73
73
|
_meta = {
|
|
74
|
-
"index": f"{path.stem}:{chunk['id']}",
|
|
74
|
+
# "index": f"{path.stem}:{chunk['id']}",
|
|
75
75
|
"document_meta": {
|
|
76
76
|
"start": f"{chunk['start_time']}",
|
|
77
77
|
"end": f"{chunk['end_time']}",
|
|
@@ -284,7 +284,7 @@ class ExcelLoader(AbstractLoader):
|
|
|
284
284
|
df = self.unique_columns(df)
|
|
285
285
|
metadata = {
|
|
286
286
|
"url": '',
|
|
287
|
-
"index": '',
|
|
287
|
+
# "index": '',
|
|
288
288
|
"source": str(path.name),
|
|
289
289
|
"filename": path.name,
|
|
290
290
|
"question": '',
|
|
@@ -309,7 +309,7 @@ class ExcelLoader(AbstractLoader):
|
|
|
309
309
|
idk = row[col]
|
|
310
310
|
break
|
|
311
311
|
_data = {
|
|
312
|
-
"index": idk,
|
|
312
|
+
# "index": idk,
|
|
313
313
|
"data": rw,
|
|
314
314
|
"document_meta": {
|
|
315
315
|
"row_index": idx,
|
|
@@ -299,7 +299,7 @@ class PDFLoader(BasePDF):
|
|
|
299
299
|
"answer": '',
|
|
300
300
|
"source_type": self._source_type,
|
|
301
301
|
"data": {},
|
|
302
|
-
"summary": '',
|
|
302
|
+
"summary": '-',
|
|
303
303
|
"document_meta": {
|
|
304
304
|
"title": pdf.metadata.get("title", ""), # pylint: disable=E1101
|
|
305
305
|
"creationDate": pdf.metadata.get("creationDate", ""), # pylint: disable=E1101
|
|
@@ -331,12 +331,12 @@ class PDFLoader(BasePDF):
|
|
|
331
331
|
try:
|
|
332
332
|
summary = self.get_summary_from_text(text)
|
|
333
333
|
except Exception:
|
|
334
|
-
summary = ''
|
|
334
|
+
summary = '-'
|
|
335
335
|
metadata = {
|
|
336
|
-
"url":
|
|
336
|
+
"url": f"{path}:#{page_num}",
|
|
337
337
|
"source": f"{path.name} Page.#{page_num}",
|
|
338
338
|
"filename": path.name,
|
|
339
|
-
"index": f"{page_num}",
|
|
339
|
+
# "index": f"{page_num}",
|
|
340
340
|
"type": 'pdf',
|
|
341
341
|
"question": '',
|
|
342
342
|
"answer": '',
|
|
@@ -400,7 +400,7 @@ class PDFLoader(BasePDF):
|
|
|
400
400
|
"url": url,
|
|
401
401
|
"source": f"{path.name} Page.#{page_num}",
|
|
402
402
|
"filename": path.name,
|
|
403
|
-
"index": f"{path.name}:{page_num}",
|
|
403
|
+
# "index": f"{path.name}:{page_num}",
|
|
404
404
|
"question": '',
|
|
405
405
|
"answer": '',
|
|
406
406
|
"type": 'image',
|
|
@@ -427,15 +427,15 @@ class PDFLoader(BasePDF):
|
|
|
427
427
|
df = df.dropna(axis=1, how='all')
|
|
428
428
|
df = df.dropna(how='all', axis=0) # Drop empty rows
|
|
429
429
|
table_meta = {
|
|
430
|
-
"url":
|
|
430
|
+
"url": f"{path.name} Page.#{page_num} Table.#{tab_idx}",
|
|
431
431
|
"source": f"{path.name} Page.#{page_num} Table.#{tab_idx}",
|
|
432
432
|
"filename": path.name,
|
|
433
|
-
"index": f"{path.name}:{page_num}",
|
|
433
|
+
# "index": f"{path.name}:{page_num}",
|
|
434
434
|
"question": '',
|
|
435
435
|
"answer": '',
|
|
436
436
|
"type": 'table',
|
|
437
437
|
"data": {},
|
|
438
|
-
"summary": '',
|
|
438
|
+
"summary": '-',
|
|
439
439
|
"document_meta": {
|
|
440
440
|
"table_index": tab_idx,
|
|
441
441
|
"table_shape": df.shape,
|
|
@@ -476,12 +476,12 @@ class PDFLoader(BasePDF):
|
|
|
476
476
|
"url": url,
|
|
477
477
|
"source": f"{path.name} Page.#{page_num}",
|
|
478
478
|
"filename": path.name,
|
|
479
|
-
"index": f"{path.name}:{page_num}",
|
|
479
|
+
# "index": f"{path.name}:{page_num}",
|
|
480
480
|
"question": '',
|
|
481
481
|
"answer": '',
|
|
482
482
|
"type": 'page',
|
|
483
483
|
"data": {},
|
|
484
|
-
"summary": '',
|
|
484
|
+
"summary": '-',
|
|
485
485
|
"document_meta": {
|
|
486
486
|
"image_name": img_name,
|
|
487
487
|
"page_number": f"{page_number}"
|
|
@@ -78,7 +78,7 @@ class PDFChapterLoader(BasePDF):
|
|
|
78
78
|
page_number = page_num + 1
|
|
79
79
|
metadata = {
|
|
80
80
|
"url": '',
|
|
81
|
-
"index": f"{path.name} #{page_number}",
|
|
81
|
+
# "index": f"{path.name} #{page_number}",
|
|
82
82
|
"source": f"{path.name} #{page_number}",
|
|
83
83
|
"filename": path.name,
|
|
84
84
|
"source_type": self._source_type,
|
|
@@ -55,7 +55,7 @@ class PDFFnLoader(BasePDF):
|
|
|
55
55
|
n = page_number + 1
|
|
56
56
|
return {
|
|
57
57
|
"url": '',
|
|
58
|
-
"index": f"{path.name} #{page_number}",
|
|
58
|
+
# "index": f"{path.name} #{page_number}",
|
|
59
59
|
"source": f"{path.name} #{page_number}",
|
|
60
60
|
"filename": path.name,
|
|
61
61
|
"source_type": self._source_type,
|
|
@@ -124,7 +124,7 @@ class PDFImageLoader(BasePDF):
|
|
|
124
124
|
}
|
|
125
125
|
for idx, chunk in enumerate(self._splitter.split_text(md_text)):
|
|
126
126
|
_info = {
|
|
127
|
-
"index": f"{idx}",
|
|
127
|
+
# "index": f"{idx}",
|
|
128
128
|
**metadata
|
|
129
129
|
}
|
|
130
130
|
docs.append(
|
|
@@ -178,7 +178,7 @@ class PDFImageLoader(BasePDF):
|
|
|
178
178
|
_meta = {
|
|
179
179
|
"url": f"{url}",
|
|
180
180
|
"filename": str(path.name),
|
|
181
|
-
"index": f"Page {page_num}, part: {idx}",
|
|
181
|
+
# "index": f"Page {page_num}, part: {idx}",
|
|
182
182
|
"source": str(path.name),
|
|
183
183
|
"type": 'pdf',
|
|
184
184
|
"question": prompt_text,
|
|
@@ -91,7 +91,7 @@ class PDFTablesLoader(BasePDF):
|
|
|
91
91
|
"url": '',
|
|
92
92
|
"source": f"{path.name} Page.#{page} Table.#{table_idx}",
|
|
93
93
|
"filename": path.name,
|
|
94
|
-
"index": f"{path.name}:Table:{table_idx}",
|
|
94
|
+
# "index": f"{path.name}:Table:{table_idx}",
|
|
95
95
|
"question": '',
|
|
96
96
|
"answer": '',
|
|
97
97
|
"type": 'table',
|
|
@@ -46,7 +46,7 @@ class QAFileLoader(AbstractLoader):
|
|
|
46
46
|
page_content=f"**Question:** {row[q]}: **Answer:** {row[a]}",
|
|
47
47
|
metadata={
|
|
48
48
|
"url": '',
|
|
49
|
-
"index": f"{path.name} #{idx}",
|
|
49
|
+
# "index": f"{path.name} #{idx}",
|
|
50
50
|
"source": f"{path.name} Row.#{idx}",
|
|
51
51
|
"filename": f"{path.name}",
|
|
52
52
|
"question": row[q],
|
|
@@ -45,7 +45,7 @@ class VideoLocalLoader(BaseVideoLoader):
|
|
|
45
45
|
"url": f"{path.name}",
|
|
46
46
|
"source": f"{path}",
|
|
47
47
|
"filename": f"{path}",
|
|
48
|
-
"index": path.stem,
|
|
48
|
+
# "index": path.stem,
|
|
49
49
|
"question": '',
|
|
50
50
|
"answer": '',
|
|
51
51
|
'type': 'video_transcript',
|
|
@@ -96,7 +96,7 @@ class VideoLocalLoader(BaseVideoLoader):
|
|
|
96
96
|
docs = []
|
|
97
97
|
for chunk in dialogs:
|
|
98
98
|
_meta = {
|
|
99
|
-
"index": f"{path.stem}:{chunk['id']}",
|
|
99
|
+
# "index": f"{path.stem}:{chunk['id']}",
|
|
100
100
|
"document_meta": {
|
|
101
101
|
"start": f"{chunk['start_time']}",
|
|
102
102
|
"end": f"{chunk['end_time']}",
|
|
@@ -13,7 +13,7 @@ class VimeoLoader(YoutubeLoader):
|
|
|
13
13
|
metadata = {
|
|
14
14
|
"source": url,
|
|
15
15
|
"url": url,
|
|
16
|
-
"index": url,
|
|
16
|
+
# "index": url,
|
|
17
17
|
"filename": video_title,
|
|
18
18
|
"question": '',
|
|
19
19
|
"answer": '',
|
|
@@ -73,7 +73,7 @@ class VimeoLoader(YoutubeLoader):
|
|
|
73
73
|
dialogs = self.transcript_to_blocks(transcript_whisper)
|
|
74
74
|
for chunk in dialogs:
|
|
75
75
|
_meta = {
|
|
76
|
-
"index": f"{video_title}:{chunk['id']}",
|
|
76
|
+
# "index": f"{video_title}:{chunk['id']}",
|
|
77
77
|
"document_meta": {
|
|
78
78
|
"start": f"{chunk['start_time']}",
|
|
79
79
|
"end": f"{chunk['end_time']}",
|
|
@@ -71,7 +71,7 @@ class YoutubeLoader(VideoLoader):
|
|
|
71
71
|
metadata = {
|
|
72
72
|
"url": f"{url}",
|
|
73
73
|
"source": f"{url}",
|
|
74
|
-
"index": video_title,
|
|
74
|
+
# "index": video_title,
|
|
75
75
|
"filename": video_title,
|
|
76
76
|
"question": '',
|
|
77
77
|
"answer": '',
|
|
@@ -103,7 +103,7 @@ class YoutubeLoader(VideoLoader):
|
|
|
103
103
|
dialogs = self.transcript_to_blocks(transcript_whisper)
|
|
104
104
|
for chunk in dialogs:
|
|
105
105
|
_meta = {
|
|
106
|
-
"index": f"{video_title}:{chunk['id']}",
|
|
106
|
+
# "index": f"{video_title}:{chunk['id']}",
|
|
107
107
|
"document_meta": {
|
|
108
108
|
"start": f"{chunk['start_time']}",
|
|
109
109
|
"end": f"{chunk['end_time']}",
|
|
@@ -150,7 +150,7 @@ class YoutubeLoader(VideoLoader):
|
|
|
150
150
|
for doc in docs:
|
|
151
151
|
doc.metadata['source_type'] = self._source_type
|
|
152
152
|
doc.metadata['summary'] = f"{summary!s}"
|
|
153
|
-
doc.metadata['index'] = ''
|
|
153
|
+
# doc.metadata['index'] = ''
|
|
154
154
|
doc.metadata['filename'] = ''
|
|
155
155
|
doc.metadata['question'] = ''
|
|
156
156
|
doc.metadata['answer'] = ''
|
|
@@ -171,7 +171,7 @@ class YoutubeLoader(VideoLoader):
|
|
|
171
171
|
metadata = {
|
|
172
172
|
"source": url,
|
|
173
173
|
"url": url,
|
|
174
|
-
"index": '',
|
|
174
|
+
# "index": '',
|
|
175
175
|
"filename": '',
|
|
176
176
|
"question": '',
|
|
177
177
|
"answer": '',
|
|
@@ -350,11 +350,11 @@ class MilvusStore(AbstractStore):
|
|
|
350
350
|
auto_id=True,
|
|
351
351
|
max_length=100
|
|
352
352
|
)
|
|
353
|
-
schema.add_field(
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
)
|
|
353
|
+
# schema.add_field(
|
|
354
|
+
# field_name="index",
|
|
355
|
+
# datatype=DataType.VARCHAR,
|
|
356
|
+
# max_length=65535
|
|
357
|
+
# )
|
|
358
358
|
schema.add_field(
|
|
359
359
|
field_name="url",
|
|
360
360
|
datatype=DataType.VARCHAR,
|
|
@@ -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 aiohttp applications."
|
|
6
|
-
__version__ = "0.3.
|
|
6
|
+
__version__ = "0.3.11"
|
|
7
7
|
__author__ = "Jesus Lara"
|
|
8
8
|
__author_email__ = "jesuslarag@gmail.com"
|
|
9
9
|
__license__ = "MIT"
|
|
@@ -190,7 +190,9 @@ setup(
|
|
|
190
190
|
"O365==2.0.35",
|
|
191
191
|
"stackapi==0.3.1",
|
|
192
192
|
"torchvision==0.19.1",
|
|
193
|
-
"tf-keras==2.17.0"
|
|
193
|
+
"tf-keras==2.17.0",
|
|
194
|
+
"simsimd==4.3.1",
|
|
195
|
+
"opencv-python==4.10.0.84"
|
|
194
196
|
],
|
|
195
197
|
extras_require={
|
|
196
198
|
"loaders": [
|
|
@@ -224,6 +226,8 @@ setup(
|
|
|
224
226
|
"XlsxWriter==3.2.0",
|
|
225
227
|
# "xformers==0.0.27.post2",
|
|
226
228
|
"timm==1.0.9",
|
|
229
|
+
"simsimd==4.3.1",
|
|
230
|
+
"opencv-python==4.10.0.84",
|
|
227
231
|
"easyocr==1.7.1"
|
|
228
232
|
],
|
|
229
233
|
"anthropic": [
|
|
@@ -266,8 +270,6 @@ setup(
|
|
|
266
270
|
"gradio_tools==0.0.9",
|
|
267
271
|
"gradio-client==0.2.9",
|
|
268
272
|
"streamlit==1.37.1",
|
|
269
|
-
"simsimd==4.3.1",
|
|
270
|
-
"opencv-python==4.10.0.84"
|
|
271
273
|
# "timm==0.9.16", # image-processor
|
|
272
274
|
# "ultralytics==8.2.4", # image-processor
|
|
273
275
|
# "albumentations-1.4.4",
|
|
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.3.9 → ai_parrot-0.3.11}/documents/AR_Certification_Skill_Practice_Scorecard_EXAMPLE.pdf
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
|
|
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
|
|
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
|