ai-parrot 0.3.3__cp311-cp311-manylinux_2_28_x86_64.whl → 0.3.6__cp311-cp311-manylinux_2_28_x86_64.whl
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.3.dist-info → ai_parrot-0.3.6.dist-info}/METADATA +9 -27
- {ai_parrot-0.3.3.dist-info → ai_parrot-0.3.6.dist-info}/RECORD +8 -8
- parrot/loaders/pdf.py +1 -8
- parrot/loaders/videolocal.py +27 -7
- parrot/version.py +1 -1
- {ai_parrot-0.3.3.dist-info → ai_parrot-0.3.6.dist-info}/LICENSE +0 -0
- {ai_parrot-0.3.3.dist-info → ai_parrot-0.3.6.dist-info}/WHEEL +0 -0
- {ai_parrot-0.3.3.dist-info → ai_parrot-0.3.6.dist-info}/top_level.txt +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.6
|
|
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
|
|
@@ -26,7 +26,7 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
26
26
|
Classifier: Programming Language :: Python :: 3.12
|
|
27
27
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
28
28
|
Classifier: Framework :: AsyncIO
|
|
29
|
-
Requires-Python: >=3.
|
|
29
|
+
Requires-Python: >=3.9.20
|
|
30
30
|
Description-Content-Type: text/markdown
|
|
31
31
|
License-File: LICENSE
|
|
32
32
|
Requires-Dist: Cython==3.0.11
|
|
@@ -58,11 +58,8 @@ Requires-Dist: sentence-transformers==3.0.1
|
|
|
58
58
|
Requires-Dist: tabulate==0.9.0
|
|
59
59
|
Requires-Dist: tiktoken==0.7.0
|
|
60
60
|
Requires-Dist: tokenizers==0.19.1
|
|
61
|
-
Requires-Dist:
|
|
62
|
-
Requires-Dist:
|
|
63
|
-
Requires-Dist: youtube-transcript-api==0.6.2
|
|
64
|
-
Requires-Dist: selenium==4.18.1
|
|
65
|
-
Requires-Dist: webdriver-manager==4.0.1
|
|
61
|
+
Requires-Dist: selenium>=4.18.1
|
|
62
|
+
Requires-Dist: webdriver-manager>=4.0.1
|
|
66
63
|
Requires-Dist: transitions==0.9.0
|
|
67
64
|
Requires-Dist: sentencepiece==0.2.0
|
|
68
65
|
Requires-Dist: duckduckgo-search==5.3.0
|
|
@@ -79,26 +76,8 @@ Requires-Dist: mediawikiapi==1.2
|
|
|
79
76
|
Requires-Dist: pyowm==3.3.0
|
|
80
77
|
Requires-Dist: O365==2.0.35
|
|
81
78
|
Requires-Dist: stackapi==0.3.1
|
|
82
|
-
Requires-Dist: timm==1.0.9
|
|
83
79
|
Requires-Dist: torchvision==0.19.1
|
|
84
|
-
|
|
85
|
-
Requires-Dist: langchain-milvus==0.1.1; extra == "all"
|
|
86
|
-
Requires-Dist: milvus==2.3.5; extra == "all"
|
|
87
|
-
Requires-Dist: pymilvus==2.4.4; extra == "all"
|
|
88
|
-
Requires-Dist: groq==0.11.0; extra == "all"
|
|
89
|
-
Requires-Dist: langchain-groq==0.1.4; extra == "all"
|
|
90
|
-
Requires-Dist: llama-index-llms-huggingface==0.2.7; extra == "all"
|
|
91
|
-
Requires-Dist: langchain-google-vertexai==1.0.8; extra == "all"
|
|
92
|
-
Requires-Dist: langchain-google-genai==1.0.8; extra == "all"
|
|
93
|
-
Requires-Dist: google-generativeai==0.7.2; extra == "all"
|
|
94
|
-
Requires-Dist: vertexai==1.60.0; extra == "all"
|
|
95
|
-
Requires-Dist: google-cloud-aiplatform>=1.60.0; extra == "all"
|
|
96
|
-
Requires-Dist: grpc-google-iam-v1==0.13.0; extra == "all"
|
|
97
|
-
Requires-Dist: langchain-openai==0.1.21; extra == "all"
|
|
98
|
-
Requires-Dist: openai==1.40.8; extra == "all"
|
|
99
|
-
Requires-Dist: llama-index-llms-openai==0.1.11; extra == "all"
|
|
100
|
-
Requires-Dist: langchain-anthropic==0.1.23; extra == "all"
|
|
101
|
-
Requires-Dist: anthropic==0.34.0; extra == "all"
|
|
80
|
+
Requires-Dist: tf-keras==2.17.0
|
|
102
81
|
Provides-Extra: analytics
|
|
103
82
|
Requires-Dist: annoy==1.17.3; extra == "analytics"
|
|
104
83
|
Requires-Dist: gradio-tools==0.0.9; extra == "analytics"
|
|
@@ -123,6 +102,9 @@ Requires-Dist: langchain-groq==0.1.9; extra == "groq"
|
|
|
123
102
|
Provides-Extra: hunggingfaces
|
|
124
103
|
Requires-Dist: llama-index-llms-huggingface==0.2.7; extra == "hunggingfaces"
|
|
125
104
|
Provides-Extra: loaders
|
|
105
|
+
Requires-Dist: unstructured==0.14.3; extra == "loaders"
|
|
106
|
+
Requires-Dist: unstructured-client==0.18.0; extra == "loaders"
|
|
107
|
+
Requires-Dist: youtube-transcript-api==0.6.2; extra == "loaders"
|
|
126
108
|
Requires-Dist: pymupdf==1.24.4; extra == "loaders"
|
|
127
109
|
Requires-Dist: pymupdf4llm==0.0.1; extra == "loaders"
|
|
128
110
|
Requires-Dist: pdf4llm==0.0.6; extra == "loaders"
|
|
@@ -148,7 +130,7 @@ Requires-Dist: paddleocr==2.8.1; extra == "loaders"
|
|
|
148
130
|
Requires-Dist: ftfy==6.2.3; extra == "loaders"
|
|
149
131
|
Requires-Dist: librosa==0.10.1; extra == "loaders"
|
|
150
132
|
Requires-Dist: XlsxWriter==3.2.0; extra == "loaders"
|
|
151
|
-
Requires-Dist:
|
|
133
|
+
Requires-Dist: timm==1.0.9; extra == "loaders"
|
|
152
134
|
Provides-Extra: milvus
|
|
153
135
|
Requires-Dist: langchain-milvus>=0.1.4; extra == "milvus"
|
|
154
136
|
Requires-Dist: milvus==2.3.5; extra == "milvus"
|
|
@@ -4,7 +4,7 @@ parrot/exceptions.cpython-311-x86_64-linux-gnu.so,sha256=VNyBh3uLxGQgB0l1bkWjQDq
|
|
|
4
4
|
parrot/manager.py,sha256=NhzXoWxSgtoWHpmYP8cV2Ujq_SlvCbQYQBaohAeL2TM,5935
|
|
5
5
|
parrot/models.py,sha256=RsVQCqhSXBKRPcu-BCga9Y1wyvENFXDCuq3_ObIKvAo,13452
|
|
6
6
|
parrot/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
parrot/version.py,sha256=
|
|
7
|
+
parrot/version.py,sha256=x5KFeKUhuf0IyJRSN3fSKlwqSDRNfHYDoFae9slFeKc,373
|
|
8
8
|
parrot/chatbots/__init__.py,sha256=ypskCnME0xUv6psBEGCEyXCrD0J0ULHSllpVmSxqb4A,200
|
|
9
9
|
parrot/chatbots/abstract.py,sha256=CmDn3k4r9uKImOZRN4L9zxLbCdC-1MPUAorDlfZT-kA,26421
|
|
10
10
|
parrot/chatbots/asktroc.py,sha256=gyWzyvpAnmXwXd-3DEKoIJtAxt6NnP5mUZdZbkFky8s,604
|
|
@@ -56,7 +56,7 @@ parrot/loaders/excel.py,sha256=Y1agxm-jG4AgsA2wlPP3p8uBH40wYW1KM2ycTTLKUm4,12441
|
|
|
56
56
|
parrot/loaders/github.py,sha256=CscyUIqoHTytqCbRUUTcV3QSxI8XoDntq5aTU0vdhzQ,2593
|
|
57
57
|
parrot/loaders/image.py,sha256=A9KCXXoGuhDoyeJaascY7Q1ZK12Kf1ggE1drzJjS3AU,3946
|
|
58
58
|
parrot/loaders/json.py,sha256=6B43k591OpvoJLbsJa8CxJue_lAt713SCdldn8bFW3c,1481
|
|
59
|
-
parrot/loaders/pdf.py,sha256=
|
|
59
|
+
parrot/loaders/pdf.py,sha256=nyeT4emrewxeO2dUQxW3QOcdk1vg1JYtPKNAV8tThm0,17512
|
|
60
60
|
parrot/loaders/pdfchapters.py,sha256=YhA8Cdx3qXBR0vuTVnQ12XgH1DXT_rp1Tawzh4V2U3o,5637
|
|
61
61
|
parrot/loaders/pdffn.py,sha256=gA-vJEWUiIUwbMxP8Nmvlzlcb39DVV69vGKtSzavUoI,4004
|
|
62
62
|
parrot/loaders/pdfimages.py,sha256=4Q_HKiAee_hALBsG2qF7PpMgKP1AivHXhmcsCkUa9eE,7899
|
|
@@ -68,7 +68,7 @@ parrot/loaders/repo.py,sha256=vBqBAnwU6p3_DCvI9DVhi1Bs8iCDYHwFGp0P9zvGRyw,3737
|
|
|
68
68
|
parrot/loaders/rtd.py,sha256=oKOC9Qn3iwulYx5BEvXy4_kusKRsy5RLYNHS-e5p-1k,1988
|
|
69
69
|
parrot/loaders/txt.py,sha256=AeGroWffFT--7TYlTSTr5Av5zAr8YIp1fxt8r5qdi-A,2802
|
|
70
70
|
parrot/loaders/video.py,sha256=pl5Ho69bp5vrWMqg5tLbsnHUus1LByTDoL6NPk57Ays,2929
|
|
71
|
-
parrot/loaders/videolocal.py,sha256=
|
|
71
|
+
parrot/loaders/videolocal.py,sha256=o1upjpsMHp1NV4ZQVRc2DS8nKyJI1l0x9p3PjJUr3fU,5018
|
|
72
72
|
parrot/loaders/vimeo.py,sha256=zOvOOIiaZr_bRswJFI7uIMKISgALOxcSim9ZRUFY1Fc,4114
|
|
73
73
|
parrot/loaders/web.py,sha256=3x06JNpfTGFtvSBPAEBVoVdZkpVXePcJeMtj61B2xJk,8867
|
|
74
74
|
parrot/loaders/web_base.py,sha256=5SjQddT0Vhne8C9s30iU3Ex_9O1PJ8kyDmy8EdhGBo0,4380
|
|
@@ -103,8 +103,8 @@ resources/users/handlers.py,sha256=BGzqBvPY_OaIF_nONWX4b_B5OyyBrdGuSihIsdlFwjk,2
|
|
|
103
103
|
resources/users/models.py,sha256=glk7Emv7QCi6i32xRFDrGc8UwK23_LPg0XUOJoHnwRU,6799
|
|
104
104
|
settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
105
105
|
settings/settings.py,sha256=9ueEvyLNurUX-AaIeRPV8GKX1c4YjDLbksUAeqEq6Ck,1854
|
|
106
|
-
ai_parrot-0.3.
|
|
107
|
-
ai_parrot-0.3.
|
|
108
|
-
ai_parrot-0.3.
|
|
109
|
-
ai_parrot-0.3.
|
|
110
|
-
ai_parrot-0.3.
|
|
106
|
+
ai_parrot-0.3.6.dist-info/LICENSE,sha256=vRKOoa7onTsLNvSzJtGtMaNhWWh8B3YAT733Tlu6M4o,1070
|
|
107
|
+
ai_parrot-0.3.6.dist-info/METADATA,sha256=UukaICPH6ngFNm_DU3TmP2E89_BpgchSP0oPLxypwso,9721
|
|
108
|
+
ai_parrot-0.3.6.dist-info/WHEEL,sha256=UQ-0qXN3LQUffjrV43_e_ZXj2pgORBqTmXipnkj0E8I,113
|
|
109
|
+
ai_parrot-0.3.6.dist-info/top_level.txt,sha256=qHoO4BhYDfeTkyKnciZSQtn5FSLN3Q-P5xCTkyvbuxg,26
|
|
110
|
+
ai_parrot-0.3.6.dist-info/RECORD,,
|
parrot/loaders/pdf.py
CHANGED
|
@@ -49,14 +49,6 @@ class PDFLoader(BasePDF):
|
|
|
49
49
|
self.parse_images = kwargs.get('parse_images', False)
|
|
50
50
|
self.page_as_images = kwargs.get('page_as_images', False)
|
|
51
51
|
if self.page_as_images is True:
|
|
52
|
-
# # Load the processor and model from Hugging Face
|
|
53
|
-
# self.image_processor = DonutProcessor.from_pretrained(
|
|
54
|
-
# "naver-clova-ix/donut-base-finetuned-docvqa"
|
|
55
|
-
# )
|
|
56
|
-
# self.image_model = VisionEncoderDecoderModel.from_pretrained(
|
|
57
|
-
# "naver-clova-ix/donut-base-finetuned-docvqa",
|
|
58
|
-
|
|
59
|
-
# )
|
|
60
52
|
# Load the processor and model from Hugging Face
|
|
61
53
|
self.image_processor = LayoutLMv3Processor.from_pretrained(
|
|
62
54
|
"microsoft/layoutlmv3-base",
|
|
@@ -388,6 +380,7 @@ class PDFLoader(BasePDF):
|
|
|
388
380
|
# TODO passing the image to a AI visual to get explanation
|
|
389
381
|
# Get the extracted text from the image
|
|
390
382
|
text = self.extract_page_text(img_path)
|
|
383
|
+
print('TEXT EXTRACTED >> ', text)
|
|
391
384
|
url = f'/static/images/{img_name}'
|
|
392
385
|
image_meta = {
|
|
393
386
|
"url": url,
|
parrot/loaders/videolocal.py
CHANGED
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
from typing import Any
|
|
2
2
|
from collections.abc import Callable
|
|
3
|
+
import math
|
|
3
4
|
from pathlib import PurePath
|
|
4
5
|
from langchain.docstore.document import Document
|
|
5
6
|
from .basevideo import BaseVideoLoader
|
|
6
7
|
|
|
7
8
|
|
|
9
|
+
def split_text(text, max_length):
|
|
10
|
+
"""Split text into chunks of a maximum length, ensuring not to break words."""
|
|
11
|
+
chunks = []
|
|
12
|
+
while len(text) > max_length:
|
|
13
|
+
# Find the last space before the max_length
|
|
14
|
+
split_point = text.rfind(' ', 0, max_length)
|
|
15
|
+
# If no space found, split at max_length
|
|
16
|
+
if split_point == -1:
|
|
17
|
+
split_point = max_length
|
|
18
|
+
chunks.append(text[:split_point])
|
|
19
|
+
text = text[split_point:].strip()
|
|
20
|
+
chunks.append(text)
|
|
21
|
+
return chunks
|
|
22
|
+
|
|
23
|
+
|
|
8
24
|
class VideoLocalLoader(BaseVideoLoader):
|
|
9
25
|
"""
|
|
10
26
|
Generating Video transcripts from local Videos.
|
|
@@ -26,14 +42,15 @@ class VideoLocalLoader(BaseVideoLoader):
|
|
|
26
42
|
|
|
27
43
|
def load_video(self, path: PurePath) -> list:
|
|
28
44
|
metadata = {
|
|
29
|
-
"source": f"{path}",
|
|
30
45
|
"url": f"{path.name}",
|
|
31
|
-
"
|
|
46
|
+
"source": f"{path}",
|
|
32
47
|
"filename": f"{path}",
|
|
48
|
+
"index": path.stem,
|
|
33
49
|
"question": '',
|
|
34
50
|
"answer": '',
|
|
35
51
|
'type': 'video_transcript',
|
|
36
52
|
"source_type": self._source_type,
|
|
53
|
+
"data": {},
|
|
37
54
|
"summary": '',
|
|
38
55
|
"document_meta": {
|
|
39
56
|
"language": self._language,
|
|
@@ -53,14 +70,17 @@ class VideoLocalLoader(BaseVideoLoader):
|
|
|
53
70
|
transcript = ''
|
|
54
71
|
# Summarize the transcript
|
|
55
72
|
if transcript:
|
|
73
|
+
# Split transcript into chunks
|
|
74
|
+
transcript_chunks = split_text(transcript, 32767)
|
|
56
75
|
summary = self.get_summary_from_text(transcript)
|
|
57
76
|
# Create Two Documents, one is for transcript, second is VTT:
|
|
58
77
|
metadata['summary'] = summary
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
78
|
+
for chunk in transcript_chunks:
|
|
79
|
+
doc = Document(
|
|
80
|
+
page_content=chunk,
|
|
81
|
+
metadata=metadata
|
|
82
|
+
)
|
|
83
|
+
documents.append(doc)
|
|
64
84
|
if transcript_whisper:
|
|
65
85
|
# VTT version:
|
|
66
86
|
transcript = self.transcript_to_vtt(transcript_whisper, transcript_path)
|
parrot/version.py
CHANGED
|
@@ -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.6"
|
|
7
7
|
__author__ = "Jesus Lara"
|
|
8
8
|
__author_email__ = "jesuslarag@gmail.com"
|
|
9
9
|
__license__ = "MIT"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|