ai-parrot 0.3.5__tar.gz → 0.3.8__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.

Files changed (160) hide show
  1. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/Makefile +4 -3
  2. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/PKG-INFO +1 -1
  3. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/ai_parrot.egg-info/PKG-INFO +1 -1
  4. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/ai_parrot.egg-info/SOURCES.txt +1 -0
  5. ai_parrot-0.3.8/examples/askbuddy/create_bot.py +32 -0
  6. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/videolocal.py +31 -10
  7. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/stores/milvus.py +22 -18
  8. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/version.py +1 -1
  9. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/.flake8 +0 -0
  10. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/.github/dependabot.yml +0 -0
  11. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/.github/workflows/codeql-analysis.yml +0 -0
  12. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/.github/workflows/release.yml +0 -0
  13. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/.gitignore +0 -0
  14. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/.isort.cfg +0 -0
  15. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/.pylintrc +0 -0
  16. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/INSTALL +0 -0
  17. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/LICENSE +0 -0
  18. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/README.md +0 -0
  19. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/SECURITY.md +0 -0
  20. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/ai_parrot.egg-info/dependency_links.txt +0 -0
  21. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/ai_parrot.egg-info/requires.txt +0 -0
  22. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/ai_parrot.egg-info/top_level.txt +0 -0
  23. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/app.py +0 -0
  24. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/documents/AR_Certification_Skill_Practice_Scorecard_EXAMPLE.pdf +0 -0
  25. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/documents/Day 1_Essentials_AR_PPT.pdf +0 -0
  26. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/documents/ex-code-loaders.txt +0 -0
  27. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/documents/video_2024-09-11_19-43-58.mp3 +0 -0
  28. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/documents/video_2024-09-11_19-43-58.mp4 +0 -0
  29. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/documents/video_2024-09-11_19-43-58.vtt +0 -0
  30. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/etc/navigator-ssl.ini +0 -0
  31. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/etc/navigator.ini +0 -0
  32. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/etc/ssl/domain.ext +0 -0
  33. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/etc/ssl/navigator.local.crt +0 -0
  34. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/etc/ssl/navigator.local.csr +0 -0
  35. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/etc/ssl/navigator.local.key +0 -0
  36. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/etc/ssl/rootCA.crt +0 -0
  37. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/etc/ssl/rootCA.key +0 -0
  38. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/etc/ssl/rootCA.srl +0 -0
  39. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/examples/analyze_video.py +0 -0
  40. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/examples/check_bot.py +0 -0
  41. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/examples/extract_frames.py +0 -0
  42. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/examples/load_pdf.py +0 -0
  43. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/examples/test_bot.py +0 -0
  44. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/examples/test_question.py +0 -0
  45. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/mypy.ini +0 -0
  46. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/__init__.py +0 -0
  47. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/chatbots/__init__.py +0 -0
  48. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/chatbots/abstract.py +0 -0
  49. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/chatbots/asktroc.py +0 -0
  50. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/chatbots/base.py +0 -0
  51. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/chatbots/basic.py +0 -0
  52. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/chatbots/bose.py +0 -0
  53. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/chatbots/cody.py +0 -0
  54. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/chatbots/copilot.py +0 -0
  55. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/chatbots/dataframe.py +0 -0
  56. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/chatbots/hragents.py +0 -0
  57. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/chatbots/odoo.py +0 -0
  58. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/chatbots/retrievals/__init__.py +0 -0
  59. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/chatbots/retrievals/constitutional.py +0 -0
  60. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/conf.py +0 -0
  61. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/crew/__init__.py +0 -0
  62. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/crew/tools/__init__.py +0 -0
  63. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/crew/tools/bing.py +0 -0
  64. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/crew/tools/config.py +0 -0
  65. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/crew/tools/duckgo.py +0 -0
  66. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/crew/tools/file.py +0 -0
  67. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/crew/tools/google.py +0 -0
  68. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/crew/tools/gtrends.py +0 -0
  69. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/crew/tools/md2pdf.py +0 -0
  70. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/crew/tools/rag.py +0 -0
  71. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/crew/tools/search.py +0 -0
  72. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/crew/tools/url.py +0 -0
  73. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/exceptions.c +0 -0
  74. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/exceptions.pyx +0 -0
  75. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/handlers/__init__.py +0 -0
  76. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/handlers/bots.py +0 -0
  77. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/handlers/chat.py +0 -0
  78. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/interfaces/__init__.py +0 -0
  79. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/interfaces/database.py +0 -0
  80. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/llms/__init__.py +0 -0
  81. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/llms/abstract.py +0 -0
  82. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/llms/anthropic.py +0 -0
  83. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/llms/google.py +0 -0
  84. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/llms/groq.py +0 -0
  85. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/llms/hf.py +0 -0
  86. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/llms/openai.py +0 -0
  87. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/llms/pipes.py +0 -0
  88. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/llms/vertex.py +0 -0
  89. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/__init__.py +0 -0
  90. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/abstract.py +0 -0
  91. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/audio.py +0 -0
  92. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/basepdf.py +0 -0
  93. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/basevideo.py +0 -0
  94. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/csv.py +0 -0
  95. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/dir.py +0 -0
  96. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/excel.py +0 -0
  97. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/github.py +0 -0
  98. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/handlers/__init__.py +0 -0
  99. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/handlers/data.py +0 -0
  100. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/image.py +0 -0
  101. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/json.py +0 -0
  102. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/pdf.py +0 -0
  103. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/pdfchapters.py +0 -0
  104. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/pdffn.py +0 -0
  105. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/pdfimages.py +0 -0
  106. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/pdfmark.py +0 -0
  107. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/pdftables.py +0 -0
  108. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/ppt.py +0 -0
  109. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/qa.py +0 -0
  110. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/repo.py +0 -0
  111. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/rtd.py +0 -0
  112. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/txt.py +0 -0
  113. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/utils/__init__.py +0 -0
  114. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/utils/models.py +0 -0
  115. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/video.py +0 -0
  116. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/vimeo.py +0 -0
  117. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/web.py +0 -0
  118. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/web_base.py +0 -0
  119. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/word.py +0 -0
  120. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/loaders/youtube.py +0 -0
  121. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/manager.py +0 -0
  122. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/models.py +0 -0
  123. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/py.typed +0 -0
  124. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/stores/__init__.py +0 -0
  125. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/stores/abstract.py +0 -0
  126. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/stores/qdrant.py +0 -0
  127. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/tools/__init__.py +0 -0
  128. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/tools/abstract.py +0 -0
  129. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/tools/asknews.py +0 -0
  130. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/tools/bing.py +0 -0
  131. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/tools/duck.py +0 -0
  132. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/tools/google.py +0 -0
  133. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/tools/stack.py +0 -0
  134. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/tools/weather.py +0 -0
  135. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/tools/wikipedia.py +0 -0
  136. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/tools/zipcode.py +0 -0
  137. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/utils/__init__.py +0 -0
  138. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/utils/parsers/__init__.py +0 -0
  139. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/utils/parsers/toml.c +0 -0
  140. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/utils/parsers/toml.pyx +0 -0
  141. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/utils/toml.py +0 -0
  142. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/utils/types.cpp +0 -0
  143. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/utils/types.pyx +0 -0
  144. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/parrot/utils/uv.py +0 -0
  145. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/pyproject.toml +0 -0
  146. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/pytest.ini +0 -0
  147. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/requirements/requirements-dev.txt +0 -0
  148. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/resources/__init__.py +0 -0
  149. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/resources/quick.py +0 -0
  150. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/resources/users/__init__.py +0 -0
  151. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/resources/users/handlers.py +0 -0
  152. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/resources/users/models.py +0 -0
  153. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/run.py +0 -0
  154. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/settings/__init__.py +0 -0
  155. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/settings/settings.py +0 -0
  156. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/setup.cfg +0 -0
  157. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/setup.py +0 -0
  158. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/templates/.compiled +0 -0
  159. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/templates/README.md +0 -0
  160. {ai_parrot-0.3.5 → ai_parrot-0.3.8}/tox.ini +0 -0
