rasa-pro 3.13.1a18__py3-none-any.whl → 3.13.1.dev1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of rasa-pro might be problematic. Click here for more details.

Files changed (266) hide show
  1. rasa/__init__.py +6 -0
  2. rasa/cli/scaffold.py +3 -22
  3. rasa/core/actions/action.py +3 -5
  4. rasa/core/channels/studio_chat.py +10 -34
  5. rasa/core/policies/enterprise_search_policy.py +8 -7
  6. rasa/core/policies/flows/flow_executor.py +1 -8
  7. rasa/dialogue_understanding/generator/flow_retrieval.py +9 -10
  8. rasa/dialogue_understanding/generator/llm_based_command_generator.py +15 -4
  9. rasa/dialogue_understanding/generator/llm_command_generator.py +3 -1
  10. rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py +48 -3
  11. rasa/dialogue_understanding/generator/single_step/single_step_based_llm_command_generator.py +15 -1
  12. rasa/hooks.py +55 -0
  13. rasa/llm_fine_tuning/utils.py +4 -2
  14. rasa/model_manager/model_api.py +3 -2
  15. rasa/model_manager/runner_service.py +1 -1
  16. rasa/model_manager/trainer_service.py +9 -12
  17. rasa/model_manager/utils.py +29 -1
  18. rasa/monkey_patches.py +91 -0
  19. rasa/shared/constants.py +6 -0
  20. rasa/shared/core/domain.py +15 -62
  21. rasa/shared/core/flows/flow_step.py +1 -7
  22. rasa/shared/core/flows/yaml_flows_io.py +8 -16
  23. rasa/shared/core/slots.py +0 -4
  24. rasa/shared/importers/importer.py +0 -6
  25. rasa/shared/importers/utils.py +1 -77
  26. rasa/shared/providers/constants.py +10 -0
  27. rasa/shared/providers/llm/_base_litellm_client.py +14 -4
  28. rasa/shared/providers/llm/litellm_router_llm_client.py +23 -12
  29. rasa/shared/providers/llm/llm_client.py +19 -15
  30. rasa/shared/providers/llm/self_hosted_llm_client.py +23 -18
  31. rasa/studio/upload.py +45 -10
  32. rasa/telemetry.py +1 -2
  33. rasa/tracing/instrumentation/attribute_extractors.py +1 -0
  34. rasa/utils/io.py +9 -27
  35. rasa/utils/json_utils.py +1 -6
  36. rasa/utils/log_utils.py +1 -5
  37. rasa/utils/plotting.py +1 -1
  38. rasa/validator.py +3 -7
  39. rasa/version.py +1 -1
  40. {rasa_pro-3.13.1a18.dist-info → rasa_pro-3.13.1.dev1.dist-info}/METADATA +9 -9
  41. {rasa_pro-3.13.1a18.dist-info → rasa_pro-3.13.1.dev1.dist-info}/RECORD +44 -265
  42. rasa/builder/README.md +0 -120
  43. rasa/builder/__init__.py +0 -0
  44. rasa/builder/config.py +0 -79
  45. rasa/builder/create_openai_vector_store.py +0 -228
  46. rasa/builder/exceptions.py +0 -55
  47. rasa/builder/inkeep-rag-response-schema.json +0 -64
  48. rasa/builder/inkeep_document_retrieval.py +0 -212
  49. rasa/builder/llm-helper-schema.json +0 -69
  50. rasa/builder/llm_context.py +0 -81
  51. rasa/builder/llm_helper_prompt.jinja2 +0 -245
  52. rasa/builder/llm_service.py +0 -317
  53. rasa/builder/logging_utils.py +0 -51
  54. rasa/builder/main.py +0 -147
  55. rasa/builder/models.py +0 -225
  56. rasa/builder/project_generator.py +0 -282
  57. rasa/builder/scrape_rasa_docs.py +0 -97
  58. rasa/builder/service.py +0 -742
  59. rasa/builder/skill_to_bot_prompt.jinja2 +0 -164
  60. rasa/builder/training_service.py +0 -132
  61. rasa/builder/validation_service.py +0 -93
  62. rasa/cli/project_templates/finance/actions/__init__.py +0 -0
  63. rasa/cli/project_templates/finance/actions/action_add_payee.py +0 -47
  64. rasa/cli/project_templates/finance/actions/action_ask_account.py +0 -50
  65. rasa/cli/project_templates/finance/actions/action_ask_account_from.py +0 -50
  66. rasa/cli/project_templates/finance/actions/action_ask_card.py +0 -47
  67. rasa/cli/project_templates/finance/actions/action_check_balance.py +0 -40
  68. rasa/cli/project_templates/finance/actions/action_check_card_existence.py +0 -35
  69. rasa/cli/project_templates/finance/actions/action_check_payee_existence.py +0 -40
  70. rasa/cli/project_templates/finance/actions/action_check_sufficient_funds.py +0 -41
  71. rasa/cli/project_templates/finance/actions/action_list_payees.py +0 -45
  72. rasa/cli/project_templates/finance/actions/action_process_immediate_payment.py +0 -18
  73. rasa/cli/project_templates/finance/actions/action_remove_payee.py +0 -49
  74. rasa/cli/project_templates/finance/actions/action_schedule_payment.py +0 -19
  75. rasa/cli/project_templates/finance/actions/action_session_start.py +0 -69
  76. rasa/cli/project_templates/finance/actions/action_update_card_status.py +0 -45
  77. rasa/cli/project_templates/finance/actions/action_validate_payment_date.py +0 -36
  78. rasa/cli/project_templates/finance/actions/database.py +0 -276
  79. rasa/cli/project_templates/finance/config.yml +0 -32
  80. rasa/cli/project_templates/finance/credentials.yml +0 -33
  81. rasa/cli/project_templates/finance/csvs/accounts.csv +0 -8
  82. rasa/cli/project_templates/finance/csvs/advisors.csv +0 -7
  83. rasa/cli/project_templates/finance/csvs/appointments.csv +0 -211
  84. rasa/cli/project_templates/finance/csvs/branches.csv +0 -10
  85. rasa/cli/project_templates/finance/csvs/cards.csv +0 -11
  86. rasa/cli/project_templates/finance/csvs/payees.csv +0 -10
  87. rasa/cli/project_templates/finance/csvs/transactions.csv +0 -71
  88. rasa/cli/project_templates/finance/csvs/users.csv +0 -4
  89. rasa/cli/project_templates/finance/data/flows/add_payee.yml +0 -29
  90. rasa/cli/project_templates/finance/data/flows/block_card.yml +0 -66
  91. rasa/cli/project_templates/finance/data/flows/check_balance.yml +0 -9
  92. rasa/cli/project_templates/finance/data/flows/list_payees.yml +0 -5
  93. rasa/cli/project_templates/finance/data/flows/remove_payee.yml +0 -21
  94. rasa/cli/project_templates/finance/data/flows/select_card.yml +0 -12
  95. rasa/cli/project_templates/finance/data/flows/transfer_money.yml +0 -67
  96. rasa/cli/project_templates/finance/data/flows/welcome.yml +0 -14
  97. rasa/cli/project_templates/finance/data/nlu.yml +0 -29
  98. rasa/cli/project_templates/finance/data/patterns/pattern_chitchat.yml +0 -7
  99. rasa/cli/project_templates/finance/data/patterns/pattern_completed.yml +0 -6
  100. rasa/cli/project_templates/finance/data/patterns/pattern_search.yml +0 -5
  101. rasa/cli/project_templates/finance/data/patterns/pattern_session_start.yml +0 -9
  102. rasa/cli/project_templates/finance/data/source/accounts.json +0 -51
  103. rasa/cli/project_templates/finance/data/source/advisors.json +0 -44
  104. rasa/cli/project_templates/finance/data/source/appointments.json +0 -1474
  105. rasa/cli/project_templates/finance/data/source/branches.json +0 -47
  106. rasa/cli/project_templates/finance/data/source/cards.json +0 -72
  107. rasa/cli/project_templates/finance/data/source/payees.json +0 -74
  108. rasa/cli/project_templates/finance/data/source/transactions.json +0 -492
  109. rasa/cli/project_templates/finance/data/source/users.json +0 -29
  110. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/consequences_of_blocking_card.txt +0 -8
  111. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/reasons_to_block_card.txt +0 -8
  112. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/recovering_from_card_fraud.txt +0 -8
  113. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/tips_for_card_security.txt +0 -8
  114. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/what_to_do_if_card_is_lost.txt +0 -8
  115. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/account_balance_security.txt +0 -7
  116. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/common_balance_inquiries.txt +0 -8
  117. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/methods_to_check_balance.txt +0 -8
  118. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/understanding_balance_updates.txt +0 -8
  119. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/what_to_do_if_balance_is_incorrect.txt +0 -8
  120. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/benefits_of_authorised_payees.txt +0 -8
  121. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/common_issues_with_payees.txt +0 -8
  122. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/general_payee_information.txt +0 -8
  123. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/payee_management_tips.txt +0 -8
  124. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/understanding_payee_types.txt +0 -8
  125. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/common_transfer_errors.txt +0 -8
  126. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/fees_for_transfers.txt +0 -8
  127. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/general_transfer_information.txt +0 -8
  128. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/security_tips_for_transfers.txt +0 -8
  129. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/transfer_processing_times.txt +0 -8
  130. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part1.txt +0 -50
  131. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part10.txt +0 -50
  132. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part11.txt +0 -48
  133. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part12.txt +0 -50
  134. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part13.txt +0 -50
  135. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part14.txt +0 -47
  136. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part15.txt +0 -50
  137. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part16.txt +0 -50
  138. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part17.txt +0 -47
  139. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part18.txt +0 -50
  140. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part19.txt +0 -50
  141. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part2.txt +0 -50
  142. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part20.txt +0 -47
  143. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part21.txt +0 -50
  144. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part22.txt +0 -50
  145. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part23.txt +0 -47
  146. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part24.txt +0 -50
  147. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part25.txt +0 -50
  148. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part26.txt +0 -47
  149. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part27.txt +0 -50
  150. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part28.txt +0 -50
  151. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part29.txt +0 -47
  152. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part3.txt +0 -47
  153. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part30.txt +0 -50
  154. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part31.txt +0 -50
  155. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part32.txt +0 -47
  156. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part33.txt +0 -50
  157. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part34.txt +0 -50
  158. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part35.txt +0 -47
  159. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part36.txt +0 -50
  160. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part37.txt +0 -50
  161. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part38.txt +0 -47
  162. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part39.txt +0 -50
  163. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part4.txt +0 -50
  164. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part40.txt +0 -50
  165. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part41.txt +0 -47
  166. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part42.txt +0 -50
  167. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part43.txt +0 -50
  168. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part44.txt +0 -47
  169. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part45.txt +0 -50
  170. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part46.txt +0 -50
  171. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part47.txt +0 -47
  172. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part48.txt +0 -50
  173. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part49.txt +0 -50
  174. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part5.txt +0 -50
  175. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part50.txt +0 -47
  176. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part51.txt +0 -50
  177. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part52.txt +0 -50
  178. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part53.txt +0 -47
  179. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part54.txt +0 -50
  180. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part55.txt +0 -50
  181. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part56.txt +0 -47
  182. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part57.txt +0 -50
  183. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part58.txt +0 -50
  184. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part59.txt +0 -47
  185. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part6.txt +0 -47
  186. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part60.txt +0 -50
  187. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part61.txt +0 -50
  188. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part7.txt +0 -50
  189. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part8.txt +0 -50
  190. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part9.txt +0 -47
  191. rasa/cli/project_templates/finance/domain/add_payee.yml +0 -47
  192. rasa/cli/project_templates/finance/domain/block_card.yml +0 -101
  193. rasa/cli/project_templates/finance/domain/check_balance.yml +0 -9
  194. rasa/cli/project_templates/finance/domain/default_actions.yml +0 -16
  195. rasa/cli/project_templates/finance/domain/default_flows.yml +0 -33
  196. rasa/cli/project_templates/finance/domain/list_payees.yml +0 -4
  197. rasa/cli/project_templates/finance/domain/remove_payee.yml +0 -16
  198. rasa/cli/project_templates/finance/domain/select_card.yml +0 -12
  199. rasa/cli/project_templates/finance/domain/transfer_money.yml +0 -79
  200. rasa/cli/project_templates/finance/endpoints.yml +0 -62
  201. rasa/cli/project_templates/finance/prompts/command-generator.jinja2 +0 -57
  202. rasa/cli/project_templates/finance/prompts/rephraser_demo_personality_prompt.jinja2 +0 -19
  203. rasa/cli/project_templates/finance/tests/conversation_repair/cancellations.yml +0 -12
  204. rasa/cli/project_templates/finance/tests/conversation_repair/cannot_handle.yml +0 -7
  205. rasa/cli/project_templates/finance/tests/conversation_repair/chitchat.yml +0 -7
  206. rasa/cli/project_templates/finance/tests/conversation_repair/clarification.yml +0 -9
  207. rasa/cli/project_templates/finance/tests/conversation_repair/completion.yml +0 -18
  208. rasa/cli/project_templates/finance/tests/conversation_repair/corrections.yml +0 -17
  209. rasa/cli/project_templates/finance/tests/conversation_repair/digressions.yml +0 -32
  210. rasa/cli/project_templates/finance/tests/conversation_repair/human_handoff.yml +0 -21
  211. rasa/cli/project_templates/finance/tests/conversation_repair/skipping_collect_steps.yml +0 -16
  212. rasa/cli/project_templates/finance/tests/demo_scripts/main.yml +0 -16
  213. rasa/cli/project_templates/finance/tests/happy_paths/balance_verification.yml +0 -15
  214. rasa/cli/project_templates/finance/tests/happy_paths/banking_questions.yml +0 -12
  215. rasa/cli/project_templates/finance/tests/happy_paths/card_blocking.yml +0 -52
  216. rasa/cli/project_templates/finance/tests/happy_paths/money_transfer.yml +0 -136
  217. rasa/cli/project_templates/finance/tests/happy_paths/payee_management.yml +0 -27
  218. rasa/cli/project_templates/finance/tests/happy_paths/user_greeted.yml +0 -5
  219. rasa/cli/project_templates/plain/actions/__init__.py +0 -0
  220. rasa/cli/project_templates/plain/config.yml +0 -17
  221. rasa/cli/project_templates/plain/credentials.yml +0 -33
  222. rasa/cli/project_templates/plain/data/patterns/pattern_session_start.yml +0 -7
  223. rasa/cli/project_templates/plain/domain.yml +0 -5
  224. rasa/cli/project_templates/plain/endpoints.yml +0 -58
  225. rasa/cli/project_templates/telco/actions/__init__.py +0 -0
  226. rasa/cli/project_templates/telco/actions/actions_billing.py +0 -197
  227. rasa/cli/project_templates/telco/actions/actions_get_data_from_db.py +0 -43
  228. rasa/cli/project_templates/telco/actions/actions_run_diagnostics.py +0 -23
  229. rasa/cli/project_templates/telco/actions/actions_session_start.py +0 -13
  230. rasa/cli/project_templates/telco/config.yml +0 -25
  231. rasa/cli/project_templates/telco/credentials.yml +0 -33
  232. rasa/cli/project_templates/telco/csvs/billing.csv +0 -10
  233. rasa/cli/project_templates/telco/csvs/customers.csv +0 -5
  234. rasa/cli/project_templates/telco/data/flows/flow_global.yml +0 -5
  235. rasa/cli/project_templates/telco/data/flows/flow_reboot_router.yml +0 -8
  236. rasa/cli/project_templates/telco/data/flows/flow_reset_router.yml +0 -7
  237. rasa/cli/project_templates/telco/data/flows/flow_solve_internet_issue.yml +0 -73
  238. rasa/cli/project_templates/telco/data/flows/flow_undertand_bill.yml +0 -45
  239. rasa/cli/project_templates/telco/data/patterns/pattern_completed.yml +0 -7
  240. rasa/cli/project_templates/telco/data/patterns/pattern_human_handoff.yml +0 -6
  241. rasa/cli/project_templates/telco/data/patterns/pattern_search.yml +0 -7
  242. rasa/cli/project_templates/telco/data/patterns/pattern_session_start.yml +0 -9
  243. rasa/cli/project_templates/telco/docs/reset_vs_rboot_router.txt +0 -1
  244. rasa/cli/project_templates/telco/docs/restart_router.txt +0 -6
  245. rasa/cli/project_templates/telco/docs/run_speed_test.txt +0 -6
  246. rasa/cli/project_templates/telco/domain/domain_global.yml +0 -29
  247. rasa/cli/project_templates/telco/domain/domain_patterns.yml +0 -17
  248. rasa/cli/project_templates/telco/domain/domain_reboot_router.yml +0 -20
  249. rasa/cli/project_templates/telco/domain/domain_reset_router.yml +0 -11
  250. rasa/cli/project_templates/telco/domain/domain_run_speed_test.yml +0 -24
  251. rasa/cli/project_templates/telco/domain/domain_solve_internet_issue.yml +0 -74
  252. rasa/cli/project_templates/telco/domain/domain_undertand_bill.yml +0 -102
  253. rasa/cli/project_templates/telco/endpoints.yml +0 -60
  254. rasa/cli/project_templates/telco/prompts/command-generator.jinja2 +0 -57
  255. rasa/cli/project_templates/telco/tests/e2e_results_failed.yml +0 -62
  256. rasa/cli/project_templates/telco/tests/e2e_results_passed.yml +0 -130
  257. rasa/cli/project_templates/telco/tests/e2e_test_cases/billing_test_cases.yml +0 -68
  258. rasa/cli/project_templates/telco/tests/e2e_test_cases/global_test_cases.yml +0 -13
  259. rasa/cli/project_templates/telco/tests/e2e_test_cases/internet_slow_test_case.yml +0 -47
  260. rasa/cli/project_templates/telco/tests/e2e_test_cases/out_of_scope_test_case.yml +0 -21
  261. rasa/cli/project_templates/telco/tests/e2e_test_cases/patterns_test_cases.yml +0 -15
  262. rasa/shared/importers/static.py +0 -63
  263. rasa/utils/openapi.py +0 -144
  264. {rasa_pro-3.13.1a18.dist-info → rasa_pro-3.13.1.dev1.dist-info}/NOTICE +0 -0
  265. {rasa_pro-3.13.1a18.dist-info → rasa_pro-3.13.1.dev1.dist-info}/WHEEL +0 -0
  266. {rasa_pro-3.13.1a18.dist-info → rasa_pro-3.13.1.dev1.dist-info}/entry_points.txt +0 -0
