SimplerLLM 0.3.2.1__tar.gz → 0.3.2.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 (206) hide show
  1. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/PKG-INFO +1 -1
  2. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm/reliable.py +30 -8
  3. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_addons.py +32 -8
  4. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM.egg-info/PKG-INFO +1 -1
  5. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/setup.py +1 -1
  6. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/LICENSE +0 -0
  7. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/README.md +0 -0
  8. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/__init__.py +0 -0
  9. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/image/__init__.py +0 -0
  10. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/image/generation/__init__.py +0 -0
  11. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/image/generation/base.py +0 -0
  12. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/image/generation/providers/__init__.py +0 -0
  13. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/image/generation/providers/google_image.py +0 -0
  14. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/image/generation/providers/image_response_models.py +0 -0
  15. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/image/generation/providers/openai_image.py +0 -0
  16. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/image/generation/providers/stability_image.py +0 -0
  17. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/image/generation/wrappers/__init__.py +0 -0
  18. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/image/generation/wrappers/google_wrapper.py +0 -0
  19. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/image/generation/wrappers/openai_wrapper.py +0 -0
  20. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/image/generation/wrappers/stability_wrapper.py +0 -0
  21. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/__init__.py +0 -0
  22. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/embeddings.py +0 -0
  23. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/flow/__init__.py +0 -0
  24. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/flow/flow.py +0 -0
  25. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/flow/models.py +0 -0
  26. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/flow/tool_registry.py +0 -0
  27. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/guardrails/__init__.py +0 -0
  28. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/guardrails/base.py +0 -0
  29. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/guardrails/exceptions.py +0 -0
  30. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/guardrails/input_guardrails/__init__.py +0 -0
  31. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/guardrails/input_guardrails/pii_detection.py +0 -0
  32. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/guardrails/input_guardrails/prompt_injection.py +0 -0
  33. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/guardrails/input_guardrails/topic_filter.py +0 -0
  34. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/guardrails/output_guardrails/__init__.py +0 -0
  35. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/guardrails/output_guardrails/content_safety.py +0 -0
  36. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/guardrails/output_guardrails/format_validator.py +0 -0
  37. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/guardrails/output_guardrails/length_validator.py +0 -0
  38. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/guardrails/output_guardrails/pii_detection.py +0 -0
  39. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/guardrails/wrapper.py +0 -0
  40. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm/__init__.py +0 -0
  41. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm/base.py +0 -0
  42. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm/wrappers/__init__.py +0 -0
  43. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm/wrappers/anthropic_wrapper.py +0 -0
  44. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm/wrappers/cohere_wrapper.py +0 -0
  45. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm/wrappers/deepseek_wrapper.py +0 -0
  46. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm/wrappers/gemini_wrapper.py +0 -0
  47. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm/wrappers/ollama_wrapper.py +0 -0
  48. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm/wrappers/openai_wrapper.py +0 -0
  49. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm/wrappers/openrouter_wrapper.py +0 -0
  50. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_brainstorm/__init__.py +0 -0
  51. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_brainstorm/models.py +0 -0
  52. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_brainstorm/recursive_brainstorm.py +0 -0
  53. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_clustering/__init__.py +0 -0
  54. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_clustering/chunk_store.py +0 -0
  55. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_clustering/clusterer.py +0 -0
  56. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_clustering/flat_clusterer.py +0 -0
  57. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_clustering/models.py +0 -0
  58. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_clustering/persistence.py +0 -0
  59. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_clustering/tree_builder.py +0 -0
  60. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_feedback/__init__.py +0 -0
  61. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_feedback/feedback_loop.py +0 -0
  62. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_feedback/models.py +0 -0
  63. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_judge/__init__.py +0 -0
  64. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_judge/judge.py +0 -0
  65. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_judge/models.py +0 -0
  66. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_provider_router/__init__.py +0 -0
  67. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_provider_router/models.py +0 -0
  68. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_provider_router/provider_router.py +0 -0
  69. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_provider_router/query_classifier.py +0 -0
  70. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_providers/__init__.py +0 -0
  71. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_providers/anthropic_llm.py +0 -0
  72. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_providers/cohere_llm.py +0 -0
  73. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_providers/deepseek_llm.py +0 -0
  74. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_providers/gemini_llm.py +0 -0
  75. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_providers/llm_response_models.py +0 -0
  76. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_providers/ollama_llm.py +0 -0
  77. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_providers/openai_llm.py +0 -0
  78. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_providers/openrouter_llm.py +0 -0
  79. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_providers/voyage_llm.py +0 -0
  80. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_retrieval/__init__.py +0 -0
  81. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_retrieval/models.py +0 -0
  82. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_retrieval/retriever.py +0 -0
  83. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_router/__init__.py +0 -0
  84. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_router/models.py +0 -0
  85. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/language/llm_router/router.py +0 -0
  86. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/prompts/__init__.py +0 -0
  87. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/prompts/hub/__init__.py +0 -0
  88. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/prompts/hub/agentic_prompts.py +0 -0
  89. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/prompts/hub/prompt_manager.py +0 -0
  90. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/prompts/messages_template.py +0 -0
  91. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/prompts/prompt_builder.py +0 -0
  92. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/__init__.py +0 -0
  93. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/apify_api.py +0 -0
  94. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/brainstorm.py +0 -0
  95. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/email_functions.py +0 -0
  96. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/file_functions.py +0 -0
  97. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/file_loader.py +0 -0
  98. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/generic_loader.py +0 -0
  99. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/image_helpers.py +0 -0
  100. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/json_helpers.py +0 -0
  101. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/pandas_func.py +0 -0
  102. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/pattern_helpers.py +0 -0
  103. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/python_func.py +0 -0
  104. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/rapid_api.py +0 -0
  105. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/serp.py +0 -0
  106. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/text_chunker.py +0 -0
  107. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/tools/youtube.py +0 -0
  108. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/utils/__init__.py +0 -0
  109. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/utils/custom_verbose.py +0 -0
  110. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/vectors/__init__.py +0 -0
  111. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/vectors/local_vector_db.py +0 -0
  112. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/vectors/qdrant_vector_db.py +0 -0
  113. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/vectors/simpler_vector.py +0 -0
  114. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/vectors/vector_db.py +0 -0
  115. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/vectors/vector_providers.py +0 -0
  116. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/__init__.py +0 -0
  117. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/dialogue_generator/__init__.py +0 -0
  118. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/dialogue_generator/audio_merger.py +0 -0
  119. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/dialogue_generator/dialogue_generator.py +0 -0
  120. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/dialogue_generator/models.py +0 -0
  121. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/live_voice_chat/__init__.py +0 -0
  122. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/live_voice_chat/audio_player.py +0 -0
  123. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/live_voice_chat/audio_recorder.py +0 -0
  124. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/live_voice_chat/live_voice_chat.py +0 -0
  125. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/live_voice_chat/models.py +0 -0
  126. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/realtime_voice/__init__.py +0 -0
  127. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/realtime_voice/audio_utils.py +0 -0
  128. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/realtime_voice/base.py +0 -0
  129. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/realtime_voice/models.py +0 -0
  130. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/realtime_voice/providers/__init__.py +0 -0
  131. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/realtime_voice/providers/elevenlabs_convai.py +0 -0
  132. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/realtime_voice/providers/openai_realtime.py +0 -0
  133. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/realtime_voice/providers/realtime_response_models.py +0 -0
  134. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/realtime_voice/realtime_voice_chat.py +0 -0
  135. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/realtime_voice/wrappers/__init__.py +0 -0
  136. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/realtime_voice/wrappers/elevenlabs_wrapper.py +0 -0
  137. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/realtime_voice/wrappers/openai_wrapper.py +0 -0
  138. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/stt/__init__.py +0 -0
  139. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/stt/base.py +0 -0
  140. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/stt/providers/__init__.py +0 -0
  141. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/stt/providers/openai_stt.py +0 -0
  142. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/stt/providers/stt_response_models.py +0 -0
  143. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/stt/wrappers/__init__.py +0 -0
  144. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/stt/wrappers/openai_wrapper.py +0 -0
  145. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/tts/__init__.py +0 -0
  146. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/tts/base.py +0 -0
  147. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/tts/providers/__init__.py +0 -0
  148. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/tts/providers/elevenlabs_tts.py +0 -0
  149. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/tts/providers/openai_tts.py +0 -0
  150. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/tts/providers/tts_response_models.py +0 -0
  151. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/tts/wrappers/__init__.py +0 -0
  152. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/tts/wrappers/elevenlabs_wrapper.py +0 -0
  153. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/tts/wrappers/openai_wrapper.py +0 -0
  154. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/video_dubbing/__init__.py +0 -0
  155. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/video_dubbing/audio_sync.py +0 -0
  156. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/video_dubbing/base.py +0 -0
  157. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/video_dubbing/models.py +0 -0
  158. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/video_dubbing/video_processor.py +0 -0
  159. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/video_transcription/__init__.py +0 -0
  160. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/video_transcription/base.py +0 -0
  161. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/video_transcription/caption_generator.py +0 -0
  162. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/video_transcription/models.py +0 -0
  163. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/video_transcription/utils/__init__.py +0 -0
  164. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/video_transcription/utils/subtitle_formatter.py +0 -0
  165. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/video_transcription/utils/video_utils.py +0 -0
  166. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/voice_chat/__init__.py +0 -0
  167. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/voice_chat/conversation.py +0 -0
  168. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/voice_chat/models.py +0 -0
  169. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM/voice/voice_chat/voice_chat.py +0 -0
  170. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM.egg-info/SOURCES.txt +0 -0
  171. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM.egg-info/dependency_links.txt +0 -0
  172. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM.egg-info/requires.txt +0 -0
  173. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/SimplerLLM.egg-info/top_level.txt +0 -0
  174. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/setup.cfg +0 -0
  175. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_agent.py +0 -0
  176. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_agent_full.py +0 -0
  177. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_cohere.py +0 -0
  178. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_cohere_embeddings.py +0 -0
  179. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_comprehensive_llm.py +0 -0
  180. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_embeddings_comprehensive.py +0 -0
  181. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_flow_comprehensive.py +0 -0
  182. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_llm_brainstorm.py +0 -0
  183. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_llm_clustering_retrieval.py +0 -0
  184. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_llm_feedback.py +0 -0
  185. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_llm_judge.py +0 -0
  186. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_llm_provider_router.py +0 -0
  187. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_nested_models.py +0 -0
  188. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_openrouter.py +0 -0
  189. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_openrouter_full_response.py +0 -0
  190. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_pattern_extraction.py +0 -0
  191. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_pattern_helpers.py +0 -0
  192. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_production_vector_db.py +0 -0
  193. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_pydantic_edge_cases.py +0 -0
  194. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_pydantic_edge_cases_llm.py +0 -0
  195. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_pydantic_structures.py +0 -0
  196. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_qdrant_comprehensive.py +0 -0
  197. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_qdrant_connection.py +0 -0
  198. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_qdrant_integration_live.py +0 -0
  199. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_real_llm_generation.py +0 -0
  200. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_router_simple.py +0 -0
  201. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_router_youtube_titles.py +0 -0
  202. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_unified_vector_interface.py +0 -0
  203. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_vision_anthropic.py +0 -0
  204. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_vision_openai.py +0 -0
  205. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_vision_quick.py +0 -0
  206. {simplerllm-0.3.2.1 → simplerllm-0.3.2.2}/tests/test_voyage_embeddings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: SimplerLLM