@@ -5,14 +5,15 @@ venv:
5
5
  install:
6
6
  # Install Parrot
7
7
  pip install --upgrade python-datamodel
8
- pip install --upgrade asyncdb[all]
8
+ pip install --upgrade asyncdb[default,bigquery]
9
9
  pip install --upgrade navconfig[default]
10
- pip install --upgrade navigator-api[locale]
10
+ pip install --upgrade navigator-api[uvloop,locale]
11
11
  # Nav requirements:
12
12
  pip install --upgrade navigator-session
13
13
  pip install --upgrade navigator-auth
14
14
  # QS requirements
15
- pip install --upgrade querysource[analytics]
15
+ # pip install --upgrade querysource[analytics]
16
+ pip install --upgrade querysource
16
17
  # and Parrot:
17
18
  # pip install -e .[google,milvus,groq,analytics]
18
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ai-parrot
3
- Version: 0.3.5
3
+ Version: 0.3.8
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ai-parrot
3
- Version: 0.3.5
3
+ Version: 0.3.8
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
@@ -43,6 +43,7 @@ examples/extract_frames.py
43
43
  examples/load_pdf.py
44
44
  examples/test_bot.py
45
45
  examples/test_question.py
46
+ examples/askbuddy/create_bot.py
46
47
  parrot/__init__.py