@@ -1,21 +1,19 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Dict, List, Protocol, Union, runtime_checkable
3
+ from typing import Any, Dict, List, Optional, Protocol, Union, runtime_checkable
4
4
 
5
5
  from rasa.shared.providers.llm.llm_response import LLMResponse
6
6
 
7
7
 
8
8
  @runtime_checkable
9
9
  class LLMClient(Protocol):
10
- """
11
- Protocol for an LLM client that specifies the interface for interacting
10
+ """Protocol for an LLM client that specifies the interface for interacting
12
11
  with the API.
13
12
  """
14
13
 
15
14
  @classmethod
16
15
  def from_config(cls, config: dict) -> LLMClient:
17
- """
18
- Initializes the llm client with the given configuration.
16
+ """Initializes the llm client with the given configuration.
19
17
 
20
18
  This class method should be implemented to parse the given
21
19
  configuration and create an instance of an llm client.
@@ -24,17 +22,19 @@ class LLMClient(Protocol):
24
22
 
25
23
  @property
26
24
  def config(self) -> Dict:
27
- """
28
- Returns the configuration for that the llm client is initialized with.
25
+ """Returns the configuration for that the llm client is initialized with.
29
26
 
30
27
  This property should be implemented to return a dictionary containing
31
28
  the configuration settings for the llm client.
32
29
  """