3
- Version: 0.3.2.1
3
+ Version: 0.3.2.2
4
4
  Summary: An easy-to-use Library for interacting with language models.
5
5
  Home-page: https://github.com/hassancs91/SimplerLLM
6
6
  Author: Hasan Aboul Hasan
@@ -91,10 +91,12 @@ class ReliableLLM:
91
91
  full_response: bool = False,
92
92
  return_provider: bool = False,
93
93
  json_mode=False,
94
+ images: list = None,
95
+ detail: str = "auto",
94
96
  ) -> Union[str, LLMFullResponse, Tuple[Union[str, LLMFullResponse], LLMProvider, str]]:
95
97
  """
96
98
  Generate a response using the primary LLM, falling back to secondary if primary fails.
97
-
99
+
98
100
  Args:
99
101
  model_name (str, optional): The name of the model to use.
100
102
  prompt (str, optional): A single prompt string to generate a response for.
@@ -105,12 +107,15 @@ class ReliableLLM:
105
107
  top_p (float, optional): Controls diversity of output.
106
108
  full_response (bool, optional): If True, returns the full API response.
107
109
  return_provider (bool, optional): If True, returns a tuple of (response, provider) where provider is the LLMProvider that generated the response.
108
-
110
+ json_mode (bool, optional): If True, enables JSON mode for structured output.
111
+ images (list, optional): A list of image URLs or file paths for vision tasks.
112
+ detail (str, optional): Level of detail for image analysis ("low", "high", "auto"). OpenAI-specific parameter. Defaults to "auto".
113
+
109
114
  Returns:
110
- Union[str, dict, Tuple[Union[str, dict], LLMProvider, str]]:
115
+ Union[str, dict, Tuple[Union[str, dict], LLMProvider, str]]:
111
116
  - If return_provider is False: The generated response from either primary or secondary LLM
112
117
  - If return_provider is True: A tuple of (response, provider, model_name) where provider is the LLMProvider that was used and model_name is the name of the model
113
-
118
+
114
119
  Raises:
115
120
  Exception: If both primary and secondary LLMs fail
116
121
  """
@@ -128,6 +133,8 @@ class ReliableLLM:
128
133
  top_p=top_p,
129
134
  full_response=full_response,
130
135
  json_mode=json_mode,
136
+ images=images,
137
+ detail=detail,
131
138
  )
132
139
  if self.verbose:
133
140
  verbose_print("Primary provider generated response successfully", "info")
@@ -147,6 +154,8 @@ class ReliableLLM:
147
154
  top_p=top_p,
148
155
  full_response=full_response,
149
156
  json_mode=json_mode,
157
+ images=images,
158
+ detail=detail,
150
159
  )
151
160
  if self.verbose:
152
161
  verbose_print("Secondary provider generated response successfully", "info")
@@ -167,6 +176,8 @@ class ReliableLLM:
167
176
  top_p=top_p,
168
177
  full_response=full_response,
169
178
  json_mode=json_mode,
179
+ images=images,
180
+ detail=detail,
170
181
  )
171
182
  if self.verbose:
172
183
  verbose_print("Secondary provider generated response successfully", "info")
@@ -187,10 +198,12 @@ class ReliableLLM:
187
198
  full_response: bool = False,
188
199
  return_provider: bool = False,
189
200
  json_mode: bool = False,
201
+ images: list = None,
202
+ detail: str = "auto",
190
203
  ) -> Union[str, LLMFullResponse, Tuple[Union[str, LLMFullResponse], LLMProvider, str]]:
191
204
  """
192
205
  Asynchronously generate a response using the primary LLM, falling back to secondary if primary fails.
193
-
206
+
194
207
  Args:
195
208
  model_name (str, optional): The name of the model to use.
196
209
  prompt (str, optional): A single prompt string to generate a response for.
@@ -201,12 +214,15 @@ class ReliableLLM:
201
214
  top_p (float, optional): Controls diversity of output.
202
215
  full_response (bool, optional): If True, returns the full API response.
203
216
  return_provider (bool, optional): If True, returns a tuple of (response, provider) where provider is the LLMProvider that generated the response.
204
-
217
+ json_mode (bool, optional): If True, enables JSON mode for structured output.
218
+ images (list, optional): A list of image URLs or file paths for vision tasks.
219
+ detail (str, optional): Level of detail for image analysis ("low", "high", "auto"). OpenAI-specific parameter. Defaults to "auto".
220
+
205
221
  Returns:
206
- Union[str, dict, Tuple[Union[str, dict], LLMProvider, str]]:
222
+ Union[str, dict, Tuple[Union[str, dict], LLMProvider, str]]:
207
223
  - If return_provider is False: The generated response from either primary or secondary LLM
208
224
  - If return_provider is True: A tuple of (response, provider, model_name) where provider is the LLMProvider that was used and model_name is the name of the model
209
-
225
+
210
226
  Raises:
211
227
  Exception: If both primary and secondary LLMs fail
212
228
  """
@@ -224,6 +240,8 @@ class ReliableLLM:
224
240
  top_p=top_p,
225
241
  full_response=full_response,