47
48
  parrot/conf.py
48
49
  parrot/exceptions.c
@@ -0,0 +1,32 @@
1
+ import asyncio
2
+ from parrot.chatbots.basic import Chatbot
3
+ from parrot.llms.vertex import VertexLLM
4
+
5
+
6
+ async def get_agent():
7
+ """Return the New Agent.
8
+ """
9
+ llm = VertexLLM(
10
+ model='gemini-1.5-pro',
11
+ temperature=0.1,
12
+ top_k=30,
13
+ Top_p=0.6,
14
+ )
15
+ agent = Chatbot(
16
+ name='AskBuddy',
17
+ llm=llm
18
+ )
19
+ await agent.configure()
20
+ # Create the Collection
21
+ if agent.store.collection_exists('employee_information'):
22
+ await agent.store.delete_collection('employee_information')
23
+ await agent.store.create_collection( # pylint: disable=E1120
24
+ collection_name='employee_information',
25
+ dimension=768,
26
+ index_type="IVF_SQ8",
27
+ metric_type='L2'
28
+ )
29
+
30
+
31
+ if __name__ == "__main__":
32
+ agent = asyncio.run(get_agent())
@@ -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.
@@ -54,22 +70,27 @@ class VideoLocalLoader(BaseVideoLoader):
54
70
  transcript = ''
55
71
  # Summarize the transcript
56
72
  if transcript:
73
+ # Split transcript into chunks
74
+ transcript_chunks = split_text(transcript, 32767)
57
75
  summary = self.get_summary_from_text(transcript)
58
76
  # Create Two Documents, one is for transcript, second is VTT:
59
77
  metadata['summary'] = summary
60
- doc = Document(
61
- page_content=transcript,
62
- metadata=metadata
63
- )
64
- documents.append(doc)
78
+ for chunk in transcript_chunks:
79
+ doc = Document(
80
+ page_content=chunk,
81
+ metadata=metadata
82
+ )
83
+ documents.append(doc)
65
84
  if transcript_whisper:
66
85
  # VTT version:
67
86
  transcript = self.transcript_to_vtt(transcript_whisper, transcript_path)