33
30
  ...
34
31
 
35
- def completion(self, messages: Union[List[dict], List[str], str]) -> LLMResponse:
36
- """
37
- Synchronously generate completions for given list of messages.
32
+ def completion(
33
+ self,
34
+ messages: Union[List[dict], List[str], str],
35
+ metadata: Optional[Dict[str, Any]] = None,
36
+ ) -> LLMResponse:
37
+ """Synchronously generate completions for given list of messages.
38
38
 
39
39
  This method should be implemented to take a list of messages (as
40
40
  strings) and return a list of completions (as strings).
@@ -48,16 +48,19 @@ class LLMClient(Protocol):
48
48
  - a list of messages. Each message is a string and will be formatted
49
49
  as a user message.
50
50
  - a single message as a string which will be formatted as user message.
51
+ metadata: Optional metadata to be passed to the LLM call.
52
+
51
53
  Returns:
52
54
  LLMResponse
53
55
  """
54
56
  ...
55
57
 
56
58
  async def acompletion(
57
- self, messages: Union[List[dict], List[str], str]
59
+ self,
60
+ messages: Union[List[dict], List[str], str],
61
+ metadata: Optional[Dict[str, Any]] = None,
58
62
  ) -> LLMResponse:
59
- """
60
- Asynchronously generate completions for given list of messages.
63
+ """Asynchronously generate completions for given list of messages.
61
64
 
62
65
  This method should be implemented to take a list of messages (as
63
66
  strings) and return a list of completions (as strings).
@@ -71,14 +74,15 @@ class LLMClient(Protocol):
71
74
  - a list of messages. Each message is a string and will be formatted
72
75
  as a user message.
73
76
  - a single message as a string which will be formatted as user message.
77
+ metadata: Optional metadata to be passed to the LLM call.
78
+
74
79
  Returns:
75
80
  LLMResponse
76
81
  """
77
82
  ...
78
83
 
79
84
  def validate_client_setup(self, *args, **kwargs) -> None: # type: ignore
80
- """
81
- Perform client setup validation.
85
+ """Perform client setup validation.
82
86
 
83
87
  This method should be implemented to validate whether the client can be
84
88
  used with the parameters provided through configuration or environment
@@ -95,8 +95,7 @@ class SelfHostedLLMClient(_BaseLiteLLMClient):
95
95
 
96
96
  @property
97
97
  def provider(self) -> str:
98
- """
99
- Returns the provider name for the self hosted llm client.
98
+ """Returns the provider name for the self hosted llm client.
100
99
 
101
100
  Returns:
102
101
  String representing the provider name.
@@ -105,8 +104,7 @@ class SelfHostedLLMClient(_BaseLiteLLMClient):
105
104
 
106
105
  @property
107
106
  def model(self) -> str:
108
- """
109
- Returns the model name for the self hosted llm client.
107
+ """Returns the model name for the self hosted llm client.
110
108
 
111
109
  Returns:
112
110
  String representing the model name.
@@ -115,8 +113,7 @@ class SelfHostedLLMClient(_BaseLiteLLMClient):
115
113
 
116
114
  @property
117
115
  def api_base(self) -> str:
118
- """
119
- Returns the base URL for the API endpoint.
116
+ """Returns the base URL for the API endpoint.
120
117
 
121
118
  Returns:
122
119
  String representing the base URL.
@@ -125,8 +122,7 @@ class SelfHostedLLMClient(_BaseLiteLLMClient):
125
122
 
126
123
  @property
127
124
  def api_type(self) -> Optional[str]:
128
- """
129
- Returns the type of the API endpoint. Currently only OpenAI is supported.
125
+ """Returns the type of the API endpoint. Currently only OpenAI is supported.
130
126
 
131
127
  Returns:
132
128
  String representing the API type.
@@ -135,8 +131,7 @@ class SelfHostedLLMClient(_BaseLiteLLMClient):
135
131
 
136
132
  @property
137
133
  def api_version(self) -> Optional[str]:
138
- """
139
- Returns the version of the API endpoint.
134
+ """Returns the version of the API endpoint.
140
135
 
141
136
  Returns:
142
137
  String representing the API version.
@@ -145,8 +140,8 @@ class SelfHostedLLMClient(_BaseLiteLLMClient):
145
140
 
146
141
  @property
147
142
  def config(self) -> Dict:
148
- """
149
- Returns the configuration for the self hosted llm client.
143
+ """Returns the configuration for the self hosted llm client.
144
+
150
145
  Returns:
151
146
  Dictionary containing the configuration.
152
147
  """
@@ -195,13 +190,14 @@ class SelfHostedLLMClient(_BaseLiteLLMClient):
195
190
 
196
191
  @suppress_logs(log_level=logging.WARNING)
197
192
  def _text_completion(self, prompt: Union[List[str], str]) -> LLMResponse:
198
- """
199
- Synchronously generate completions for given prompt.
193
+ """Synchronously generate completions for given prompt.
200
194
 
201
195
  Args:
202
196
  prompt: Prompt to generate the completion for.
197
+
203
198
  Returns:
204
199
  List of message completions.
200
+
205
201
  Raises:
206
202
  ProviderClientAPIException: If the API request fails.
207
203
  """
@@ -213,8 +209,7 @@ class SelfHostedLLMClient(_BaseLiteLLMClient):
213
209
 
214
210
  @suppress_logs(log_level=logging.WARNING)
215
211
  async def _atext_completion(self, prompt: Union[List[str], str]) -> LLMResponse:
216
- """
217
- Asynchronously generate completions for given prompt.
212
+ """Asynchronously generate completions for given prompt.
218
213
 
219
214
  Args:
220
215
  messages: The message can be,
@@ -225,8 +220,10 @@ class SelfHostedLLMClient(_BaseLiteLLMClient):
225
220
  - a list of messages. Each message is a string and will be formatted
226
221
  as a user message.
227
222
  - a single message as a string which will be formatted as user message.
223
+
228
224
  Returns:
229
225
  List of message completions.
226
+
230
227
  Raises:
231
228
  ProviderClientAPIException: If the API request fails.
232
229
  """
@@ -237,7 +234,9 @@ class SelfHostedLLMClient(_BaseLiteLLMClient):
237
234
  raise ProviderClientAPIException(e)
238
235
 
239
236
  async def acompletion(
240
- self, messages: Union[List[dict], List[str], str]
237
+ self,
238
+ messages: Union[List[dict], List[str], str],
239
+ metadata: Optional[Dict[str, Any]] = None,
241
240
  ) -> LLMResponse:
242
241
  """Asynchronous completion of the model with the given messages.
243
242
 
@@ -255,6 +254,7 @@ class SelfHostedLLMClient(_BaseLiteLLMClient):
255
254
  - a list of messages. Each message is a string and will be formatted
256
255
  as a user message.
257
256
  - a single message as a string which will be formatted as user message.
257
+ metadata: Optional metadata to be passed to the LLM call.
258
258
 
259
259
  Returns:
260
260
  The completion response.
@@ -263,7 +263,11 @@ class SelfHostedLLMClient(_BaseLiteLLMClient):
263
263
  return await super().acompletion(messages)
264
264
  return await self._atext_completion(messages)
265
265
 
266
- def completion(self, messages: Union[List[dict], List[str], str]) -> LLMResponse:
266
+ def completion(
267
+ self,
268
+ messages: Union[List[dict], List[str], str],
269
+ metadata: Optional[Dict[str, Any]] = None,
270
+ ) -> LLMResponse:
267
271
  """Completion of the model with the given messages.
268
272
 
269
273
  Method overrides the base class method to call the appropriate
@@ -273,6 +277,7 @@ class SelfHostedLLMClient(_BaseLiteLLMClient):
273
277
 
274
278
  Args:
275
279
  messages: The messages to be used for completion.
280
+ metadata: Optional metadata to be passed to the LLM call.
276
281
 
277
282
  Returns:
278
283
  The completion response.
rasa/studio/upload.py CHANGED
@@ -7,6 +7,7 @@ from typing import Any, Dict, Iterable, List, Optional, Set, Text, Tuple, Union
7
7
  import questionary
8
8
  import requests
9
9
  import structlog
10
+ from pydantic import BaseModel, Field
10
11
 
11
12
  import rasa.cli.telemetry
12
13
  import rasa.cli.utils
@@ -23,13 +24,9 @@ from rasa.shared.constants import (
23
24
  DEFAULT_DOMAIN_PATHS,
24
25
  )
25
26
  from rasa.shared.core.domain import Domain
26
- from rasa.shared.core.flows.yaml_flows_io import YAMLFlowsReader
27
+ from rasa.shared.core.flows.yaml_flows_io import YAMLFlowsReader, YamlFlowsWriter
27
28
  from rasa.shared.exceptions import RasaException
28
- from rasa.shared.importers.importer import TrainingDataImporter
29
- from rasa.shared.importers.utils import (
30
- CALMUserData,
31
- extract_calm_import_parts_from_importer,
32
- )
29
+ from rasa.shared.importers.importer import FlowSyncImporter, TrainingDataImporter
33
30
  from rasa.shared.nlu.training_data.formats.rasa_yaml import (
34
31
  RasaYAMLReader,
35
32
  RasaYAMLWriter,
@@ -37,6 +34,7 @@ from rasa.shared.nlu.training_data.formats.rasa_yaml import (
37
34
  from rasa.shared.utils.llm import collect_custom_prompts
38
35
  from rasa.shared.utils.yaml import (
39
36
  dump_obj_as_yaml_to_string,
37
+ read_yaml,
40
38
  read_yaml_file,
41
39
  )
42
40
  from rasa.studio import results_logger
@@ -45,7 +43,6 @@ from rasa.studio.config import StudioConfig
45
43
  from rasa.studio.results_logger import StudioResult, with_studio_error_handler
46
44
  from rasa.studio.utils import validate_argument_paths
47
45
  from rasa.telemetry import track_upload_to_studio_failed
48
- from rasa.utils.json_utils import extract_values
49
46
 
50
47
  structlogger = structlog.get_logger()
51
48
 
@@ -71,6 +68,16 @@ DOMAIN_KEYS = [
71
68
  ]
72
69
 
73
70
 
71
+ class CALMImportParts(BaseModel):
72
+ """All pieces that will be uploaded to Rasa Studio."""
73
+
74
+ flows: Dict[str, Any]
75
+ domain: Dict[str, Any]
76
+ config: Dict[str, Any]
77
+ endpoints: Dict[str, Any]
78
+ nlu: Dict[str, Any] = Field(default_factory=dict)
79
+
80
+
74
81
  def _get_selected_entities_and_intents(
75
82
  args: argparse.Namespace,
76
83
  intents_from_files: Set[Text],
@@ -187,6 +194,11 @@ config_keys = [
187
194
  ]
188
195
 
189
196
 
197
+ def extract_values(data: Dict, keys: List[Text]) -> Dict:
198
+ """Extracts values for given keys from a dictionary."""
199
+ return {key: data.get(key) for key in keys if data.get(key)}
200
+
201
+
190
202
  def _get_assistant_name(config: Dict[Text, Any]) -> str:
191
203
  config_assistant_id = config.get("assistant_id", "")
192
204
  assistant_name = questionary.text(
@@ -225,7 +237,7 @@ def build_calm_import_parts(
225
237
  config_path: Text,
226
238
  endpoints_path: Optional[Text] = None,
227
239
  assistant_name: Optional[Text] = None,
228
- ) -> Tuple[str, CALMUserData]:
240
+ ) -> Tuple[str, CALMImportParts]:
229
241
  """Builds the parts of the assistant to be uploaded to Studio.