226
242
  json_mode=json_mode,
243
+ images=images,
244
+ detail=detail,
227
245
  )
228
246
  if self.verbose:
229
247
  verbose_print("Primary provider generated response successfully", "info")
@@ -243,6 +261,8 @@ class ReliableLLM:
243
261
  top_p=top_p,
244
262
  full_response=full_response,
245
263
  json_mode=json_mode,
264
+ images=images,
265
+ detail=detail,
246
266
  )
247
267
  if self.verbose:
248
268
  verbose_print("Secondary provider generated response successfully", "info")
@@ -263,6 +283,8 @@ class ReliableLLM:
263
283
  top_p=top_p,
264
284
  full_response=full_response,
265
285
  json_mode=json_mode,
286
+ images=images,
287
+ detail=detail,
266
288
  )
267
289
  if self.verbose:
268
290
  verbose_print("Secondary provider generated response successfully", "info")
@@ -76,6 +76,8 @@ def generate_pydantic_json_model(
76
76
  custom_prompt_suffix: str = None,
77
77
  system_prompt: str = "The Output is a VALID Structured JSON",
78
78
  full_response: bool = False,
79
+ images: list = None,
80
+ detail: str = "auto",
79
81
  ) -> Union[BaseModel, LLMFullResponse, str]:
80
82
  """
81
83
  Generates a model instance based on a given prompt, retrying on validation errors.
@@ -91,8 +93,10 @@ def generate_pydantic_json_model(
91
93
  :param custom_prompt_suffix: Optional string to customize or override the generated prompt extension.
92
94
  :param system_prompt: System prompt to set the context for the LLM.
93
95
  :param full_response: If True, returns the full API response including token counts.
96
+ :param images: A list of image URLs or file paths for vision tasks.
97
+ :param detail: Level of detail for image analysis ("low", "high", "auto"). OpenAI-specific parameter. Defaults to "auto".
94
98
 
95
- :return:
99
+ :return:
96
100
  - If full_response=False: BaseModel object
97
101
  - If full_response=True: LLMFullResponse object with model_object attribute and input_token_count and output_token_count
98
102
  - Error message string if unsuccessful
@@ -110,7 +114,9 @@ def generate_pydantic_json_model(
110
114
  temperature=temperature,
111
115
  top_p=top_p,
112
116
  json_mode=True,
113
- full_response=full_response
117
+ full_response=full_response,
118
+ images=images,
119
+ detail=detail,
114
120
  )
115
121
 
116
122
  response_text = ai_response.generated_text if full_response else ai_response
@@ -162,6 +168,8 @@ def generate_pydantic_json_model_reliable(
162
168
  custom_prompt_suffix: str = None,
163
169
  system_prompt: str = "The Output is a VALID Structured JSON",
164
170
  full_response: bool = False,
171
+ images: list = None,
172
+ detail: str = "auto",
165
173
  ) -> Union[Tuple[BaseModel, LLMProvider, str], LLMFullResponse, str]:
166
174
  """
167
175
  Generates a model instance using ReliableLLM with fallback capability.