68
- doc = Document(
69
- page_content=transcript,
70
- metadata=metadata
71
- )
72
- documents.append(doc)
87
+ transcript_chunks = split_text(transcript, 65535)
88
+ for chunk in transcript_chunks:
89
+ doc = Document(
90
+ page_content=chunk,
91
+ metadata=metadata
92
+ )
93
+ documents.append(doc)
73
94
  # Saving every dialog chunk as a separate document
74
95
  dialogs = self.transcript_to_blocks(transcript_whisper)
75
96
  docs = []
@@ -1,12 +1,12 @@
1
1
  from typing import Optional, Union, Any
2
2
  import asyncio
3
- import uuid
4
- import torch
3
+ # import uuid
4
+ # import torch
5
5
  from pymilvus import (
6
6
  MilvusClient,
7
- Collection,
8
- FieldSchema,
9
- CollectionSchema,
7
+ # Collection,
8
+ # FieldSchema,
9
+ # CollectionSchema,
10
10
  DataType,
11
11
  connections,
12
12
  db
@@ -148,10 +148,10 @@ class MilvusStore(AbstractStore):
148
148
  )
149
149
 
150
150
  async def __aenter__(self):
151
- try:
152
- self.tensor = torch.randn(1000, 1000).cuda()
153
- except RuntimeError:
154
- self.tensor = None
151
+ # try:
152
+ # self.tensor = torch.randn(1000, 1000).cuda()
153
+ # except RuntimeError:
154
+ # self.tensor = None
155
155
  if self._embed_ is None:
156
156
  self._embed_ = self.create_embedding(
157
157
  model_name=self.embedding_name
@@ -161,10 +161,10 @@ class MilvusStore(AbstractStore):
161
161
  async def __aexit__(self, exc_type, exc_value, traceback):
162
162
  # closing Embedding
163
163
  self._embed_ = None
164
- del self.tensor
164
+ # del self.tensor
165
165
  try:
166
166
  self.close(alias=self._client_id)
167
- torch.cuda.empty_cache()
167
+ # torch.cuda.empty_cache()
168
168
  except RuntimeError:
169
169
  pass
170
170
 
@@ -199,7 +199,10 @@ class MilvusStore(AbstractStore):
199
199
  connections.disconnect(alias=alias)
200
200
  try:
201
201
  self._client.close()
202
+ except AttributeError:
203
+ pass
202
204
  finally:
205
+ self._client = None
203
206
  self._connected = False
204
207
 
205
208
  def create_db(self, db_name: str, alias: str = 'default', **kwargs) -> bool:
@@ -269,8 +272,9 @@ class MilvusStore(AbstractStore):
269
272
  return self.get_vector()
270
273
 
271
274
  def collection_exists(self, collection_name: str) -> bool:
272
- if collection_name in self._client.list_collections():
273
- return True
275
+ with self.connection():
276
+ if collection_name in self._client.list_collections():
277
+ return True
274
278
  return False
275
279
 
276
280
  def check_state(self, collection_name: str) -> dict:
@@ -478,10 +482,10 @@ class MilvusStore(AbstractStore):
478
482
  ):
479
483
  if not collection:
480
484
  collection = self.collection
481
- try:
482
- tensor = torch.randn(1000, 1000).cuda()
483
- except Exception:
484
- tensor = None
485
+ # try:
486
+ # tensor = torch.randn(1000, 1000).cuda()
487
+ # except Exception:
488
+ # tensor = None
485
489
  if upsert is True:
486
490
  # get first document
487
491
  doc = documents[0]
@@ -510,7 +514,7 @@ class MilvusStore(AbstractStore):
510
514
  vector_field='vector',
511
515
  **kwargs
512
516
  )
513
- del tensor
517
+ # del tensor
514
518
  return docstore
515
519
 
516
520
  def upsert(self, payload: dict, collection: str = None) -> None:
@@ -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.5"
6
+ __version__ = "0.3.8"
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes