ai-parrot 0.5.8__tar.gz → 0.5.10__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 (211) hide show
  1. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/PKG-INFO +1 -1
  2. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/__pycache__/version.cpython-311.pyc +0 -0
  3. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/chatbot.cpython-311.pyc +0 -0
  4. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/abstract.py +1 -0
  5. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/chatbot.py +2 -2
  6. ai_parrot-0.5.10/parrot/bots/retrievals/multi.py +102 -0
  7. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/__pycache__/milvus.cpython-311.pyc +0 -0
  8. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/abstract.py +6 -1
  9. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/milvus.py +3 -1
  10. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/version.py +1 -1
  11. ai_parrot-0.5.8/parrot/bots/retrievals/multi.py +0 -50
  12. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/.flake8 +0 -0
  13. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/.github/dependabot.yml +0 -0
  14. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/.github/workflows/codeql-analysis.yml +0 -0
  15. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/.github/workflows/release.yml +0 -0
  16. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/.gitignore +0 -0
  17. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/.isort.cfg +0 -0
  18. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/.pylintrc +0 -0
  19. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/INSTALL +0 -0
  20. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/LICENSE +0 -0
  21. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/MANIFEST.in +0 -0
  22. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/Makefile +0 -0
  23. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/README.md +0 -0
  24. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/SECURITY.md +0 -0
  25. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/ai_parrot.egg-info/SOURCES.txt +0 -0
  26. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/app.py +0 -0
  27. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/mypy.ini +0 -0
  28. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/__init__.py +0 -0
  29. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/__pycache__/__init__.cpython-311.pyc +0 -0
  30. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/__pycache__/conf.cpython-311.pyc +0 -0
  31. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/__pycache__/manager.cpython-311.pyc +0 -0
  32. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/__pycache__/models.cpython-311.pyc +0 -0
  33. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__init__.py +0 -0
  34. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/__init__.cpython-311.pyc +0 -0
  35. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/a.cpython-311.pyc +0 -0
  36. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/abstract.cpython-311.pyc +0 -0
  37. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/agent.cpython-311.pyc +0 -0
  38. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/askbrett.cpython-311.pyc +0 -0
  39. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/asktroc.cpython-311.pyc +0 -0
  40. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/base.cpython-311.pyc +0 -0
  41. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/basic.cpython-311.pyc +0 -0
  42. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/bose.cpython-311.pyc +0 -0
  43. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/cody.cpython-311.pyc +0 -0
  44. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/copilot.cpython-311.pyc +0 -0
  45. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/dataframe.cpython-311.pyc +0 -0
  46. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/hragents.cpython-311.pyc +0 -0
  47. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/hrbot.cpython-311.pyc +0 -0
  48. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/oddie.cpython-311.pyc +0 -0
  49. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/odoo.cpython-311.pyc +0 -0
  50. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/__pycache__/troc.cpython-311.pyc +0 -0
  51. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/agent.py +0 -0
  52. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/basic.py +0 -0
  53. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/bose.py +0 -0
  54. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/cody.py +0 -0
  55. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/copilot.py +0 -0
  56. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/dataframe.py +0 -0
  57. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/hrbot.py +0 -0
  58. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/interfaces/__init__.py +0 -0
  59. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/interfaces/__pycache__/__init__.cpython-311.pyc +0 -0
  60. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/interfaces/__pycache__/retrievers.cpython-311.pyc +0 -0
  61. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/interfaces/retrievers.py +0 -0
  62. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/odoo.py +0 -0
  63. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/prompts/__init__.py +0 -0
  64. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/prompts/__pycache__/__init__.cpython-311.pyc +0 -0
  65. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/prompts/__pycache__/agents.cpython-311.pyc +0 -0
  66. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/prompts/agents.py +0 -0
  67. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/retrievals/__init__.py +0 -0
  68. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/retrievals/__pycache__/__init__.cpython-311.pyc +0 -0
  69. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/retrievals/__pycache__/multi.cpython-311.pyc +0 -0
  70. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/retrievals/constitutional.py +0 -0
  71. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/retrievals/retrieval.py +0 -0
  72. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/bots/troc.py +0 -0
  73. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/conf.py +0 -0
  74. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/__init__.py +0 -0
  75. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/__pycache__/__init__.cpython-311.pyc +0 -0
  76. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/__init__.py +0 -0
  77. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/__pycache__/__init__.cpython-311.pyc +0 -0
  78. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/__pycache__/bing.cpython-311.pyc +0 -0
  79. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/__pycache__/config.cpython-311.pyc +0 -0
  80. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/__pycache__/duckgo.cpython-311.pyc +0 -0
  81. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/__pycache__/file.cpython-311.pyc +0 -0
  82. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/__pycache__/google.cpython-311.pyc +0 -0
  83. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/__pycache__/md2pdf.cpython-311.pyc +0 -0
  84. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/__pycache__/rag.cpython-311.pyc +0 -0
  85. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/__pycache__/url.cpython-311.pyc +0 -0
  86. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/__pycache__/weather.cpython-311.pyc +0 -0
  87. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/bing.py +0 -0
  88. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/config.py +0 -0
  89. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/duckgo.py +0 -0
  90. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/file.py +0 -0
  91. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/google.py +0 -0
  92. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/gtrends.py +0 -0
  93. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/md2pdf.py +0 -0
  94. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/rag.py +0 -0
  95. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/search.py +0 -0
  96. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/crew/tools/url.py +0 -0
  97. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/exceptions.c +0 -0
  98. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/exceptions.cpython-311-x86_64-linux-gnu.so +0 -0
  99. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/exceptions.pxd +0 -0
  100. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/exceptions.pyx +0 -0
  101. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/handlers/__init__.py +0 -0
  102. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/handlers/__pycache__/__init__.cpython-311.pyc +0 -0
  103. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/handlers/__pycache__/bots.cpython-311.pyc +0 -0
  104. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/handlers/__pycache__/chat.cpython-311.pyc +0 -0
  105. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/handlers/bots.py +0 -0
  106. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/handlers/chat.py +0 -0
  107. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/interfaces/__init__.py +0 -0
  108. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/interfaces/__pycache__/__init__.cpython-311.pyc +0 -0
  109. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/interfaces/__pycache__/database.cpython-311.pyc +0 -0
  110. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/interfaces/__pycache__/http.cpython-311.pyc +0 -0
  111. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/interfaces/database.py +0 -0
  112. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/interfaces/http.py +0 -0
  113. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/__init__.py +0 -0
  114. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/__pycache__/__init__.cpython-311.pyc +0 -0
  115. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/__pycache__/abstract.cpython-311.pyc +0 -0
  116. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/__pycache__/anthropic.cpython-311.pyc +0 -0
  117. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/__pycache__/google.cpython-311.pyc +0 -0
  118. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/__pycache__/groq.cpython-311.pyc +0 -0
  119. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/__pycache__/hf.cpython-311.pyc +0 -0
  120. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/__pycache__/openai.cpython-311.pyc +0 -0
  121. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/__pycache__/pipes.cpython-311.pyc +0 -0
  122. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/__pycache__/vertex.cpython-311.pyc +0 -0
  123. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/abstract.py +0 -0
  124. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/anthropic.py +0 -0
  125. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/google.py +0 -0
  126. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/groq.py +0 -0
  127. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/hf.py +0 -0
  128. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/openai.py +0 -0
  129. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/pipes.py +0 -0
  130. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/llms/vertex.py +0 -0
  131. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/manager.py +0 -0
  132. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/models.py +0 -0
  133. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/py.typed +0 -0
  134. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/__init__.py +0 -0
  135. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/__pycache__/__init__.cpython-311.pyc +0 -0
  136. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/__pycache__/abstract.cpython-311.pyc +0 -0
  137. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/__pycache__/base.cpython-311.pyc +0 -0
  138. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/__pycache__/chroma.cpython-311.pyc +0 -0
  139. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/__pycache__/duck.cpython-311.pyc +0 -0
  140. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/__pycache__/empty.cpython-311.pyc +0 -0
  141. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/__pycache__/faiss.cpython-311.pyc +0 -0
  142. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/__pycache__/postgres.cpython-311.pyc +0 -0
  143. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/__pycache__/qdrant.cpython-311.pyc +0 -0
  144. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/chroma.py +0 -0
  145. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/duck.py +0 -0
  146. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/__init__.py +0 -0
  147. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/__pycache__/__init__.cpython-311.pyc +0 -0
  148. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/__pycache__/abstract.cpython-311.pyc +0 -0
  149. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/__pycache__/base.cpython-311.pyc +0 -0
  150. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/__pycache__/huggingface.cpython-311.pyc +0 -0
  151. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/__pycache__/transformers.cpython-311.pyc +0 -0
  152. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/abstract.py +0 -0
  153. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/base.py +0 -0
  154. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/bge.py +0 -0
  155. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/fastembed.py +0 -0
  156. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/google.py +0 -0
  157. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/huggingface.py +0 -0
  158. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/ollama.py +0 -0
  159. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/openai.py +0 -0
  160. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/transformers.py +0 -0
  161. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/embeddings/vertexai.py +0 -0
  162. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/empty.py +0 -0
  163. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/faiss.py +0 -0
  164. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/postgres.py +0 -0
  165. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/stores/qdrant.py +0 -0
  166. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/__init__.py +0 -0
  167. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/__pycache__/__init__.cpython-311.pyc +0 -0
  168. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/__pycache__/abstract.cpython-311.pyc +0 -0
  169. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/__pycache__/asknews.cpython-311.pyc +0 -0
  170. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/__pycache__/basic.cpython-311.pyc +0 -0
  171. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/__pycache__/bby.cpython-311.pyc +0 -0
  172. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/__pycache__/bing.cpython-311.pyc +0 -0
  173. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/__pycache__/duck.cpython-311.pyc +0 -0
  174. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/__pycache__/execute.cpython-311.pyc +0 -0
  175. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/__pycache__/google.cpython-311.pyc +0 -0
  176. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/__pycache__/stack.cpython-311.pyc +0 -0
  177. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/__pycache__/weather.cpython-311.pyc +0 -0
  178. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/__pycache__/wikipedia.cpython-311.pyc +0 -0
  179. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/__pycache__/zipcode.cpython-311.pyc +0 -0
  180. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/abstract.py +0 -0
  181. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/asknews.py +0 -0
  182. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/basic.py +0 -0
  183. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/bby.py +0 -0
  184. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/bing.py +0 -0
  185. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/duck.py +0 -0
  186. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/execute.py +0 -0
  187. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/google.py +0 -0
  188. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/stack.py +0 -0
  189. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/weather.py +0 -0
  190. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/wikipedia.py +0 -0
  191. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/tools/zipcode.py +0 -0
  192. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/utils/__init__.py +0 -0
  193. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  194. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/utils/__pycache__/toml.cpython-311.pyc +0 -0
  195. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/utils/parsers/__init__.py +0 -0
  196. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/utils/parsers/__pycache__/__init__.cpython-311.pyc +0 -0
  197. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/utils/parsers/toml.c +0 -0
  198. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/utils/parsers/toml.cpython-311-x86_64-linux-gnu.so +0 -0
  199. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/utils/parsers/toml.pyx +0 -0
  200. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/utils/toml.py +0 -0
  201. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/utils/types.cpp +0 -0
  202. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/utils/types.cpython-311-x86_64-linux-gnu.so +0 -0
  203. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/utils/types.pyx +0 -0
  204. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/parrot/utils/uv.py +0 -0
  205. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/pyproject.toml +0 -0
  206. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/pytest.ini +0 -0
  207. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/requirements/requirements-dev.txt +0 -0
  208. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/run.py +0 -0
  209. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/setup.cfg +0 -0
  210. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/setup.py +0 -0
  211. {ai_parrot-0.5.8 → ai_parrot-0.5.10}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ai-parrot