@@ -177,8 +185,10 @@ def generate_pydantic_json_model_reliable(
177
185
  :param custom_prompt_suffix: Optional string to customize or override the generated prompt extension.
178
186
  :param system_prompt: System prompt to set the context for the LLM.
179
187
  :param full_response: If True, returns the full API response including token counts.
188
+ :param images: A list of image URLs or file paths for vision tasks.
189
+ :param detail: Level of detail for image analysis ("low", "high", "auto"). OpenAI-specific parameter. Defaults to "auto".
180
190
 
181
- :return:
191
+ :return:
182
192
  - If full_response=False: Tuple of (model_object, provider, model_name)
183
193
  - If full_response=True: LLMFullResponse object with model_object, provider, and model_name attributes, and input_token_count and output_token_count
184
194
  - Error message string if unsuccessful
@@ -196,7 +206,9 @@ def generate_pydantic_json_model_reliable(
196
206
  temperature=temperature,
197
207
  top_p=top_p,
198
208
  json_mode=True,
199
- full_response=full_response
209
+ full_response=full_response,
210
+ images=images,
211
+ detail=detail,
200
212
  )
201
213
 
202
214
  if full_response:
@@ -253,6 +265,8 @@ async def generate_pydantic_json_model_reliable_async(
253
265
  custom_prompt_suffix: str = None,
254
266
  system_prompt: str = "The Output is a VALID Structured JSON",
255
267
  full_response: bool = False,
268
+ images: list = None,
269
+ detail: str = "auto",
256
270
  ) -> Union[Tuple[BaseModel, LLMProvider, str], LLMFullResponse, str]:
257
271
  """
258
272
  Asynchronously generates a model instance using ReliableLLM with fallback capability.
@@ -268,8 +282,10 @@ async def generate_pydantic_json_model_reliable_async(
268
282
  :param custom_prompt_suffix: Optional string to customize or override the generated prompt extension.
269
283
  :param system_prompt: System prompt to set the context for the LLM.
270
284
  :param full_response: If True, returns the full API response including token counts.
285
+ :param images: A list of image URLs or file paths for vision tasks.
286
+ :param detail: Level of detail for image analysis ("low", "high", "auto"). OpenAI-specific parameter. Defaults to "auto".
271
287
 
272
- :return:
288
+ :return:
273
289
  - If full_response=False: Tuple of (model_object, provider, model_name)
274
290
  - If full_response=True: LLMFullResponse object with model_object, provider, and model_name attributes, and input_token_count and output_token_count
275
291
  - Error message string if unsuccessful
@@ -287,7 +303,9 @@ async def generate_pydantic_json_model_reliable_async(
287
303
  temperature=temperature,
288
304
  top_p=top_p,
289
305
  json_mode=True,
290
- full_response=full_response
306
+ full_response=full_response,
307
+ images=images,
308
+ detail=detail,
291
309
  )
292
310
 
293
311
  if full_response:
@@ -344,6 +362,8 @@ async def generate_pydantic_json_model_async(
344
362
  custom_prompt_suffix: str = None,
345
363
  system_prompt: str = "The Output is a VALID Structured JSON",
346
364
  full_response: bool = False,
365
+ images: list = None,
366
+ detail: str = "auto",
347
367
  ) -> Union[BaseModel, LLMFullResponse, str]:
348
368
  """
349
369
  Asynchronously generates a model instance based on a given prompt, retrying on validation errors.
@@ -359,8 +379,10 @@ async def generate_pydantic_json_model_async(
359
379
  :param custom_prompt_suffix: Optional string to customize or override the generated prompt extension.
360
380
  :param system_prompt: System prompt to set the context for the LLM.
361
381
  :param full_response: If True, returns the full API response including token counts.
382
+ :param images: A list of image URLs or file paths for vision tasks.
383
+ :param detail: Level of detail for image analysis ("low", "high", "auto"). OpenAI-specific parameter. Defaults to "auto".
362
384
 
363
- :return:
385
+ :return:
364
386
  - If full_response=False: BaseModel object
365
387
  - If full_response=True: LLMFullResponse object with model_object attribute and input_token_count and output_token_count
366
388
  - Error message string if unsuccessful
@@ -378,7 +400,9 @@ async def generate_pydantic_json_model_async(
378
400
  temperature=temperature,
379
401
  top_p=top_p,
380
402
  json_mode=True,
381
- full_response=full_response
403
+ full_response=full_response,
404
+ images=images,
405
+ detail=detail,
382
406
  )
383
407
 
384
408
  response_text = ai_response.generated_text if full_response else ai_response
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: SimplerLLM
3
- Version: 0.3.2.1
3
+ Version: 0.3.2.2
4
4
  Summary: An easy-to-use Library for interacting with language models.
5
5
  Home-page: https://github.com/hassancs91/SimplerLLM
6
6
  Author: Hasan Aboul Hasan
@@ -20,7 +20,7 @@ with open("README.md", encoding="utf-8") as f:
20
20
 
21
21
  setup(
22
22
  name="SimplerLLM",
23
- version="0.3.2.1",
23
+ version="0.3.2.2",
24
24
  author="Hasan Aboul Hasan",
25
25
  author_email="hasan@learnwithhasan.com",
26
26
  description="An easy-to-use Library for interacting with language models.",
File without changes
File without changes
File without changes