PraisonAI 2.4.2__tar.gz → 2.5.2__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.
Files changed (200) hide show
  1. {praisonai-2.4.2 → praisonai-2.5.2}/PKG-INFO +132 -6
  2. {praisonai-2.4.2 → praisonai-2.5.2}/PraisonAI.egg-info/PKG-INFO +132 -6
  3. {praisonai-2.4.2 → praisonai-2.5.2}/PraisonAI.egg-info/SOURCES.txt +32 -0
  4. {praisonai-2.4.2 → praisonai-2.5.2}/PraisonAI.egg-info/requires.txt +1 -1
  5. {praisonai-2.4.2 → praisonai-2.5.2}/README.md +130 -4
  6. praisonai-2.5.2/praisonai/adapters/__init__.py +50 -0
  7. praisonai-2.5.2/praisonai/adapters/readers.py +395 -0
  8. praisonai-2.5.2/praisonai/adapters/rerankers.py +315 -0
  9. praisonai-2.5.2/praisonai/adapters/retrievers.py +394 -0
  10. praisonai-2.5.2/praisonai/adapters/vector_stores.py +399 -0
  11. praisonai-2.5.2/praisonai/chat/__init__.py +114 -0
  12. praisonai-2.5.2/praisonai/chat/app.py +125 -0
  13. praisonai-2.5.2/praisonai/cli/features/jobs.py +595 -0
  14. praisonai-2.5.2/praisonai/cli/features/knowledge.py +385 -0
  15. praisonai-2.5.2/praisonai/cli/features/observability.py +293 -0
  16. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/persistence.py +26 -27
  17. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/main.py +89 -5
  18. praisonai-2.5.2/praisonai/db/__init__.py +64 -0
  19. praisonai-2.5.2/praisonai/db/adapter.py +531 -0
  20. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/deploy.py +1 -1
  21. praisonai-2.5.2/praisonai/jobs/__init__.py +67 -0
  22. praisonai-2.5.2/praisonai/jobs/executor.py +370 -0
  23. praisonai-2.5.2/praisonai/jobs/models.py +224 -0
  24. praisonai-2.5.2/praisonai/jobs/router.py +314 -0
  25. praisonai-2.5.2/praisonai/jobs/server.py +186 -0
  26. praisonai-2.5.2/praisonai/jobs/store.py +203 -0
  27. praisonai-2.5.2/praisonai/persistence/conversation/async_mysql.py +427 -0
  28. praisonai-2.5.2/praisonai/persistence/conversation/async_postgres.py +410 -0
  29. praisonai-2.5.2/praisonai/persistence/conversation/async_sqlite.py +371 -0
  30. praisonai-2.5.2/praisonai/persistence/conversation/json_store.py +250 -0
  31. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/factory.py +70 -3
  32. praisonai-2.5.2/praisonai/persistence/knowledge/cosmosdb_vector.py +438 -0
  33. praisonai-2.5.2/praisonai/persistence/knowledge/couchbase.py +286 -0
  34. praisonai-2.5.2/praisonai/persistence/knowledge/langchain_adapter.py +291 -0
  35. praisonai-2.5.2/praisonai/persistence/knowledge/lightrag_adapter.py +212 -0
  36. praisonai-2.5.2/praisonai/persistence/knowledge/llamaindex_adapter.py +256 -0
  37. praisonai-2.5.2/praisonai/persistence/knowledge/mongodb_vector.py +306 -0
  38. praisonai-2.5.2/praisonai/persistence/knowledge/singlestore_vector.py +299 -0
  39. praisonai-2.5.2/praisonai/persistence/knowledge/surrealdb_vector.py +309 -0
  40. praisonai-2.5.2/praisonai/persistence/knowledge/upstash_vector.py +266 -0
  41. praisonai-2.5.2/praisonai/persistence/state/async_mongodb.py +200 -0
  42. praisonai-2.5.2/praisonai/persistence/state/gcs.py +155 -0
  43. praisonai-2.5.2/praisonai/version.py +1 -0
  44. {praisonai-2.4.2 → praisonai-2.5.2}/pyproject.toml +1 -1
  45. praisonai-2.4.2/praisonai/cli/features/knowledge.py +0 -236
  46. praisonai-2.4.2/praisonai/version.py +0 -1
  47. {praisonai-2.4.2 → praisonai-2.5.2}/PraisonAI.egg-info/dependency_links.txt +0 -0
  48. {praisonai-2.4.2 → praisonai-2.5.2}/PraisonAI.egg-info/entry_points.txt +0 -0
  49. {praisonai-2.4.2 → praisonai-2.5.2}/PraisonAI.egg-info/top_level.txt +0 -0
  50. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/__init__.py +0 -0
  51. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/__main__.py +0 -0
  52. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/agent_scheduler.py +0 -0
  53. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/agents_generator.py +0 -0
  54. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/api/call.py +0 -0
  55. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/auto.py +0 -0
  56. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/chainlit_ui.py +0 -0
  57. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/__init__.py +0 -0
  58. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/__init__.py +0 -0
  59. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/agent_scheduler.py +0 -0
  60. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/agents.py +0 -0
  61. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/at_mentions.py +0 -0
  62. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/auto_memory.py +0 -0
  63. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/autonomy_mode.py +0 -0
  64. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/background.py +0 -0
  65. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/base.py +0 -0
  66. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/checkpoints.py +0 -0
  67. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/compare.py +0 -0
  68. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/cost_tracker.py +0 -0
  69. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/eval.py +0 -0
  70. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/external_agents.py +0 -0
  71. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/fast_context.py +0 -0
  72. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/flow_display.py +0 -0
  73. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/git_integration.py +0 -0
  74. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/guardrail.py +0 -0
  75. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/handoff.py +0 -0
  76. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/hooks.py +0 -0
  77. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/image.py +0 -0
  78. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/interactive_tui.py +0 -0
  79. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/mcp.py +0 -0
  80. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/message_queue.py +0 -0
  81. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/metrics.py +0 -0
  82. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/n8n.py +0 -0
  83. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/profile.py +0 -0
  84. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/profiling.py +0 -0
  85. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/repo_map.py +0 -0
  86. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/router.py +0 -0
  87. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/sandbox_executor.py +0 -0
  88. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/session.py +0 -0
  89. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/skills.py +0 -0
  90. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/slash_commands.py +0 -0
  91. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/telemetry.py +0 -0
  92. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/todo.py +0 -0
  93. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/tools.py +0 -0
  94. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/features/workflow.py +0 -0
  95. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/cli/schedule_cli.py +0 -0
  96. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/code/__init__.py +0 -0
  97. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/code/agent_tools.py +0 -0
  98. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/code/diff/__init__.py +0 -0
  99. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/code/diff/diff_strategy.py +0 -0
  100. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/code/tools/__init__.py +0 -0
  101. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/code/tools/apply_diff.py +0 -0
  102. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/code/tools/execute_command.py +0 -0
  103. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/code/tools/list_files.py +0 -0
  104. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/code/tools/read_file.py +0 -0
  105. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/code/tools/search_replace.py +0 -0
  106. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/code/tools/write_file.py +0 -0
  107. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/code/utils/__init__.py +0 -0
  108. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/code/utils/file_utils.py +0 -0
  109. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/code/utils/ignore_utils.py +0 -0
  110. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/code/utils/text_utils.py +0 -0
  111. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/inbuilt_tools/__init__.py +0 -0
  112. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
  113. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/inc/__init__.py +0 -0
  114. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/inc/config.py +0 -0
  115. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/inc/models.py +0 -0
  116. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/integrations/__init__.py +0 -0
  117. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/integrations/base.py +0 -0
  118. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/integrations/claude_code.py +0 -0
  119. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/integrations/codex_cli.py +0 -0
  120. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/integrations/cursor_cli.py +0 -0
  121. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/integrations/gemini_cli.py +0 -0
  122. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/__init__.py +0 -0
  123. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/config.py +0 -0
  124. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/conversation/__init__.py +0 -0
  125. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/conversation/base.py +0 -0
  126. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/conversation/mysql.py +0 -0
  127. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/conversation/postgres.py +0 -0
  128. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/conversation/singlestore.py +0 -0
  129. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/conversation/sqlite.py +0 -0
  130. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/conversation/supabase.py +0 -0
  131. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/conversation/surrealdb.py +0 -0
  132. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/hooks/__init__.py +0 -0
  133. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/hooks/agent_hooks.py +0 -0
  134. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/knowledge/__init__.py +0 -0
  135. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/knowledge/base.py +0 -0
  136. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/knowledge/cassandra.py +0 -0
  137. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/knowledge/chroma.py +0 -0
  138. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/knowledge/clickhouse.py +0 -0
  139. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/knowledge/lancedb.py +0 -0
  140. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/knowledge/milvus.py +0 -0
  141. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/knowledge/pgvector.py +0 -0
  142. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/knowledge/pinecone.py +0 -0
  143. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/knowledge/qdrant.py +0 -0
  144. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/knowledge/redis_vector.py +0 -0
  145. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/knowledge/weaviate.py +0 -0
  146. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/migrations/__init__.py +0 -0
  147. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/migrations/manager.py +0 -0
  148. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/orchestrator.py +0 -0
  149. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/state/__init__.py +0 -0
  150. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/state/base.py +0 -0
  151. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/state/dynamodb.py +0 -0
  152. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/state/firestore.py +0 -0
  153. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/state/memory.py +0 -0
  154. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/state/mongodb.py +0 -0
  155. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/state/redis.py +0 -0
  156. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/state/upstash.py +0 -0
  157. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/tests/__init__.py +0 -0
  158. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/persistence/tests/test_all_backends.py +0 -0
  159. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/profiler.py +0 -0
  160. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/scheduler/__init__.py +0 -0
  161. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/scheduler/agent_scheduler.py +0 -0
  162. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/scheduler/base.py +0 -0
  163. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/scheduler/daemon_manager.py +0 -0
  164. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/scheduler/state_manager.py +0 -0
  165. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/scheduler/yaml_loader.py +0 -0
  166. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/scheduler.py +0 -0
  167. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/setup/__init__.py +0 -0
  168. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/setup/build.py +0 -0
  169. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/setup/post_install.py +0 -0
  170. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/setup/setup_conda_env.py +0 -0
  171. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/setup.py +0 -0
  172. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/test.py +0 -0
  173. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/train.py +0 -0
  174. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/train_vision.py +0 -0
  175. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/ui/agents.py +0 -0
  176. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/ui/callbacks.py +0 -0
  177. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/ui/chat.py +0 -0
  178. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/ui/code.py +0 -0
  179. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/ui/colab.py +0 -0
  180. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/ui/colab_chainlit.py +0 -0
  181. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/ui/components/aicoder.py +0 -0
  182. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/ui/context.py +0 -0
  183. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/ui/database_config.py +0 -0
  184. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/ui/db.py +0 -0
  185. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/ui/realtime.py +0 -0
  186. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/ui/realtimeclient/__init__.py +0 -0
  187. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/ui/realtimeclient/tools.py +0 -0
  188. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/ui/sql_alchemy.py +0 -0
  189. {praisonai-2.4.2 → praisonai-2.5.2}/praisonai/upload_vision.py +0 -0
  190. {praisonai-2.4.2 → praisonai-2.5.2}/setup.cfg +0 -0
  191. {praisonai-2.4.2 → praisonai-2.5.2}/tests/test.py +0 -0
  192. {praisonai-2.4.2 → praisonai-2.5.2}/tests/test_agents_playbook.py +0 -0
  193. {praisonai-2.4.2 → praisonai-2.5.2}/tests/test_approval_system.py +0 -0
  194. {praisonai-2.4.2 → praisonai-2.5.2}/tests/test_basic.py +0 -0
  195. {praisonai-2.4.2 → praisonai-2.5.2}/tests/test_cli_features.py +0 -0
  196. {praisonai-2.4.2 → praisonai-2.5.2}/tests/test_custom_tools_fix.py +0 -0
  197. {praisonai-2.4.2 → praisonai-2.5.2}/tests/test_double_api_fix.py +0 -0
  198. {praisonai-2.4.2 → praisonai-2.5.2}/tests/test_n8n_integration.py +0 -0
  199. {praisonai-2.4.2 → praisonai-2.5.2}/tests/test_phase2_refactor.py +0 -0
  200. {praisonai-2.4.2 → praisonai-2.5.2}/tests/test_runner.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PraisonAI
3
- Version: 2.4.2
3
+ Version: 2.5.2
4
4
  Summary: PraisonAI is an AI Agents Framework with Self Reflection. PraisonAI application combines PraisonAI Agents, AutoGen, and CrewAI into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customisation, and efficient human-agent collaboration.
5
5
  Author: Mervin Praison
6
6
  License: MIT
@@ -11,7 +11,7 @@ Description-Content-Type: text/markdown
11
11
  Requires-Dist: rich>=13.7
12
12
  Requires-Dist: markdown>=3.5
13
13
  Requires-Dist: pyparsing>=3.0.0
14
- Requires-Dist: praisonaiagents>=0.2.1
14
+ Requires-Dist: praisonaiagents>=0.3.2
15
15
  Requires-Dist: python-dotenv>=0.19.0
16
16
  Requires-Dist: instructor>=1.3.3
17
17
  Requires-Dist: PyYAML>=6.0
@@ -301,6 +301,12 @@ npm install praisonai
301
301
  | ↳ Add Custom Knowledge | [Example](examples/python/concepts/knowledge-agents.py) | [📖](https://docs.praison.ai/features/knowledge) |
302
302
  | ↳ RAG Agents | [Example](examples/python/concepts/rag-agents.py) | [📖](https://docs.praison.ai/features/rag) |
303
303
  | ↳ Chat with PDF Agents | [Example](examples/python/concepts/chat-with-pdf.py) | [📖](https://docs.praison.ai/features/chat-with-pdf) |
304
+ | ↳ Data Readers (PDF, DOCX, etc.) | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-readers-api) |
305
+ | ↳ Vector Store Selection | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-vector-store-api) |
306
+ | ↳ Retrieval Strategies | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-retrieval-api) |
307
+ | ↳ Rerankers | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-reranker-api) |
308
+ | ↳ Index Types (Vector/Keyword/Hybrid) | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-index-api) |
309
+ | ↳ Query Engines (Sub-Question, etc.) | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-query-engine-api) |
304
310
  | **🔬 Research & Intelligence** | | |
305
311
  | ↳ Deep Research Agents | [Example](examples/python/agents/research-agent.py) | [📖](https://docs.praison.ai/agents/deep-research) |
306
312
  | ↳ Query Rewriter Agent | [Example](#5-query-rewriter-agent) | [📖](https://docs.praison.ai/agents/query-rewriter) |
@@ -358,6 +364,10 @@ npm install praisonai
358
364
  | ↳ 100+ LLM Support | [Example](examples/python/providers/openai/openai_gpt4_example.py) | [📖](https://docs.praison.ai/models) |
359
365
  | ↳ Callback Agents | [Example](examples/python/general/advanced-callback-systems.py) | [📖](https://docs.praison.ai/features/callbacks) |
360
366
  | ↳ Hooks | [Example](#9-hooks) | [📖](https://docs.praison.ai/features/hooks) |
367
+ | ↳ Middleware System | [Example](examples/middleware/basic_middleware.py) | [📖](https://docs.praison.ai/features/middleware) |
368
+ | ↳ Configurable Model | [Example](examples/middleware/configurable_model.py) | [📖](https://docs.praison.ai/features/configurable-model) |
369
+ | ↳ Rate Limiter | [Example](examples/middleware/rate_limiter.py) | [📖](https://docs.praison.ai/features/rate-limiter) |
370
+ | ↳ Injected Tool State | [Example](examples/middleware/injected_state.py) | [📖](https://docs.praison.ai/features/injected-state) |
361
371
  | ↳ Shadow Git Checkpoints | [Example](#10-shadow-git-checkpoints) | [📖](https://docs.praison.ai/features/checkpoints) |
362
372
  | ↳ Background Tasks | [Example](examples/background/basic_background.py) | [📖](https://docs.praison.ai/features/background-tasks) |
363
373
  | ↳ Policy Engine | [Example](examples/policy/basic_policy.py) | [📖](https://docs.praison.ai/features/policy-engine) |
@@ -2734,6 +2744,84 @@ PraisonAI provides zero-dependency persistent memory for agents. For detailed ex
2734
2744
 
2735
2745
  ---
2736
2746
 
2747
+ ## 📚 Knowledge & Retrieval (RAG)
2748
+
2749
+ PraisonAI provides a complete knowledge stack for building RAG applications with multiple vector stores, retrieval strategies, rerankers, and query modes.
2750
+
2751
+ ### Knowledge CLI Commands
2752
+
2753
+ | Command | Description |
2754
+ |---------|-------------|
2755
+ | `praisonai knowledge add <file\|dir\|url>` | Add documents to knowledge base |
2756
+ | `praisonai knowledge query <question>` | Query knowledge base with RAG |
2757
+ | `praisonai knowledge list` | List indexed documents |
2758
+ | `praisonai knowledge clear` | Clear knowledge base |
2759
+ | `praisonai knowledge stats` | Show knowledge base statistics |
2760
+
2761
+ ### Knowledge CLI Options
2762
+
2763
+ | Option | Values | Description |
2764
+ |--------|--------|-------------|
2765
+ | `--vector-store` | `memory`, `chroma`, `pinecone`, `qdrant`, `weaviate` | Vector store backend |
2766
+ | `--retrieval` | `basic`, `fusion`, `recursive`, `auto_merge` | Retrieval strategy |
2767
+ | `--reranker` | `simple`, `llm`, `cross_encoder`, `cohere` | Reranking method |
2768
+ | `--index-type` | `vector`, `keyword`, `hybrid` | Index type |
2769
+ | `--query-mode` | `default`, `sub_question`, `summarize` | Query mode |
2770
+
2771
+ ### Knowledge CLI Examples
2772
+
2773
+ ```bash
2774
+ # Add documents
2775
+ praisonai knowledge add ./docs/
2776
+ praisonai knowledge add https://example.com/page.html
2777
+ praisonai knowledge add "*.pdf"
2778
+
2779
+ # Query with advanced options
2780
+ praisonai knowledge query "How to authenticate?" --retrieval fusion --reranker llm
2781
+
2782
+ # Full advanced query
2783
+ praisonai knowledge query "authentication flow" \
2784
+ --vector-store chroma \
2785
+ --retrieval fusion \
2786
+ --reranker llm \
2787
+ --index-type hybrid \
2788
+ --query-mode sub_question
2789
+ ```
2790
+
2791
+ ### Knowledge SDK Usage
2792
+
2793
+ ```python
2794
+ from praisonaiagents import Agent, Knowledge
2795
+
2796
+ # Simple usage with Agent
2797
+ agent = Agent(
2798
+ name="Research Assistant",
2799
+ knowledge=["docs/manual.pdf", "data/faq.txt"],
2800
+ knowledge_config={
2801
+ "vector_store": {"provider": "chroma"}
2802
+ }
2803
+ )
2804
+ response = agent.chat("How do I authenticate?")
2805
+
2806
+ # Direct Knowledge usage
2807
+ knowledge = Knowledge()
2808
+ knowledge.add("document.pdf")
2809
+ results = knowledge.search("authentication", limit=5)
2810
+ ```
2811
+
2812
+ ### Knowledge Stack Features Table
2813
+
2814
+ | Feature | Description | SDK Docs | CLI Docs |
2815
+ |---------|-------------|----------|----------|
2816
+ | **Data Readers** | Load PDF, Markdown, Text, HTML, URLs | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2817
+ | **Vector Stores** | ChromaDB, Pinecone, Qdrant, Weaviate, In-Memory | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2818
+ | **Retrieval Strategies** | Basic, Fusion (RRF), Recursive, Auto-Merge | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2819
+ | **Rerankers** | Simple, LLM, Cross-Encoder, Cohere | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2820
+ | **Index Types** | Vector, Keyword (BM25), Hybrid | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2821
+ | **Query Engines** | Default, Sub-Question, Summarize | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2822
+
2823
+ ---
2824
+
2737
2825
  ## 🔬 Advanced Features
2738
2826
 
2739
2827
  ### Research & Intelligence
@@ -2848,6 +2936,44 @@ agent.chat("Hello!") # Auto-persists messages, runs, traces
2848
2936
  | `praisonai persistence migrate` | Apply schema migrations |
2849
2937
  | `praisonai persistence status` | Show schema status |
2850
2938
 
2939
+ ### Knowledge CLI Commands {#knowledge-cli}
2940
+
2941
+ | Command | Description |
2942
+ |---------|-------------|
2943
+ | `praisonai knowledge add <source>` | Add file, directory, URL, or glob pattern |
2944
+ | `praisonai knowledge query "<question>"` | Query knowledge base with RAG |
2945
+ | `praisonai knowledge list` | List indexed documents |
2946
+ | `praisonai knowledge clear` | Clear knowledge base |
2947
+ | `praisonai knowledge stats` | Show knowledge base statistics |
2948
+
2949
+ **Knowledge Query Flags:**
2950
+
2951
+ | Flag | Values | Default |
2952
+ |------|--------|---------|
2953
+ | `--vector-store` | `memory`, `chroma`, `pinecone`, `qdrant`, `weaviate` | `chroma` |
2954
+ | `--retrieval-strategy` | `basic`, `fusion`, `recursive`, `auto_merge` | `basic` |
2955
+ | `--reranker` | `none`, `simple`, `llm`, `cross_encoder`, `cohere` | `none` |
2956
+ | `--index-type` | `vector`, `keyword`, `hybrid` | `vector` |
2957
+ | `--query-mode` | `default`, `sub_question`, `summarize` | `default` |
2958
+ | `--workspace` | Path to workspace directory | Current dir |
2959
+ | `--session` | Session ID for persistence | - |
2960
+
2961
+ **Examples:**
2962
+
2963
+ ```bash
2964
+ # Add documents
2965
+ praisonai knowledge add document.pdf
2966
+ praisonai knowledge add ./docs/
2967
+ praisonai knowledge add "*.md"
2968
+
2969
+ # Query with options
2970
+ praisonai knowledge query "How to authenticate?" \
2971
+ --vector-store chroma \
2972
+ --retrieval-strategy fusion \
2973
+ --reranker simple \
2974
+ --query-mode sub_question
2975
+ ```
2976
+
2851
2977
  ### Databases Table
2852
2978
 
2853
2979
  | Database | Store Type | Install | Example | Docs |
@@ -2860,11 +2986,11 @@ agent.chat("Hello!") # Auto-persists messages, runs, traces
2860
2986
  | SurrealDB | Conversation | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2861
2987
  | Qdrant | Knowledge | `pip install "praisonai[tools]"` | [knowledge_qdrant.py](examples/persistence/knowledge_qdrant.py) | [docs](https://docs.praison.ai/docs/databases/qdrant) |
2862
2988
  | ChromaDB | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2863
- | Pinecone | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2864
- | Weaviate | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2865
- | LanceDB | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2989
+ | Pinecone | Knowledge | `pip install pinecone` | [pinecone_wow.py](examples/vector/pinecone_wow.py) | [docs](https://docs.praison.ai/docs/databases/pinecone) |
2990
+ | Weaviate | Knowledge | `pip install weaviate-client` | [weaviate_wow.py](examples/vector/weaviate_wow.py) | [docs](https://docs.praison.ai/docs/databases/weaviate) |
2991
+ | LanceDB | Knowledge | `pip install lancedb` | [lancedb_real_wow.py](examples/vector/lancedb_real_wow.py) | [docs](https://docs.praison.ai/docs/databases/lancedb) |
2866
2992
  | Milvus | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2867
- | PGVector | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2993
+ | PGVector | Knowledge | `pip install psycopg2-binary` | [pgvector_real_wow.py](examples/vector/pgvector_real_wow.py) | [docs](https://docs.praison.ai/docs/databases/pgvector) |
2868
2994
  | Redis Vector | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2869
2995
  | Cassandra | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2870
2996
  | ClickHouse | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PraisonAI
3
- Version: 2.4.2
3
+ Version: 2.5.2
4
4
  Summary: PraisonAI is an AI Agents Framework with Self Reflection. PraisonAI application combines PraisonAI Agents, AutoGen, and CrewAI into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customisation, and efficient human-agent collaboration.
5
5
  Author: Mervin Praison
6
6
  License: MIT
@@ -11,7 +11,7 @@ Description-Content-Type: text/markdown
11
11
  Requires-Dist: rich>=13.7
12
12
  Requires-Dist: markdown>=3.5
13
13
  Requires-Dist: pyparsing>=3.0.0
14
- Requires-Dist: praisonaiagents>=0.2.1
14
+ Requires-Dist: praisonaiagents>=0.3.2
15
15
  Requires-Dist: python-dotenv>=0.19.0
16
16
  Requires-Dist: instructor>=1.3.3
17
17
  Requires-Dist: PyYAML>=6.0
@@ -301,6 +301,12 @@ npm install praisonai
301
301
  | ↳ Add Custom Knowledge | [Example](examples/python/concepts/knowledge-agents.py) | [📖](https://docs.praison.ai/features/knowledge) |
302
302
  | ↳ RAG Agents | [Example](examples/python/concepts/rag-agents.py) | [📖](https://docs.praison.ai/features/rag) |
303
303
  | ↳ Chat with PDF Agents | [Example](examples/python/concepts/chat-with-pdf.py) | [📖](https://docs.praison.ai/features/chat-with-pdf) |
304
+ | ↳ Data Readers (PDF, DOCX, etc.) | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-readers-api) |
305
+ | ↳ Vector Store Selection | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-vector-store-api) |
306
+ | ↳ Retrieval Strategies | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-retrieval-api) |
307
+ | ↳ Rerankers | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-reranker-api) |
308
+ | ↳ Index Types (Vector/Keyword/Hybrid) | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-index-api) |
309
+ | ↳ Query Engines (Sub-Question, etc.) | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-query-engine-api) |
304
310
  | **🔬 Research & Intelligence** | | |
305
311
  | ↳ Deep Research Agents | [Example](examples/python/agents/research-agent.py) | [📖](https://docs.praison.ai/agents/deep-research) |
306
312
  | ↳ Query Rewriter Agent | [Example](#5-query-rewriter-agent) | [📖](https://docs.praison.ai/agents/query-rewriter) |
@@ -358,6 +364,10 @@ npm install praisonai
358
364
  | ↳ 100+ LLM Support | [Example](examples/python/providers/openai/openai_gpt4_example.py) | [📖](https://docs.praison.ai/models) |
359
365
  | ↳ Callback Agents | [Example](examples/python/general/advanced-callback-systems.py) | [📖](https://docs.praison.ai/features/callbacks) |
360
366
  | ↳ Hooks | [Example](#9-hooks) | [📖](https://docs.praison.ai/features/hooks) |
367
+ | ↳ Middleware System | [Example](examples/middleware/basic_middleware.py) | [📖](https://docs.praison.ai/features/middleware) |
368
+ | ↳ Configurable Model | [Example](examples/middleware/configurable_model.py) | [📖](https://docs.praison.ai/features/configurable-model) |
369
+ | ↳ Rate Limiter | [Example](examples/middleware/rate_limiter.py) | [📖](https://docs.praison.ai/features/rate-limiter) |
370
+ | ↳ Injected Tool State | [Example](examples/middleware/injected_state.py) | [📖](https://docs.praison.ai/features/injected-state) |
361
371
  | ↳ Shadow Git Checkpoints | [Example](#10-shadow-git-checkpoints) | [📖](https://docs.praison.ai/features/checkpoints) |
362
372
  | ↳ Background Tasks | [Example](examples/background/basic_background.py) | [📖](https://docs.praison.ai/features/background-tasks) |
363
373
  | ↳ Policy Engine | [Example](examples/policy/basic_policy.py) | [📖](https://docs.praison.ai/features/policy-engine) |
@@ -2734,6 +2744,84 @@ PraisonAI provides zero-dependency persistent memory for agents. For detailed ex
2734
2744
 
2735
2745
  ---
2736
2746
 
2747
+ ## 📚 Knowledge & Retrieval (RAG)
2748
+
2749
+ PraisonAI provides a complete knowledge stack for building RAG applications with multiple vector stores, retrieval strategies, rerankers, and query modes.
2750
+
2751
+ ### Knowledge CLI Commands
2752
+
2753
+ | Command | Description |
2754
+ |---------|-------------|
2755
+ | `praisonai knowledge add <file\|dir\|url>` | Add documents to knowledge base |
2756
+ | `praisonai knowledge query <question>` | Query knowledge base with RAG |
2757
+ | `praisonai knowledge list` | List indexed documents |
2758
+ | `praisonai knowledge clear` | Clear knowledge base |
2759
+ | `praisonai knowledge stats` | Show knowledge base statistics |
2760
+
2761
+ ### Knowledge CLI Options
2762
+
2763
+ | Option | Values | Description |
2764
+ |--------|--------|-------------|
2765
+ | `--vector-store` | `memory`, `chroma`, `pinecone`, `qdrant`, `weaviate` | Vector store backend |
2766
+ | `--retrieval` | `basic`, `fusion`, `recursive`, `auto_merge` | Retrieval strategy |
2767
+ | `--reranker` | `simple`, `llm`, `cross_encoder`, `cohere` | Reranking method |
2768
+ | `--index-type` | `vector`, `keyword`, `hybrid` | Index type |
2769
+ | `--query-mode` | `default`, `sub_question`, `summarize` | Query mode |
2770
+
2771
+ ### Knowledge CLI Examples
2772
+
2773
+ ```bash
2774
+ # Add documents
2775
+ praisonai knowledge add ./docs/
2776
+ praisonai knowledge add https://example.com/page.html
2777
+ praisonai knowledge add "*.pdf"
2778
+
2779
+ # Query with advanced options
2780
+ praisonai knowledge query "How to authenticate?" --retrieval fusion --reranker llm
2781
+
2782
+ # Full advanced query
2783
+ praisonai knowledge query "authentication flow" \
2784
+ --vector-store chroma \
2785
+ --retrieval fusion \
2786
+ --reranker llm \
2787
+ --index-type hybrid \
2788
+ --query-mode sub_question
2789
+ ```
2790
+
2791
+ ### Knowledge SDK Usage
2792
+
2793
+ ```python
2794
+ from praisonaiagents import Agent, Knowledge
2795
+
2796
+ # Simple usage with Agent
2797
+ agent = Agent(
2798
+ name="Research Assistant",
2799
+ knowledge=["docs/manual.pdf", "data/faq.txt"],
2800
+ knowledge_config={
2801
+ "vector_store": {"provider": "chroma"}
2802
+ }
2803
+ )
2804
+ response = agent.chat("How do I authenticate?")
2805
+
2806
+ # Direct Knowledge usage
2807
+ knowledge = Knowledge()
2808
+ knowledge.add("document.pdf")
2809
+ results = knowledge.search("authentication", limit=5)
2810
+ ```
2811
+
2812
+ ### Knowledge Stack Features Table
2813
+
2814
+ | Feature | Description | SDK Docs | CLI Docs |
2815
+ |---------|-------------|----------|----------|
2816
+ | **Data Readers** | Load PDF, Markdown, Text, HTML, URLs | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2817
+ | **Vector Stores** | ChromaDB, Pinecone, Qdrant, Weaviate, In-Memory | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2818
+ | **Retrieval Strategies** | Basic, Fusion (RRF), Recursive, Auto-Merge | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2819
+ | **Rerankers** | Simple, LLM, Cross-Encoder, Cohere | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2820
+ | **Index Types** | Vector, Keyword (BM25), Hybrid | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2821
+ | **Query Engines** | Default, Sub-Question, Summarize | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2822
+
2823
+ ---
2824
+
2737
2825
  ## 🔬 Advanced Features
2738
2826
 
2739
2827
  ### Research & Intelligence
@@ -2848,6 +2936,44 @@ agent.chat("Hello!") # Auto-persists messages, runs, traces
2848
2936
  | `praisonai persistence migrate` | Apply schema migrations |
2849
2937
  | `praisonai persistence status` | Show schema status |
2850
2938
 
2939
+ ### Knowledge CLI Commands {#knowledge-cli}
2940
+
2941
+ | Command | Description |
2942
+ |---------|-------------|
2943
+ | `praisonai knowledge add <source>` | Add file, directory, URL, or glob pattern |
2944
+ | `praisonai knowledge query "<question>"` | Query knowledge base with RAG |
2945
+ | `praisonai knowledge list` | List indexed documents |
2946
+ | `praisonai knowledge clear` | Clear knowledge base |
2947
+ | `praisonai knowledge stats` | Show knowledge base statistics |
2948
+
2949
+ **Knowledge Query Flags:**
2950
+
2951
+ | Flag | Values | Default |
2952
+ |------|--------|---------|
2953
+ | `--vector-store` | `memory`, `chroma`, `pinecone`, `qdrant`, `weaviate` | `chroma` |
2954
+ | `--retrieval-strategy` | `basic`, `fusion`, `recursive`, `auto_merge` | `basic` |
2955
+ | `--reranker` | `none`, `simple`, `llm`, `cross_encoder`, `cohere` | `none` |
2956
+ | `--index-type` | `vector`, `keyword`, `hybrid` | `vector` |
2957
+ | `--query-mode` | `default`, `sub_question`, `summarize` | `default` |
2958
+ | `--workspace` | Path to workspace directory | Current dir |
2959
+ | `--session` | Session ID for persistence | - |
2960
+
2961
+ **Examples:**
2962
+
2963
+ ```bash
2964
+ # Add documents
2965
+ praisonai knowledge add document.pdf
2966
+ praisonai knowledge add ./docs/
2967
+ praisonai knowledge add "*.md"
2968
+
2969
+ # Query with options
2970
+ praisonai knowledge query "How to authenticate?" \
2971
+ --vector-store chroma \
2972
+ --retrieval-strategy fusion \
2973
+ --reranker simple \
2974
+ --query-mode sub_question
2975
+ ```
2976
+
2851
2977
  ### Databases Table
2852
2978
 
2853
2979
  | Database | Store Type | Install | Example | Docs |
@@ -2860,11 +2986,11 @@ agent.chat("Hello!") # Auto-persists messages, runs, traces
2860
2986
  | SurrealDB | Conversation | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2861
2987
  | Qdrant | Knowledge | `pip install "praisonai[tools]"` | [knowledge_qdrant.py](examples/persistence/knowledge_qdrant.py) | [docs](https://docs.praison.ai/docs/databases/qdrant) |
2862
2988
  | ChromaDB | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2863
- | Pinecone | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2864
- | Weaviate | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2865
- | LanceDB | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2989
+ | Pinecone | Knowledge | `pip install pinecone` | [pinecone_wow.py](examples/vector/pinecone_wow.py) | [docs](https://docs.praison.ai/docs/databases/pinecone) |
2990
+ | Weaviate | Knowledge | `pip install weaviate-client` | [weaviate_wow.py](examples/vector/weaviate_wow.py) | [docs](https://docs.praison.ai/docs/databases/weaviate) |
2991
+ | LanceDB | Knowledge | `pip install lancedb` | [lancedb_real_wow.py](examples/vector/lancedb_real_wow.py) | [docs](https://docs.praison.ai/docs/databases/lancedb) |
2866
2992
  | Milvus | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2867
- | PGVector | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2993
+ | PGVector | Knowledge | `pip install psycopg2-binary` | [pgvector_real_wow.py](examples/vector/pgvector_real_wow.py) | [docs](https://docs.praison.ai/docs/databases/pgvector) |
2868
2994
  | Redis Vector | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2869
2995
  | Cassandra | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2870
2996
  | ClickHouse | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
@@ -21,7 +21,14 @@ praisonai/train.py
21
21
  praisonai/train_vision.py
22
22
  praisonai/upload_vision.py
23
23
  praisonai/version.py
24
+ praisonai/adapters/__init__.py
25
+ praisonai/adapters/readers.py
26
+ praisonai/adapters/rerankers.py
27
+ praisonai/adapters/retrievers.py
28
+ praisonai/adapters/vector_stores.py
24
29
  praisonai/api/call.py
30
+ praisonai/chat/__init__.py
31
+ praisonai/chat/app.py
25
32
  praisonai/cli/__init__.py
26
33
  praisonai/cli/main.py
27
34
  praisonai/cli/schedule_cli.py
@@ -46,11 +53,13 @@ praisonai/cli/features/handoff.py
46
53
  praisonai/cli/features/hooks.py
47
54
  praisonai/cli/features/image.py
48
55
  praisonai/cli/features/interactive_tui.py
56
+ praisonai/cli/features/jobs.py
49
57
  praisonai/cli/features/knowledge.py
50
58
  praisonai/cli/features/mcp.py
51
59
  praisonai/cli/features/message_queue.py
52
60
  praisonai/cli/features/metrics.py
53
61
  praisonai/cli/features/n8n.py
62
+ praisonai/cli/features/observability.py
54
63
  praisonai/cli/features/persistence.py
55
64
  praisonai/cli/features/profile.py
56
65
  praisonai/cli/features/profiling.py
@@ -79,6 +88,8 @@ praisonai/code/utils/__init__.py
79
88
  praisonai/code/utils/file_utils.py
80
89
  praisonai/code/utils/ignore_utils.py
81
90
  praisonai/code/utils/text_utils.py
91
+ praisonai/db/__init__.py
92
+ praisonai/db/adapter.py
82
93
  praisonai/inbuilt_tools/__init__.py
83
94
  praisonai/inbuilt_tools/autogen_tools.py
84
95
  praisonai/inc/__init__.py
@@ -90,12 +101,22 @@ praisonai/integrations/claude_code.py
90
101
  praisonai/integrations/codex_cli.py
91
102
  praisonai/integrations/cursor_cli.py
92
103
  praisonai/integrations/gemini_cli.py
104
+ praisonai/jobs/__init__.py
105
+ praisonai/jobs/executor.py
106
+ praisonai/jobs/models.py
107
+ praisonai/jobs/router.py
108
+ praisonai/jobs/server.py
109
+ praisonai/jobs/store.py
93
110
  praisonai/persistence/__init__.py
94
111
  praisonai/persistence/config.py
95
112
  praisonai/persistence/factory.py
96
113
  praisonai/persistence/orchestrator.py
97
114
  praisonai/persistence/conversation/__init__.py
115
+ praisonai/persistence/conversation/async_mysql.py
116
+ praisonai/persistence/conversation/async_postgres.py
117
+ praisonai/persistence/conversation/async_sqlite.py
98
118
  praisonai/persistence/conversation/base.py
119
+ praisonai/persistence/conversation/json_store.py
99
120
  praisonai/persistence/conversation/mysql.py
100
121
  praisonai/persistence/conversation/postgres.py
101
122
  praisonai/persistence/conversation/singlestore.py
@@ -109,19 +130,30 @@ praisonai/persistence/knowledge/base.py
109
130
  praisonai/persistence/knowledge/cassandra.py
110
131
  praisonai/persistence/knowledge/chroma.py
111
132
  praisonai/persistence/knowledge/clickhouse.py
133
+ praisonai/persistence/knowledge/cosmosdb_vector.py
134
+ praisonai/persistence/knowledge/couchbase.py
112
135
  praisonai/persistence/knowledge/lancedb.py
136
+ praisonai/persistence/knowledge/langchain_adapter.py
137
+ praisonai/persistence/knowledge/lightrag_adapter.py
138
+ praisonai/persistence/knowledge/llamaindex_adapter.py
113
139
  praisonai/persistence/knowledge/milvus.py
140
+ praisonai/persistence/knowledge/mongodb_vector.py
114
141
  praisonai/persistence/knowledge/pgvector.py
115
142
  praisonai/persistence/knowledge/pinecone.py
116
143
  praisonai/persistence/knowledge/qdrant.py
117
144
  praisonai/persistence/knowledge/redis_vector.py
145
+ praisonai/persistence/knowledge/singlestore_vector.py
146
+ praisonai/persistence/knowledge/surrealdb_vector.py
147
+ praisonai/persistence/knowledge/upstash_vector.py
118
148
  praisonai/persistence/knowledge/weaviate.py
119
149
  praisonai/persistence/migrations/__init__.py
120
150
  praisonai/persistence/migrations/manager.py
121
151
  praisonai/persistence/state/__init__.py
152
+ praisonai/persistence/state/async_mongodb.py
122
153
  praisonai/persistence/state/base.py
123
154
  praisonai/persistence/state/dynamodb.py
124
155
  praisonai/persistence/state/firestore.py
156
+ praisonai/persistence/state/gcs.py
125
157
  praisonai/persistence/state/memory.py
126
158
  praisonai/persistence/state/mongodb.py
127
159
  praisonai/persistence/state/redis.py
@@ -1,7 +1,7 @@
1
1
  rich>=13.7
2
2
  markdown>=3.5
3
3
  pyparsing>=3.0.0
4
- praisonaiagents>=0.2.1
4
+ praisonaiagents>=0.3.2
5
5
  python-dotenv>=0.19.0
6
6
  instructor>=1.3.3
7
7
  PyYAML>=6.0
@@ -204,6 +204,12 @@ npm install praisonai
204
204
  | ↳ Add Custom Knowledge | [Example](examples/python/concepts/knowledge-agents.py) | [📖](https://docs.praison.ai/features/knowledge) |
205
205
  | ↳ RAG Agents | [Example](examples/python/concepts/rag-agents.py) | [📖](https://docs.praison.ai/features/rag) |
206
206
  | ↳ Chat with PDF Agents | [Example](examples/python/concepts/chat-with-pdf.py) | [📖](https://docs.praison.ai/features/chat-with-pdf) |
207
+ | ↳ Data Readers (PDF, DOCX, etc.) | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-readers-api) |
208
+ | ↳ Vector Store Selection | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-vector-store-api) |
209
+ | ↳ Retrieval Strategies | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-retrieval-api) |
210
+ | ↳ Rerankers | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-reranker-api) |
211
+ | ↳ Index Types (Vector/Keyword/Hybrid) | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-index-api) |
212
+ | ↳ Query Engines (Sub-Question, etc.) | [CLI](#knowledge-cli) | [📖](https://docs.praison.ai/api/praisonai/knowledge-query-engine-api) |
207
213
  | **🔬 Research & Intelligence** | | |
208
214
  | ↳ Deep Research Agents | [Example](examples/python/agents/research-agent.py) | [📖](https://docs.praison.ai/agents/deep-research) |
209
215
  | ↳ Query Rewriter Agent | [Example](#5-query-rewriter-agent) | [📖](https://docs.praison.ai/agents/query-rewriter) |
@@ -261,6 +267,10 @@ npm install praisonai
261
267
  | ↳ 100+ LLM Support | [Example](examples/python/providers/openai/openai_gpt4_example.py) | [📖](https://docs.praison.ai/models) |
262
268
  | ↳ Callback Agents | [Example](examples/python/general/advanced-callback-systems.py) | [📖](https://docs.praison.ai/features/callbacks) |
263
269
  | ↳ Hooks | [Example](#9-hooks) | [📖](https://docs.praison.ai/features/hooks) |
270
+ | ↳ Middleware System | [Example](examples/middleware/basic_middleware.py) | [📖](https://docs.praison.ai/features/middleware) |
271
+ | ↳ Configurable Model | [Example](examples/middleware/configurable_model.py) | [📖](https://docs.praison.ai/features/configurable-model) |
272
+ | ↳ Rate Limiter | [Example](examples/middleware/rate_limiter.py) | [📖](https://docs.praison.ai/features/rate-limiter) |
273
+ | ↳ Injected Tool State | [Example](examples/middleware/injected_state.py) | [📖](https://docs.praison.ai/features/injected-state) |
264
274
  | ↳ Shadow Git Checkpoints | [Example](#10-shadow-git-checkpoints) | [📖](https://docs.praison.ai/features/checkpoints) |
265
275
  | ↳ Background Tasks | [Example](examples/background/basic_background.py) | [📖](https://docs.praison.ai/features/background-tasks) |
266
276
  | ↳ Policy Engine | [Example](examples/policy/basic_policy.py) | [📖](https://docs.praison.ai/features/policy-engine) |
@@ -2637,6 +2647,84 @@ PraisonAI provides zero-dependency persistent memory for agents. For detailed ex
2637
2647
 
2638
2648
  ---
2639
2649
 
2650
+ ## 📚 Knowledge & Retrieval (RAG)
2651
+
2652
+ PraisonAI provides a complete knowledge stack for building RAG applications with multiple vector stores, retrieval strategies, rerankers, and query modes.
2653
+
2654
+ ### Knowledge CLI Commands
2655
+
2656
+ | Command | Description |
2657
+ |---------|-------------|
2658
+ | `praisonai knowledge add <file\|dir\|url>` | Add documents to knowledge base |
2659
+ | `praisonai knowledge query <question>` | Query knowledge base with RAG |
2660
+ | `praisonai knowledge list` | List indexed documents |
2661
+ | `praisonai knowledge clear` | Clear knowledge base |
2662
+ | `praisonai knowledge stats` | Show knowledge base statistics |
2663
+
2664
+ ### Knowledge CLI Options
2665
+
2666
+ | Option | Values | Description |
2667
+ |--------|--------|-------------|
2668
+ | `--vector-store` | `memory`, `chroma`, `pinecone`, `qdrant`, `weaviate` | Vector store backend |
2669
+ | `--retrieval` | `basic`, `fusion`, `recursive`, `auto_merge` | Retrieval strategy |
2670
+ | `--reranker` | `simple`, `llm`, `cross_encoder`, `cohere` | Reranking method |
2671
+ | `--index-type` | `vector`, `keyword`, `hybrid` | Index type |
2672
+ | `--query-mode` | `default`, `sub_question`, `summarize` | Query mode |
2673
+
2674
+ ### Knowledge CLI Examples
2675
+
2676
+ ```bash
2677
+ # Add documents
2678
+ praisonai knowledge add ./docs/
2679
+ praisonai knowledge add https://example.com/page.html
2680
+ praisonai knowledge add "*.pdf"
2681
+
2682
+ # Query with advanced options
2683
+ praisonai knowledge query "How to authenticate?" --retrieval fusion --reranker llm
2684
+
2685
+ # Full advanced query
2686
+ praisonai knowledge query "authentication flow" \
2687
+ --vector-store chroma \
2688
+ --retrieval fusion \
2689
+ --reranker llm \
2690
+ --index-type hybrid \
2691
+ --query-mode sub_question
2692
+ ```
2693
+
2694
+ ### Knowledge SDK Usage
2695
+
2696
+ ```python
2697
+ from praisonaiagents import Agent, Knowledge
2698
+
2699
+ # Simple usage with Agent
2700
+ agent = Agent(
2701
+ name="Research Assistant",
2702
+ knowledge=["docs/manual.pdf", "data/faq.txt"],
2703
+ knowledge_config={
2704
+ "vector_store": {"provider": "chroma"}
2705
+ }
2706
+ )
2707
+ response = agent.chat("How do I authenticate?")
2708
+
2709
+ # Direct Knowledge usage
2710
+ knowledge = Knowledge()
2711
+ knowledge.add("document.pdf")
2712
+ results = knowledge.search("authentication", limit=5)
2713
+ ```
2714
+
2715
+ ### Knowledge Stack Features Table
2716
+
2717
+ | Feature | Description | SDK Docs | CLI Docs |
2718
+ |---------|-------------|----------|----------|
2719
+ | **Data Readers** | Load PDF, Markdown, Text, HTML, URLs | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2720
+ | **Vector Stores** | ChromaDB, Pinecone, Qdrant, Weaviate, In-Memory | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2721
+ | **Retrieval Strategies** | Basic, Fusion (RRF), Recursive, Auto-Merge | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2722
+ | **Rerankers** | Simple, LLM, Cross-Encoder, Cohere | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2723
+ | **Index Types** | Vector, Keyword (BM25), Hybrid | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2724
+ | **Query Engines** | Default, Sub-Question, Summarize | [SDK](/docs/sdk/praisonaiagents/knowledge/protocols) | [CLI](/docs/cli/knowledge) |
2725
+
2726
+ ---
2727
+
2640
2728
  ## 🔬 Advanced Features
2641
2729
 
2642
2730
  ### Research & Intelligence
@@ -2751,6 +2839,44 @@ agent.chat("Hello!") # Auto-persists messages, runs, traces
2751
2839
  | `praisonai persistence migrate` | Apply schema migrations |
2752
2840
  | `praisonai persistence status` | Show schema status |
2753
2841
 
2842
+ ### Knowledge CLI Commands {#knowledge-cli}
2843
+
2844
+ | Command | Description |
2845
+ |---------|-------------|
2846
+ | `praisonai knowledge add <source>` | Add file, directory, URL, or glob pattern |
2847
+ | `praisonai knowledge query "<question>"` | Query knowledge base with RAG |
2848
+ | `praisonai knowledge list` | List indexed documents |
2849
+ | `praisonai knowledge clear` | Clear knowledge base |
2850
+ | `praisonai knowledge stats` | Show knowledge base statistics |
2851
+
2852
+ **Knowledge Query Flags:**
2853
+
2854
+ | Flag | Values | Default |
2855
+ |------|--------|---------|
2856
+ | `--vector-store` | `memory`, `chroma`, `pinecone`, `qdrant`, `weaviate` | `chroma` |
2857
+ | `--retrieval-strategy` | `basic`, `fusion`, `recursive`, `auto_merge` | `basic` |
2858
+ | `--reranker` | `none`, `simple`, `llm`, `cross_encoder`, `cohere` | `none` |
2859
+ | `--index-type` | `vector`, `keyword`, `hybrid` | `vector` |
2860
+ | `--query-mode` | `default`, `sub_question`, `summarize` | `default` |
2861
+ | `--workspace` | Path to workspace directory | Current dir |
2862
+ | `--session` | Session ID for persistence | - |
2863
+
2864
+ **Examples:**
2865
+
2866
+ ```bash
2867
+ # Add documents
2868
+ praisonai knowledge add document.pdf
2869
+ praisonai knowledge add ./docs/
2870
+ praisonai knowledge add "*.md"
2871
+
2872
+ # Query with options
2873
+ praisonai knowledge query "How to authenticate?" \
2874
+ --vector-store chroma \
2875
+ --retrieval-strategy fusion \
2876
+ --reranker simple \
2877
+ --query-mode sub_question
2878
+ ```
2879
+
2754
2880
  ### Databases Table
2755
2881
 
2756
2882
  | Database | Store Type | Install | Example | Docs |
@@ -2763,11 +2889,11 @@ agent.chat("Hello!") # Auto-persists messages, runs, traces
2763
2889
  | SurrealDB | Conversation | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2764
2890
  | Qdrant | Knowledge | `pip install "praisonai[tools]"` | [knowledge_qdrant.py](examples/persistence/knowledge_qdrant.py) | [docs](https://docs.praison.ai/docs/databases/qdrant) |
2765
2891
  | ChromaDB | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2766
- | Pinecone | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2767
- | Weaviate | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2768
- | LanceDB | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2892
+ | Pinecone | Knowledge | `pip install pinecone` | [pinecone_wow.py](examples/vector/pinecone_wow.py) | [docs](https://docs.praison.ai/docs/databases/pinecone) |
2893
+ | Weaviate | Knowledge | `pip install weaviate-client` | [weaviate_wow.py](examples/vector/weaviate_wow.py) | [docs](https://docs.praison.ai/docs/databases/weaviate) |
2894
+ | LanceDB | Knowledge | `pip install lancedb` | [lancedb_real_wow.py](examples/vector/lancedb_real_wow.py) | [docs](https://docs.praison.ai/docs/databases/lancedb) |
2769
2895
  | Milvus | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2770
- | PGVector | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2896
+ | PGVector | Knowledge | `pip install psycopg2-binary` | [pgvector_real_wow.py](examples/vector/pgvector_real_wow.py) | [docs](https://docs.praison.ai/docs/databases/pgvector) |
2771
2897
  | Redis Vector | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2772
2898
  | Cassandra | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |
2773
2899
  | ClickHouse | Knowledge | `pip install "praisonai[tools]"` | - | [docs](https://docs.praison.ai/docs/databases/overview) |