ragbits-core 1.4.0.dev202512021005__tar.gz → 1.4.0.dev202512050236__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 (161) hide show
  1. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/.gitignore +4 -0
  2. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/CHANGELOG.md +7 -5
  3. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/PKG-INFO +1 -1
  4. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/pyproject.toml +1 -1
  5. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/llms/litellm.py +9 -1
  6. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/README.md +0 -0
  7. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/__init__.py +0 -0
  8. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/audit/__init__.py +0 -0
  9. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/audit/metrics/__init__.py +0 -0
  10. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/audit/metrics/base.py +0 -0
  11. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/audit/metrics/logfire.py +0 -0
  12. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/audit/metrics/otel.py +0 -0
  13. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/audit/traces/__init__.py +0 -0
  14. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/audit/traces/base.py +0 -0
  15. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/audit/traces/cli.py +0 -0
  16. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/audit/traces/logfire.py +0 -0
  17. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/audit/traces/otel.py +0 -0
  18. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/cli.py +0 -0
  19. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/config.py +0 -0
  20. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/embeddings/__init__.py +0 -0
  21. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/embeddings/base.py +0 -0
  22. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/embeddings/dense/__init__.py +0 -0
  23. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/embeddings/dense/base.py +0 -0
  24. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/embeddings/dense/fastembed.py +0 -0
  25. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/embeddings/dense/litellm.py +0 -0
  26. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/embeddings/dense/local.py +0 -0
  27. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/embeddings/dense/noop.py +0 -0
  28. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/embeddings/dense/vertex_multimodal.py +0 -0
  29. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/embeddings/exceptions.py +0 -0
  30. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/embeddings/sparse/__init__.py +0 -0
  31. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/embeddings/sparse/bag_of_tokens.py +0 -0
  32. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/embeddings/sparse/base.py +0 -0
  33. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/embeddings/sparse/fastembed.py +0 -0
  34. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/llms/__init__.py +0 -0
  35. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/llms/base.py +0 -0
  36. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/llms/exceptions.py +0 -0
  37. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/llms/factory.py +0 -0
  38. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/llms/local.py +0 -0
  39. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/llms/mock.py +0 -0
  40. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/options.py +0 -0
  41. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/prompt/__init__.py +0 -0
  42. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/prompt/_cli.py +0 -0
  43. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/prompt/base.py +0 -0
  44. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/prompt/discovery.py +0 -0
  45. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/prompt/exceptions.py +0 -0
  46. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/prompt/parsers.py +0 -0
  47. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/prompt/prompt.py +0 -0
  48. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/prompt/promptfoo.py +0 -0
  49. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/py.typed +0 -0
  50. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/sources/__init__.py +0 -0
  51. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/sources/azure.py +0 -0
  52. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/sources/base.py +0 -0
  53. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/sources/exceptions.py +0 -0
  54. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/sources/gcs.py +0 -0
  55. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/sources/git.py +0 -0
  56. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/sources/google_drive.py +0 -0
  57. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/sources/hf.py +0 -0
  58. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/sources/local.py +0 -0
  59. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/sources/s3.py +0 -0
  60. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/sources/web.py +0 -0
  61. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/types.py +0 -0
  62. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/utils/__init__.py +0 -0
  63. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/utils/_pyproject.py +0 -0
  64. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/utils/config_handling.py +0 -0
  65. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/utils/decorators.py +0 -0
  66. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/utils/dict_transformations.py +0 -0
  67. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/utils/function_schema.py +0 -0
  68. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/utils/helpers.py +0 -0
  69. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/utils/lazy_litellm.py +0 -0
  70. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/utils/pydantic.py +0 -0
  71. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/utils/secrets.py +0 -0
  72. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/vector_stores/__init__.py +0 -0
  73. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/vector_stores/_cli.py +0 -0
  74. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/vector_stores/base.py +0 -0
  75. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/vector_stores/chroma.py +0 -0
  76. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/vector_stores/hybrid.py +0 -0
  77. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/vector_stores/hybrid_strategies.py +0 -0
  78. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/vector_stores/in_memory.py +0 -0
  79. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/vector_stores/pgvector.py +0 -0
  80. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/vector_stores/qdrant.py +0 -0
  81. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/src/ragbits/core/vector_stores/weaviate.py +0 -0
  82. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/assets/img/test.png +0 -0
  83. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/assets/img/test2.jpg +0 -0
  84. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/assets/md/bar.md +0 -0
  85. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/assets/md/foo.md +0 -0
  86. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/cli/__init__.py +0 -0
  87. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/cli/test_cli_trace_handler.py +0 -0
  88. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/cli/test_vector_store.py +0 -0
  89. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/conftest.py +0 -0
  90. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/integration/sources/test_git.py +0 -0
  91. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/integration/sources/test_hf.py +0 -0
  92. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/integration/sources/test_s3.py +0 -0
  93. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/integration/vector_stores/__init__.py +0 -0
  94. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/integration/vector_stores/test_keyword_search.py +0 -0
  95. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/integration/vector_stores/test_vector_store.py +0 -0
  96. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/integration/vector_stores/test_vector_store_sparse.py +0 -0
  97. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/__init__.py +0 -0
  98. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/audit/test_cli.py +0 -0
  99. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/audit/test_metrics.py +0 -0
  100. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/audit/test_trace.py +0 -0
  101. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/embeddings/test_bag_of_tokens.py +0 -0
  102. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/embeddings/test_fastembed.py +0 -0
  103. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/embeddings/test_from_config.py +0 -0
  104. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/embeddings/test_litellm.py +0 -0
  105. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/embeddings/test_local.py +0 -0
  106. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/embeddings/test_noop.py +0 -0
  107. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/embeddings/test_vector_size.py +0 -0
  108. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/embeddings/test_vertex_multimodal.py +0 -0
  109. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/llms/__init__.py +0 -0
  110. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/llms/factory/__init__.py +0 -0
  111. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/llms/factory/test_get_preferred_llm.py +0 -0
  112. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/llms/test_base.py +0 -0
  113. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/llms/test_from_config.py +0 -0
  114. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/llms/test_litellm.py +0 -0
  115. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/llms/test_local.py +0 -0
  116. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/prompts/__init__.py +0 -0
  117. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/prompts/discovery/__init__.py +0 -0
  118. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/prompts/discovery/prompt_classes_for_tests.py +0 -0
  119. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/prompts/discovery/ragbits_tests_pkg_with_prompts/__init__.py +0 -0
  120. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/prompts/discovery/ragbits_tests_pkg_with_prompts/prompts/__init__.py +0 -0
  121. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/prompts/discovery/ragbits_tests_pkg_with_prompts/prompts/temp_prompt1.py +0 -0
  122. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/prompts/discovery/ragbits_tests_pkg_with_prompts/prompts/temp_prompt2.py +0 -0
  123. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/prompts/discovery/test_prompt_discovery.py +0 -0
  124. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/prompts/test_parsers.py +0 -0
  125. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/prompts/test_prompt.py +0 -0
  126. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/sources/test_aws.py +0 -0
  127. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/sources/test_azure.py +0 -0
  128. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/sources/test_exceptions.py +0 -0
  129. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/sources/test_gcs.py +0 -0
  130. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/sources/test_git.py +0 -0
  131. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/sources/test_google_drive.py +0 -0
  132. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/sources/test_hf.py +0 -0
  133. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/sources/test_local.py +0 -0
  134. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/sources/test_source_discriminator.py +0 -0
  135. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/sources/test_web.py +0 -0
  136. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/test_options.py +0 -0
  137. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/__init__.py +0 -0
  138. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/pyproject/test_find.py +0 -0
  139. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/pyproject/test_get_config.py +0 -0
  140. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/pyproject/test_get_instace.py +0 -0
  141. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/test_config_handling.py +0 -0
  142. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/test_decorators.py +0 -0
  143. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/test_dict_transformations.py +0 -0
  144. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/test_function_schema.py +0 -0
  145. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/test_helpers.py +0 -0
  146. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/test_secrets.py +0 -0
  147. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/testprojects/bad_factory_project/pyproject.toml +0 -0
  148. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/testprojects/factory_project/pyproject.toml +0 -0
  149. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/testprojects/happy_project/pyproject.toml +0 -0
  150. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/testprojects/project_with_instance_factory/pyproject.toml +0 -0
  151. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/testprojects/project_with_instances_yaml/instances.yaml +0 -0
  152. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/utils/testprojects/project_with_instances_yaml/pyproject.toml +0 -0
  153. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/vector_stores/test_base.py +0 -0
  154. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/vector_stores/test_chroma.py +0 -0
  155. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/vector_stores/test_from_config.py +0 -0
  156. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/vector_stores/test_hybrid.py +0 -0
  157. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/vector_stores/test_hybrid_strategies.py +0 -0
  158. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/vector_stores/test_in_memory.py +0 -0
  159. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/vector_stores/test_pgvector.py +0 -0
  160. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/vector_stores/test_qdrant.py +0 -0
  161. {ragbits_core-1.4.0.dev202512021005 → ragbits_core-1.4.0.dev202512050236}/tests/unit/vector_stores/test_weaviate.py +0 -0
@@ -8,6 +8,7 @@ venv/
8
8
  .venv/
9
9
  __pycache__/
10
10
  **.egg-info/
11
+ .deepeval/
11
12
 
12
13
  # Local cursor rules
13
14
  .cursor/rules/local/
@@ -109,3 +110,6 @@ node_modules/
109
110
  lazygit
110
111
 
111
112
  lazygit.tar.gz
113
+
114
+ # chat conversation logs
115
+ duet_conversation.log
@@ -1,22 +1,21 @@
1
1
  # CHANGELOG
2
2
 
3
3
  ## Unreleased
4
- - Add Support for Thinking in agents (#837)
5
4
 
5
+ - Add Support for Thinking in agents (#837)
6
+ - Add support for confirmation requests in chat (#853)
6
7
  - Add name parameter and slightly refactor HuggingFace dataloder (#829)
7
8
 
8
9
  ## 1.3.0 (2025-09-11)
9
10
 
10
11
  - feat: improve app startup speed with lazy LiteLLM loading
11
12
 
12
-
13
13
  - Feat: added support for IVFFlat indexing and Halfvec datatype
14
14
 
15
15
  - Added Lazy loading of dependencies in local.py and during importing of LiteLLM
16
16
  - Add tool_choice parameter to LLM interface (#738)
17
17
  - Fix Prompt consumes same iterator twice leading to no data added to chat (#768)
18
18
 
19
-
20
19
  ## 1.2.2 (2025-08-08)
21
20
 
22
21
  - Fix: rendering iterator arguments in Prompt (#768)
@@ -97,6 +96,7 @@
97
96
  ## 0.16.0 (2025-04-29)
98
97
 
99
98
  ## 0.15.0 (2025-04-28)
99
+
100
100
  - Allow using sparse embeddings with Qdrant and local vector stores (#493)
101
101
  - Add support for sparse embeddings in the Pgvector Vector Store (#493)
102
102
  - Added secret key environment variable / generation for signatures across ragbits packages (#537)
@@ -112,6 +112,7 @@
112
112
  - modify LocalEmbedder to use sentence-transformers instead of torch (#508)
113
113
 
114
114
  ## 0.13.0 (2025-04-02)
115
+
115
116
  - Make the score in VectorStoreResult consistent (always bigger is better)
116
117
  - Add router option to LiteLLMEmbedder (#440)
117
118
  - Make LLM / Embedder APIs consistent (#463)
@@ -120,11 +121,13 @@
120
121
  - Cost and capabilities config for custom litellm models (#481)
121
122
 
122
123
  ## 0.12.0 (2025-03-25)
124
+
123
125
  - Allow Prompt class to accept the asynchronous response_parser. Change the signature of parse_response method.
124
126
  - Fix from_config for LiteLLM class (#441)
125
127
  - Fix Qdrant vector store serialization (#419)
126
128
 
127
129
  ## 0.11.0 (2025-03-25)
130
+
128
131
  - Add HybridSearchVectorStore which can aggregate results from multiple VectorStores (#412)
129
132
 
130
133
  ## 0.10.2 (2025-03-21)
@@ -205,7 +208,6 @@
205
208
  - Add streaming interface to LLMs (#188).
206
209
  - Better images support in Prompt abstractions (#201).
207
210
 
208
-
209
211
  ## 0.3.0 (2024-11-06)
210
212
 
211
213
  ### Added
@@ -245,4 +247,4 @@
245
247
  - LiteLLM integration.
246
248
  - ChromaDB integration.
247
249
  - Prompts lab.
248
- - Prompts autodiscovery.
250
+ - Prompts autodiscovery.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ragbits-core
3
- Version: 1.4.0.dev202512021005
3
+ Version: 1.4.0.dev202512050236
4
4
  Summary: Building blocks for rapid development of GenAI applications
5
5
  Project-URL: Homepage, https://github.com/deepsense-ai/ragbits
6
6
  Project-URL: Bug Reports, https://github.com/deepsense-ai/ragbits/issues
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ragbits-core"
3
- version = "1.4.0.dev202512021005"
3
+ version = "1.4.0.dev202512050236"
4
4
  description = "Building blocks for rapid development of GenAI applications"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -102,6 +102,7 @@ class LiteLLM(LLM[LiteLLMOptions], LazyLiteLLM):
102
102
  self.use_structured_output = use_structured_output
103
103
  self.router = router
104
104
  self.custom_model_cost_config = custom_model_cost_config
105
+ self._cached_router: Router | None = None # Cache for auto-created router
105
106
  if custom_model_cost_config:
106
107
  self._litellm.register_model(custom_model_cost_config)
107
108
 
@@ -434,7 +435,14 @@ class LiteLLM(LLM[LiteLLMOptions], LazyLiteLLM):
434
435
  stream: bool = False,
435
436
  stream_options: dict | None = None,
436
437
  ) -> "ModelResponse | CustomStreamWrapper":
437
- entrypoint = self.router or self._create_router_from_self_and_options(options)
438
+ # Use provided router, or create/reuse cached router
439
+ if self.router:
440
+ entrypoint = self.router
441
+ else:
442
+ # Create router only once and cache it to avoid callback leak
443
+ if self._cached_router is None:
444
+ self._cached_router = self._create_router_from_self_and_options(options)
445
+ entrypoint = self._cached_router
438
446
 
439
447
  # Preprocess messages for Claude with reasoning enabled
440
448
  processed_conversation = self._preprocess_messages_for_claude(conversation, options)