3
- Version: 0.5.8
3
+ Version: 0.5.10
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
@@ -959,6 +959,7 @@ class AbstractBot(DBInterface, ABC):
959
959
  return_messages=True
960
960
  )
961
961
  async with self.store as store: #pylint: disable=E1101
962
+ print('STORES > ', self.stores, store)
962
963
  if self._use_vector:
963
964
  if len(self.stores) > 1:
964
965
  retriever = MultiVectorStoreRetriever(
@@ -185,8 +185,8 @@ class Chatbot(AbstractBot):
185
185
  self._vector_store = bot.database
186
186
  self.configure_store()
187
187
  # after configuration, setup the chatbot
188
- if bot.template_prompt:
189
- self.template_prompt = bot.template_prompt
188
+ if bot.system_prompt_template:
189
+ self.system_prompt_template = bot.system_prompt_template
190
190
  self._define_prompt(
191
191
  config={}
192
192
  )
@@ -0,0 +1,102 @@
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
@@ -230,11 +230,16 @@ class AbstractStore(ABC):
230
230
  def as_retriever(
231
231
  self,
232
232
  metric_type: str = 'COSINE',
233
+ index_type: str = 'IVF_FLAT',
233
234
  search_type: str = 'similarity',
234
235
  chain_type: str = 'stuff',
235
236
  search_kwargs: dict = None
236
237
  ) -> Callable:
237
- vector = self.get_vector(metric_type=metric_type)
238
+ vector = self.get_vector(metric_type=metric_type, index_type=index_type)
239
+ if not vector:
240
+ raise ConfigError(
241
+ "Vector Store is not connected. Check your connection."
242
+ )
238
243
  return VectorStoreRetriever(
239
244
  vectorstore=vector,
240
245
  search_type=search_type,
@@ -251,6 +251,7 @@ class MilvusStore(AbstractStore):
251
251
  self,
252
252
  collection: Union[str, None] = None,
253
253
  metric_type: str = None,
254
+ index_type: str = None,
254
255
  nprobe: int = 32,
255
256
  metadata_field: str = None,
256
257
  consistency_level: str = 'session'
@@ -261,10 +262,11 @@ class MilvusStore(AbstractStore):
261
262
  collection = self.collection_name
262
263
  if not metric_type:
263
264
  metric_type = self._metric_type or 'COSINE'
265
+ _idx = index_type or self._index_type
264
266
  _search = {
265
267
  "search_params": {
266
268
  "metric_type": metric_type,
267
- "index_type": self._index_type,
269
+ "index_type": _idx,
268
270
  "params": {"nprobe": nprobe, "nlist": 1024},
269
271
  }
270
272
  }
@@ -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.8"
6
+ __version__ = "0.5.10"
7
7
  __author__ = "Jesus Lara"
8
8
  __author_email__ = "jesuslarag@gmail.com"
9
9
  __license__ = "MIT"
@@ -1,50 +0,0 @@
1
- from typing import List
2
- from collections.abc import Callable
3
- from langchain.schema import Document
4
-
5
- class MultiVectorStoreRetriever:
6
- """
7
- This aggregator retriever queries multiple vector stores
8
- and merges the results into a single list.
9
- """
10
-
11
- def __init__(
12
- self,
13
- stores: List[Callable],
14
- metric_type: str = 'COSINE',
15
- chain_type: str = 'stuff',
16
- search_type: str = 'similarity',
17
- search_kwargs: dict = None,
18
- ):
19
- """
20
- stores: List of AbstractStore or anything that provides an as_retriever() method
21
- search_kwargs: dict to pass on to each store's retrieve method (like 'k' for top_k)
22
- """
23
- self.stores = stores
24
- self.search_kwargs = search_kwargs or {}
25
- self.chain_type = chain_type
26
- self.search_type = search_type
27
- self.metric_type = metric_type
28
-
29
- def get_relevant_documents(self, query: str) -> List[Document]:
30
- all_results = []
31
- for store in self.stores:
32
- retriever = store.as_retriever(**self.search_kwargs)
33
- docs = retriever.get_relevant_documents(query)
34
- all_results.extend(docs)
35
- return all_results
36
-
37
- async def aget_relevant_documents(self, query: str) -> List[Document]:
38
- # Async version
39
- all_results = []
40
- for store in self.stores:
41
- async with store as st:
42
- retriever = st.as_retriever(
43
- search_type=self.search_type,
44
- search_kwargs=self.search_kwargs,
45
- metric_type=self.metric_type,
46
- chain_type=self.chain_type,
47
- )
48
- docs = await retriever.aget_relevant_documents(query)
49
- all_results.extend(docs)
50
- 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