230
242
 
231
243
  Args:
@@ -248,10 +260,33 @@ def build_calm_import_parts(
248
260
  endpoints = read_yaml_file(endpoints_path, expand_env_vars=False)
249
261
  assistant_name = assistant_name or _get_assistant_name(config)
250
262
 
251
- parts = extract_calm_import_parts_from_importer(
252
- importer=importer,
263
+ domain_from_files = importer.get_user_domain().as_dict()
264
+ domain = extract_values(domain_from_files, DOMAIN_KEYS)
265
+
266
+ flow_importer = FlowSyncImporter.load_from_dict(
267
+ training_data_paths=[str(data_path)], expand_env_vars=False
268
+ )
269
+
270
+ flows = list(flow_importer.get_user_flows())
271
+ flows_yaml = YamlFlowsWriter().dumps(flows)
272
+ flows = read_yaml(flows_yaml, expand_env_vars=False)
273
+
274
+ nlu_importer = TrainingDataImporter.load_from_dict(
275
+ training_data_paths=[str(data_path)], expand_env_vars=False
276
+ )
277
+ nlu_data = nlu_importer.get_nlu_data()
278
+ nlu_examples = nlu_data.filter_training_examples(
279
+ lambda ex: ex.get("intent") in nlu_data.intents
280
+ )
281
+ nlu_examples_yaml = RasaYAMLWriter().dumps(nlu_examples)
282
+ nlu = read_yaml(nlu_examples_yaml, expand_env_vars=False)
283
+
284
+ parts = CALMImportParts(
285
+ flows=flows,
286
+ domain=domain,
253
287
  config=config,
254
288
  endpoints=endpoints,
289
+ nlu=nlu,
255
290
  )
256
291
 
257
292
  return assistant_name, parts
rasa/telemetry.py CHANGED
@@ -1426,7 +1426,6 @@ def track_shell_started(model_type: Text, assistant_id: Text) -> None:
1426
1426
 
1427
1427
  Args:
1428
1428
  model_type: Type of the model, core / nlu or rasa.
1429
- assistant_id: ID of the assistant being inspected.
1430
1429
  """
1431
1430
  _track(
1432
1431
  TELEMETRY_SHELL_STARTED_EVENT,
@@ -1998,7 +1997,7 @@ def _extract_stream_pii(event_broker: Optional["EventBroker"]) -> bool:
1998
1997
  def track_privacy_enabled(
1999
1998
  privacy_config: "PrivacyConfig", event_broker: Optional["EventBroker"]
2000
1999
  ) -> None:
2001
- """Track when PII management capability is enabled."""
2000
+ """Track when PII management capability is enabled"""
2002
2001
  stream_pii = _extract_stream_pii(event_broker)
2003
2002
  privacy_properties = _extract_privacy_enabled_event_properties(
2004
2003
  privacy_config, stream_pii
@@ -383,6 +383,7 @@ def extract_llm_config(
383
383
  def extract_attrs_for_llm_based_command_generator(
384
384
  self: "LLMBasedCommandGenerator",
385
385
  prompt: str,
386
+ metadata: Optional[Dict[str, Any]] = None,
386
387
  ) -> Dict[str, Any]:
387
388
  from rasa.dialogue_understanding.generator.flow_retrieval import (
388
389
  DEFAULT_EMBEDDINGS_CONFIG,
rasa/utils/io.py CHANGED
@@ -26,7 +26,6 @@ from typing_extensions import Protocol
26
26
 
27
27
  import rasa.shared.constants
28
28
  import rasa.shared.utils.io
29
- from rasa.shared.exceptions import RasaException
30
29
 
31
30
  if TYPE_CHECKING:
32
31
  from prompt_toolkit.validation import Validator
@@ -125,7 +124,9 @@ def create_path(file_path: Text) -> None:
125
124
  def file_type_validator(
126
125
  valid_file_types: List[Text], error_message: Text
127
126
  ) -> Type["Validator"]:
128
- """Creates a file type validator class for the questionary package."""
127
+ """Creates a `Validator` class which can be used with `questionary` to validate
128
+ file paths.
129
+ """
129
130
 
130
131
  def is_valid(path: Text) -> bool:
131
132
  return path is not None and any(
@@ -136,7 +137,9 @@ def file_type_validator(
136
137
 
137
138
 
138
139
  def not_empty_validator(error_message: Text) -> Type["Validator"]:
139
- """Creates a not empty validator class for the questionary package."""
140
+ """Creates a `Validator` class which can be used with `questionary` to validate
141
+ that the user entered something other than whitespace.
142
+ """
140
143
 
141
144
  def is_valid(input: Text) -> bool:
142
145
  return input is not None and input.strip() != ""
@@ -147,7 +150,9 @@ def not_empty_validator(error_message: Text) -> Type["Validator"]:
147
150
  def create_validator(
148
151
  function: Callable[[Text], bool], error_message: Text
149
152
  ) -> Type["Validator"]:
150
- """Helper method to create a validator class from a callable function."""
153
+ """Helper method to create `Validator` classes from callable functions. Should be
154
+ removed when questionary supports `Validator` objects.
155
+ """
151
156
  from prompt_toolkit.document import Document
152
157
  from prompt_toolkit.validation import ValidationError, Validator
153
158
 
@@ -245,26 +250,3 @@ def write_yaml(
245
250
 
246
251
  with Path(target).open("w", encoding="utf-8") as outfile:
247
252
  dumper.dump(data, outfile, transform=transform)
248
-
249
-
250
- class InvalidPathException(RasaException):
251
- """Raised if a path is invalid - e.g. path traversal is detected."""
252
-
253
-
254
- def subpath(parent: str, child: str) -> str:
255
- """Return the path to the child directory of the parent directory.
256
-
257
- Ensures, that child doesn't navigate to parent directories. Prevents
258
- path traversal. Raises an InvalidPathException if the path is invalid.
259
-
260
- Based on Snyk's directory traversal mitigation:
261
- https://learn.snyk.io/lesson/directory-traversal/
262
- """
263
- safe_path = os.path.abspath(os.path.join(parent, child))
264
- parent = os.path.abspath(parent)
265
-
266
- common_base = os.path.commonpath([parent, safe_path])
267
- if common_base != parent:
268
- raise InvalidPathException(f"Invalid path: {safe_path}")
269
-
270
- return safe_path
rasa/utils/json_utils.py CHANGED
@@ -1,6 +1,6 @@
1
1
  import json
2
2
  from decimal import Decimal
3
- from typing import Any, Dict, List, Text
3
+ from typing import Any, Text
4
4
 
5
5
 
6
6
  class DecimalEncoder(json.JSONEncoder):
@@ -58,8 +58,3 @@ def replace_decimals_with_floats(obj: Any) -> Any:
58
58
  Input `obj` with all `Decimal` types replaced by `float`s.
59
59
  """
60
60
  return json.loads(json.dumps(obj, cls=DecimalEncoder))
61
-
62
-
63
- def extract_values(data: Dict, keys: List[Text]) -> Dict:
64
- """Extracts values for given keys from a dictionary."""
65
- return {key: data.get(key) for key in keys if data.get(key)}
rasa/utils/log_utils.py CHANGED
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  import logging
4
4
  import os
5
5
  import sys
6
- from typing import Any, List, Optional
6
+ from typing import Any, Optional
7
7
 
8
8
  import structlog
9
9
  from structlog.dev import ConsoleRenderer
@@ -37,7 +37,6 @@ class HumanConsoleRenderer(ConsoleRenderer):
37
37
  def configure_structlog(
38
38
  log_level: Optional[int] = None,
39
39
  include_time: bool = False,
40
- additional_processors: Optional[List[structlog.processors.Processor]] = None,
41
40
  ) -> None:
42
41
  """Configure logging of the server."""
43
42
  if log_level is None: # Log level NOTSET is 0 so we use `is None` here
@@ -76,9 +75,6 @@ def configure_structlog(
76
75
  if include_time:
77
76
  shared_processors.append(structlog.processors.TimeStamper(fmt="iso"))
78
77
 
79
- if additional_processors:
80
- shared_processors.extend(additional_processors)
81
-
82
78
  if not FORCE_JSON_LOGGING and sys.stderr.isatty():
83
79
  # Pretty printing when we run in a terminal session.
84
80
  # Automatically prints pretty tracebacks when "rich" is installed
rasa/utils/plotting.py CHANGED
@@ -99,7 +99,7 @@ def plot_confusion_matrix(
99
99
  zmax = confusion_matrix.max() if len(confusion_matrix) > 0 else 1
100
100
  plt.clf()
101
101
  if not color_map:
102
- color_map = plt.cm.get_cmap("Blues")
102
+ color_map = plt.cm.Blues
103
103
  plt.imshow(
104
104
  confusion_matrix,
105
105
  interpolation="nearest",
rasa/validator.py CHANGED
@@ -630,14 +630,11 @@ class Validator:
630
630
  flow_id: str,
631
631
  ) -> bool:
632
632
  """Validates that a collect step can have either an action or an utterance.
633
-
634
633
  Also logs an error if neither an action nor an utterance is defined.
635
634
 
636
635
  Args:
637
636
  collect: the name of the slot to collect
638
637
  all_good: boolean value indicating the validation status
639
- domain_slots: the slots of the domain
640
- flow_id: the id of the flow
641
638
 
642
639
  Returns:
643
640
  False, if validation failed, true, otherwise
@@ -686,10 +683,9 @@ class Validator:
686
683
  has_action_defined=has_action_defined,
687
684
  flow=flow_id,
688
685
  event_info=(
689
- f"The collect step '{collect.collect}' has neither a response "
690
- f"nor an action defined, nor an initial value defined in the "
691
- f"domain. You can fix this by adding a response named "
692
- f"'{collect.utter}' used in the collect step."
686
+ f"The collect step '{collect.collect}' has neither an utterance "
687
+ f"nor an action defined, or an initial value defined in the domain."
688
+ f"You need to define either an utterance or an action."
693
689
  ),
694
690
  )
695
691
  all_good = False
rasa/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  # this file will automatically be changed,
2
2
  # do not add anything but the version number here!
3
- __version__ = "3.13.1a18"
3
+ __version__ = "3.13.1.dev1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rasa-pro
3
- Version: 3.13.1a18
3
+ Version: 3.13.1.dev1
4
4
  Summary: State-of-the-art open-core Conversational AI framework for Enterprises that natively leverages generative AI for effortless assistant development.
5
5
  Keywords: nlp,machine-learning,machine-learning-library,bot,bots,botkit,rasa conversational-agents,conversational-ai,chatbot,chatbot-framework,bot-framework
6
6
  Author: Rasa Technologies GmbH
@@ -41,11 +41,11 @@ Requires-Dist: colorhash (>=2.0,<2.1.0)
41
41
  Requires-Dist: confluent-kafka (>=2.10.0,<3.0.0)
42
42
  Requires-Dist: cryptography (>=44.0.1)
43
43
  Requires-Dist: cvg-python-sdk (>=0.5.1,<0.6.0)
44
- Requires-Dist: dask (>=2024.8.0,<2024.9.0)
44
+ Requires-Dist: dask (>=2024.7.0,<2024.8.0)
45
45
  Requires-Dist: demoji (>=1.1.0,<2.0.0)
46
46
  Requires-Dist: diskcache (>=5.6.3,<5.7.0)
47
47
  Requires-Dist: dnspython (==2.6.1)
48
- Requires-Dist: faiss-cpu (>=1.11.0,<1.12.0)
48
+ Requires-Dist: faiss-cpu (>=1.7.4,<2.0.0)
49
49
  Requires-Dist: fbmessenger (>=6.0.0,<6.1.0)
50
50
  Requires-Dist: github3.py (>=3.2.0,<3.3.0) ; extra == "gh-release-notes"
51
51
  Requires-Dist: gitpython (>=3.1.41,<3.2.0) ; extra == "full"
@@ -64,8 +64,9 @@ Requires-Dist: keras (==2.14.0)
64
64
  Requires-Dist: langchain (>=0.2.17,<0.3.0)
65
65
  Requires-Dist: langchain-community (>=0.2.19,<0.3.0)
66
66
  Requires-Dist: langcodes (>=3.5.0,<4.0.0)
67
+ Requires-Dist: langfuse (>=2.60.2,<2.61.0)
67
68
  Requires-Dist: litellm (>=1.69.0,<1.70.0)
68
- Requires-Dist: matplotlib (>=3.9.4,<3.10.0)
69
+ Requires-Dist: matplotlib (>=3.7,<3.8)
69
70
  Requires-Dist: mattermostwrapper (>=2.2,<2.3)
70
71
  Requires-Dist: networkx (>=3.1,<3.2)
71
72
  Requires-Dist: numpy (>=1.26.4,<1.27.0)
@@ -110,15 +111,14 @@ Requires-Dist: safetensors (>=0.4.5,<0.5.0)
110
111
  Requires-Dist: sanic (>=22.12,<22.13)
111
112
  Requires-Dist: sanic-cors (>=2.2.0,<2.3.0)
112
113
  Requires-Dist: sanic-jwt (>=1.8.0,<2.0.0)
113
- Requires-Dist: sanic-openapi (>=21.12.0,<22.0.0)
114
114
  Requires-Dist: sanic-routing (>=22.8.0,<23.0.0)
115
- Requires-Dist: scikit-learn (>=1.6.1,<1.7.0)
115
+ Requires-Dist: scikit-learn (>=1.5.1,<1.6.0)
116
116
  Requires-Dist: scipy (>=1.13.1,<1.14.0)
117
117
  Requires-Dist: sentencepiece[sentencepiece] (>=0.1.99,<0.2.0) ; extra == "transformers" or extra == "full"
118
118
  Requires-Dist: sentry-sdk (>=2.8.0,<3)
119
119
  Requires-Dist: setuptools (>=78.1.1,<78.2.0)
120
- Requires-Dist: sklearn-crfsuite (>=0.5.0,<0.6.0)
121
- Requires-Dist: skops (>=0.11.0,<0.12.0)
120
+ Requires-Dist: sklearn-crfsuite (>=0.3.6,<0.4.0)
121
+ Requires-Dist: skops (>=0.10.0,<0.11.0)
122
122
  Requires-Dist: slack-sdk (>=3.27.1,<3.28.0)
123
123
  Requires-Dist: spacy (>=3.5.4,<4.0.0) ; extra == "spacy" or extra == "full"
124
124
  Requires-Dist: structlog (>=23.1.0,<23.2.0)
@@ -136,7 +136,7 @@ Requires-Dist: tensorflow-metal (==1.1.0) ; (sys_platform == "darwin" and platfo
136
136
  Requires-Dist: tensorflow-text (==2.14.0) ; sys_platform != "win32" and platform_machine != "arm64" and platform_machine != "aarch64"
137
137
  Requires-Dist: tensorflow_hub (>=0.13.0,<0.14.0)
138
138
  Requires-Dist: terminaltables (>=3.1.10,<3.2.0)
139
- Requires-Dist: tiktoken (>=0.9.0,<0.10.0)
139
+ Requires-Dist: tiktoken (>=0.7.0,<0.8.0)
140
140
  Requires-Dist: tqdm (>=4.66.2,<5.0.0)
141
141
  Requires-Dist: transformers (>=4.38.2,<4.39.0) ; extra == "transformers" or extra == "full"
142
142
  Requires-Dist: twilio (>=8.4,<8.5)