rasa-pro 3.13.0.dev7__py3-none-any.whl → 3.13.0.dev9__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.
- rasa/__main__.py +0 -3
- rasa/api.py +1 -1
- rasa/cli/dialogue_understanding_test.py +1 -1
- rasa/cli/e2e_test.py +1 -1
- rasa/cli/evaluate.py +1 -1
- rasa/cli/export.py +1 -1
- rasa/cli/llm_fine_tuning.py +12 -11
- rasa/cli/project_templates/defaults.py +133 -0
- rasa/cli/run.py +1 -1
- rasa/cli/studio/link.py +53 -0
- rasa/cli/studio/pull.py +78 -0
- rasa/cli/studio/push.py +78 -0
- rasa/cli/studio/studio.py +12 -0
- rasa/cli/studio/upload.py +8 -0
- rasa/cli/train.py +1 -1
- rasa/cli/utils.py +1 -1
- rasa/cli/x.py +1 -1
- rasa/constants.py +2 -0
- rasa/core/__init__.py +0 -16
- rasa/core/actions/action.py +5 -1
- rasa/core/actions/action_repeat_bot_messages.py +18 -22
- rasa/core/actions/action_run_slot_rejections.py +0 -1
- rasa/core/agent.py +16 -1
- rasa/core/available_endpoints.py +146 -0
- rasa/core/brokers/pika.py +1 -2
- rasa/core/channels/botframework.py +2 -2
- rasa/core/channels/channel.py +2 -2
- rasa/core/channels/development_inspector.py +1 -1
- rasa/core/channels/facebook.py +1 -4
- rasa/core/channels/hangouts.py +8 -5
- rasa/core/channels/inspector/README.md +3 -3
- rasa/core/channels/inspector/dist/assets/{arc-c4b064fc.js → arc-02053cc1.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-215b5026.js → blockDiagram-38ab4fdb-008b6289.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-2b54a0a3.js → c4Diagram-3d4e48cf-fb2597be.js} +1 -1
- rasa/core/channels/inspector/dist/assets/channel-078dada8.js +1 -0
- rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-daacea5f.js → classDiagram-70f12bd4-7f847e00.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-930d4dc2.js → classDiagram-v2-f2320105-ba1d689b.js} +1 -1
- rasa/core/channels/inspector/dist/assets/clone-5b4516de.js +1 -0
- rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-83c206ba.js → createText-2e5e7dd3-dd8e67c4.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-b0eb01d0.js → edges-e0da2a9e-10784939.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-17586500.js → erDiagram-9861fffd-24947ae6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-be2a1776.js → flowDb-956e92f1-a9ced505.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-c2120ebd.js → flowDiagram-66a62f08-afda9c7c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-f9613071.js +1 -0
- rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-a6ab5c48.js → flowchart-elk-definition-4a651766-6ef530b8.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-ef613457.js → ganttDiagram-c361ad54-0c7dd39a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-d59185b3.js → gitGraphDiagram-72cf32ee-b57239d6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{graph-0f155405.js → graph-9ed57cec.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-3862675e-d5f1d1b7.js → index-3862675e-233090de.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-47737d3a.js → index-72184470.js} +3 -3
- rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-b07d141f.js → infoDiagram-f8f76790-aa116649.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-1936d429.js → journeyDiagram-49397b02-e51877cc.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{layout-dde8d0f3.js → layout-3ca3798c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{line-0c2c7ee0.js → line-26ee10d3.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{linear-35dd89a4.js → linear-aedded32.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-56192851.js → mindmap-definition-fc14e90a-d8957261.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-fc21ed78.js → pieDiagram-8a3498a8-d771f885.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-25e98518.js → quadrantDiagram-120e2f19-09fdf50c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-546ff1f5.js → requirementDiagram-deff3bca-9f0af02e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-02d8b82d.js → sankeyDiagram-04a897e0-84415b37.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-3ca5a92e.js → sequenceDiagram-704730f1-8dec4055.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-128ea07c.js → stateDiagram-587899a1-c5431d07.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-95f290af.js → stateDiagram-v2-d93cdb3a-274e77d9.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-4984898a.js → styles-6aaf32cf-e364a1d7.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-9a916d00-1bf266ba.js → styles-9a916d00-0dae36f6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-c10674c1-60521c63.js → styles-c10674c1-c4641675.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-a25b6e12.js → svgDrawCommon-08f97a94-831fe9a1.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-0fc086bf.js → timeline-definition-85554ec2-c3304b3a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-44ee592e.js → xychartDiagram-e933f94c-da799369.js} +1 -1
- rasa/core/channels/inspector/dist/index.html +1 -1
- rasa/core/channels/inspector/src/components/RecruitmentPanel.tsx +1 -1
- rasa/core/channels/mattermost.py +1 -1
- rasa/core/channels/rasa_chat.py +2 -4
- rasa/core/channels/rest.py +5 -4
- rasa/core/channels/socketio.py +56 -41
- rasa/core/channels/studio_chat.py +314 -10
- rasa/core/channels/vier_cvg.py +1 -2
- rasa/core/channels/voice_ready/audiocodes.py +2 -9
- rasa/core/channels/voice_stream/audiocodes.py +8 -5
- rasa/core/channels/voice_stream/browser_audio.py +1 -1
- rasa/core/channels/voice_stream/genesys.py +2 -2
- rasa/core/channels/voice_stream/tts/__init__.py +8 -0
- rasa/core/channels/voice_stream/twilio_media_streams.py +10 -5
- rasa/core/channels/voice_stream/voice_channel.py +39 -23
- rasa/core/http_interpreter.py +3 -7
- rasa/core/information_retrieval/faiss.py +18 -11
- rasa/core/information_retrieval/ingestion/__init__.py +0 -0
- rasa/core/information_retrieval/ingestion/faq_parser.py +158 -0
- rasa/core/jobs.py +2 -1
- rasa/core/nlg/contextual_response_rephraser.py +44 -10
- rasa/core/nlg/generator.py +0 -1
- rasa/core/nlg/interpolator.py +2 -3
- rasa/core/nlg/summarize.py +39 -5
- rasa/core/policies/enterprise_search_policy.py +262 -62
- rasa/core/policies/enterprise_search_prompt_with_relevancy_check_and_citation_template.jinja2 +63 -0
- rasa/core/policies/flow_policy.py +1 -1
- rasa/core/policies/flows/flow_executor.py +96 -17
- rasa/core/policies/intentless_policy.py +56 -17
- rasa/core/processor.py +104 -51
- rasa/core/run.py +33 -11
- rasa/core/tracker_stores/tracker_store.py +1 -1
- rasa/core/training/interactive.py +1 -1
- rasa/core/utils.py +24 -97
- rasa/dialogue_understanding/coexistence/intent_based_router.py +2 -1
- rasa/dialogue_understanding/coexistence/llm_based_router.py +9 -6
- rasa/dialogue_understanding/commands/can_not_handle_command.py +2 -0
- rasa/dialogue_understanding/commands/cancel_flow_command.py +5 -1
- rasa/dialogue_understanding/commands/chit_chat_answer_command.py +2 -0
- rasa/dialogue_understanding/commands/clarify_command.py +5 -1
- rasa/dialogue_understanding/commands/command_syntax_manager.py +1 -0
- rasa/dialogue_understanding/commands/correct_slots_command.py +1 -3
- rasa/dialogue_understanding/commands/human_handoff_command.py +2 -0
- rasa/dialogue_understanding/commands/knowledge_answer_command.py +4 -2
- rasa/dialogue_understanding/commands/repeat_bot_messages_command.py +2 -0
- rasa/dialogue_understanding/commands/set_slot_command.py +11 -1
- rasa/dialogue_understanding/commands/skip_question_command.py +2 -0
- rasa/dialogue_understanding/commands/start_flow_command.py +4 -0
- rasa/dialogue_understanding/commands/utils.py +26 -2
- rasa/dialogue_understanding/generator/__init__.py +7 -1
- rasa/dialogue_understanding/generator/command_generator.py +4 -2
- rasa/dialogue_understanding/generator/command_parser.py +2 -2
- rasa/dialogue_understanding/generator/command_parser_validator.py +63 -0
- rasa/dialogue_understanding/generator/nlu_command_adapter.py +2 -2
- rasa/dialogue_understanding/generator/prompt_templates/command_prompt_v2_gpt_4o_2024_11_20_template.jinja2 +12 -33
- rasa/dialogue_understanding/generator/prompt_templates/command_prompt_v3_gpt_4o_2024_11_20_template.jinja2 +78 -0
- rasa/dialogue_understanding/generator/single_step/compact_llm_command_generator.py +26 -461
- rasa/dialogue_understanding/generator/single_step/search_ready_llm_command_generator.py +147 -0
- rasa/dialogue_understanding/generator/single_step/single_step_based_llm_command_generator.py +477 -0
- rasa/dialogue_understanding/generator/single_step/single_step_llm_command_generator.py +11 -64
- rasa/dialogue_understanding/patterns/cancel.py +1 -2
- rasa/dialogue_understanding/patterns/clarify.py +1 -1
- rasa/dialogue_understanding/patterns/correction.py +2 -2
- rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +37 -25
- rasa/dialogue_understanding/patterns/domain_for_patterns.py +190 -0
- rasa/dialogue_understanding/processor/command_processor.py +6 -7
- rasa/dialogue_understanding/processor/command_processor_component.py +3 -3
- rasa/dialogue_understanding/stack/frames/flow_stack_frame.py +17 -4
- rasa/dialogue_understanding/stack/utils.py +3 -1
- rasa/dialogue_understanding/utils.py +68 -12
- rasa/dialogue_understanding_test/du_test_case.py +1 -1
- rasa/dialogue_understanding_test/du_test_runner.py +4 -22
- rasa/dialogue_understanding_test/test_case_simulation/test_case_tracker_simulator.py +2 -6
- rasa/e2e_test/e2e_test_runner.py +1 -1
- rasa/engine/constants.py +1 -1
- rasa/engine/graph.py +2 -2
- rasa/engine/recipes/default_recipe.py +26 -2
- rasa/engine/validation.py +3 -2
- rasa/hooks.py +0 -28
- rasa/llm_fine_tuning/annotation_module.py +39 -9
- rasa/llm_fine_tuning/conversations.py +3 -0
- rasa/llm_fine_tuning/llm_data_preparation_module.py +66 -49
- rasa/llm_fine_tuning/paraphrasing/conversation_rephraser.py +1 -5
- rasa/llm_fine_tuning/paraphrasing/rephrase_validator.py +52 -44
- rasa/llm_fine_tuning/paraphrasing_module.py +10 -12
- rasa/llm_fine_tuning/storage.py +4 -4
- rasa/llm_fine_tuning/utils.py +63 -1
- rasa/model_manager/model_api.py +88 -0
- rasa/model_manager/trainer_service.py +4 -4
- rasa/plugin.py +1 -11
- rasa/privacy/__init__.py +0 -0
- rasa/privacy/constants.py +83 -0
- rasa/privacy/event_broker_utils.py +77 -0
- rasa/privacy/privacy_config.py +281 -0
- rasa/privacy/privacy_config_schema.json +86 -0
- rasa/privacy/privacy_filter.py +340 -0
- rasa/privacy/privacy_manager.py +576 -0
- rasa/server.py +23 -2
- rasa/shared/constants.py +14 -0
- rasa/shared/core/command_payload_reader.py +1 -5
- rasa/shared/core/constants.py +4 -3
- rasa/shared/core/domain.py +7 -0
- rasa/shared/core/events.py +38 -10
- rasa/shared/core/flows/flow.py +1 -2
- rasa/shared/core/flows/flows_yaml_schema.json +3 -0
- rasa/shared/core/flows/steps/collect.py +46 -2
- rasa/shared/core/flows/validation.py +16 -3
- rasa/shared/core/slots.py +28 -0
- rasa/shared/core/training_data/story_reader/yaml_story_reader.py +1 -4
- rasa/shared/exceptions.py +4 -0
- rasa/shared/utils/common.py +1 -1
- rasa/shared/utils/llm.py +191 -6
- rasa/shared/utils/yaml.py +32 -0
- rasa/studio/data_handler.py +3 -3
- rasa/studio/download/download.py +37 -60
- rasa/studio/download/flows.py +23 -31
- rasa/studio/link.py +200 -0
- rasa/studio/pull.py +94 -0
- rasa/studio/push.py +131 -0
- rasa/studio/upload.py +117 -67
- rasa/telemetry.py +82 -25
- rasa/tracing/config.py +3 -4
- rasa/tracing/constants.py +19 -1
- rasa/tracing/instrumentation/attribute_extractors.py +10 -2
- rasa/tracing/instrumentation/instrumentation.py +53 -2
- rasa/tracing/instrumentation/metrics.py +98 -15
- rasa/tracing/metric_instrument_provider.py +75 -3
- rasa/utils/common.py +1 -27
- rasa/utils/log_utils.py +1 -45
- rasa/validator.py +2 -8
- rasa/version.py +1 -1
- {rasa_pro-3.13.0.dev7.dist-info → rasa_pro-3.13.0.dev9.dist-info}/METADATA +7 -8
- {rasa_pro-3.13.0.dev7.dist-info → rasa_pro-3.13.0.dev9.dist-info}/RECORD +205 -189
- rasa/anonymization/__init__.py +0 -2
- rasa/anonymization/anonymisation_rule_yaml_reader.py +0 -91
- rasa/anonymization/anonymization_pipeline.py +0 -286
- rasa/anonymization/anonymization_rule_executor.py +0 -266
- rasa/anonymization/anonymization_rule_orchestrator.py +0 -119
- rasa/anonymization/schemas/config.yml +0 -47
- rasa/anonymization/utils.py +0 -118
- rasa/core/channels/inspector/dist/assets/channel-3730f5fd.js +0 -1
- rasa/core/channels/inspector/dist/assets/clone-e847561e.js +0 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-efbbfe00.js +0 -1
- {rasa_pro-3.13.0.dev7.dist-info → rasa_pro-3.13.0.dev9.dist-info}/NOTICE +0 -0
- {rasa_pro-3.13.0.dev7.dist-info → rasa_pro-3.13.0.dev9.dist-info}/WHEEL +0 -0
- {rasa_pro-3.13.0.dev7.dist-info → rasa_pro-3.13.0.dev9.dist-info}/entry_points.txt +0 -0
|
@@ -10,7 +10,10 @@ from rasa.tracing.constants import (
|
|
|
10
10
|
COMPACT_LLM_COMMAND_GENERATOR_PROMPT_TOKEN_USAGE_METRIC_NAME,
|
|
11
11
|
CONTEXTUAL_RESPONSE_REPHRASER_LLM_RESPONSE_DURATION_METRIC_NAME,
|
|
12
12
|
DURATION_UNIT_NAME,
|
|
13
|
+
ENTERPRISE_SEARCH_POLICY_CPU_USAGE_METRIC_NAME,
|
|
13
14
|
ENTERPRISE_SEARCH_POLICY_LLM_RESPONSE_DURATION_METRIC_NAME,
|
|
15
|
+
ENTERPRISE_SEARCH_POLICY_MEMORY_USAGE_METRIC_NAME,
|
|
16
|
+
ENTERPRISE_SEARCH_POLICY_PROMPT_TOKEN_USAGE_METRIC_NAME,
|
|
14
17
|
INTENTLESS_POLICY_LLM_RESPONSE_DURATION_METRIC_NAME,
|
|
15
18
|
LLM_BASED_COMMAND_GENERATOR_CPU_MEMORY_USAGE_UNIT_NAME,
|
|
16
19
|
LLM_COMMAND_GENERATOR_CPU_USAGE_METRIC_NAME,
|
|
@@ -23,6 +26,10 @@ from rasa.tracing.constants import (
|
|
|
23
26
|
MULTI_STEP_LLM_COMMAND_GENERATOR_PROMPT_TOKEN_USAGE_METRIC_NAME,
|
|
24
27
|
RASA_CLIENT_REQUEST_BODY_SIZE_METRIC_NAME,
|
|
25
28
|
RASA_CLIENT_REQUEST_DURATION_METRIC_NAME,
|
|
29
|
+
SEARCH_READY_LLM_COMMAND_GENERATOR_CPU_USAGE_METRIC_NAME,
|
|
30
|
+
SEARCH_READY_LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME,
|
|
31
|
+
SEARCH_READY_LLM_COMMAND_GENERATOR_MEMORY_USAGE_METRIC_NAME,
|
|
32
|
+
SEARCH_READY_LLM_COMMAND_GENERATOR_PROMPT_TOKEN_USAGE_METRIC_NAME,
|
|
26
33
|
SINGLE_STEP_LLM_COMMAND_GENERATOR_CPU_USAGE_METRIC_NAME,
|
|
27
34
|
SINGLE_STEP_LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME,
|
|
28
35
|
SINGLE_STEP_LLM_COMMAND_GENERATOR_MEMORY_USAGE_METRIC_NAME,
|
|
@@ -48,7 +55,9 @@ class MetricInstrumentProvider(metaclass=Singleton):
|
|
|
48
55
|
**self._create_llm_command_generator_instruments(meter),
|
|
49
56
|
**self._create_single_step_llm_command_generator_instruments(meter),
|
|
50
57
|
**self._create_compact_llm_command_generator_instruments(meter),
|
|
58
|
+
**self._create_search_ready_llm_command_generator_instruments(meter),
|
|
51
59
|
**self._create_multi_step_llm_command_generator_instruments(meter),
|
|
60
|
+
**self._create_enterprise_search_policy_instruments(meter),
|
|
52
61
|
**self._create_llm_response_duration_instruments(meter),
|
|
53
62
|
**self._create_client_request_instruments(meter),
|
|
54
63
|
}
|
|
@@ -162,6 +171,41 @@ class MetricInstrumentProvider(metaclass=Singleton):
|
|
|
162
171
|
COMPACT_LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME: compact_llm_response_duration_llm_command_generator, # noqa: E501
|
|
163
172
|
}
|
|
164
173
|
|
|
174
|
+
@staticmethod
|
|
175
|
+
def _create_search_ready_llm_command_generator_instruments(
|
|
176
|
+
meter: Meter,
|
|
177
|
+
) -> Dict[str, Any]:
|
|
178
|
+
search_ready_llm_command_generator_cpu_usage = meter.create_histogram(
|
|
179
|
+
name=SEARCH_READY_LLM_COMMAND_GENERATOR_CPU_USAGE_METRIC_NAME,
|
|
180
|
+
description="CPU percentage for SearchReadyLLMCommandGenerator",
|
|
181
|
+
unit=LLM_BASED_COMMAND_GENERATOR_CPU_MEMORY_USAGE_UNIT_NAME,
|
|
182
|
+
)
|
|
183
|
+
|
|
184
|
+
search_ready_llm_command_generator_memory_usage = meter.create_histogram(
|
|
185
|
+
name=SEARCH_READY_LLM_COMMAND_GENERATOR_MEMORY_USAGE_METRIC_NAME,
|
|
186
|
+
description="RAM memory usage for SearchReadyLLMCommandGenerator",
|
|
187
|
+
unit=LLM_BASED_COMMAND_GENERATOR_CPU_MEMORY_USAGE_UNIT_NAME,
|
|
188
|
+
)
|
|
189
|
+
|
|
190
|
+
search_ready_llm_command_generator_prompt_token_usage = meter.create_histogram(
|
|
191
|
+
name=SEARCH_READY_LLM_COMMAND_GENERATOR_PROMPT_TOKEN_USAGE_METRIC_NAME,
|
|
192
|
+
description="SearchReadyLLMCommandGenerator prompt token length",
|
|
193
|
+
unit="1",
|
|
194
|
+
)
|
|
195
|
+
|
|
196
|
+
search_ready_llm_response_duration_command_generator = meter.create_histogram(
|
|
197
|
+
name=SEARCH_READY_LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME,
|
|
198
|
+
description="The duration of SearchReadyLLMCommandGenerator's LLM call",
|
|
199
|
+
unit=DURATION_UNIT_NAME,
|
|
200
|
+
)
|
|
201
|
+
|
|
202
|
+
return {
|
|
203
|
+
SEARCH_READY_LLM_COMMAND_GENERATOR_CPU_USAGE_METRIC_NAME: search_ready_llm_command_generator_cpu_usage, # noqa: E501
|
|
204
|
+
SEARCH_READY_LLM_COMMAND_GENERATOR_MEMORY_USAGE_METRIC_NAME: search_ready_llm_command_generator_memory_usage, # noqa: E501
|
|
205
|
+
SEARCH_READY_LLM_COMMAND_GENERATOR_PROMPT_TOKEN_USAGE_METRIC_NAME: search_ready_llm_command_generator_prompt_token_usage, # noqa: E501
|
|
206
|
+
SEARCH_READY_LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME: search_ready_llm_response_duration_command_generator, # noqa: E501
|
|
207
|
+
}
|
|
208
|
+
|
|
165
209
|
@staticmethod
|
|
166
210
|
def _create_multi_step_llm_command_generator_instruments(
|
|
167
211
|
meter: Meter,
|
|
@@ -198,13 +242,42 @@ class MetricInstrumentProvider(metaclass=Singleton):
|
|
|
198
242
|
}
|
|
199
243
|
|
|
200
244
|
@staticmethod
|
|
201
|
-
def
|
|
202
|
-
|
|
245
|
+
def _create_enterprise_search_policy_instruments(
|
|
246
|
+
meter: Meter,
|
|
247
|
+
) -> Dict[str, Any]:
|
|
248
|
+
enterprise_search_policy_cpu_usage = meter.create_histogram(
|
|
249
|
+
name=ENTERPRISE_SEARCH_POLICY_CPU_USAGE_METRIC_NAME,
|
|
250
|
+
description="CPU percentage for EnterpriseSearchPolicy",
|
|
251
|
+
unit=LLM_BASED_COMMAND_GENERATOR_CPU_MEMORY_USAGE_UNIT_NAME,
|
|
252
|
+
)
|
|
253
|
+
|
|
254
|
+
enterprise_search_policy_memory_usage = meter.create_histogram(
|
|
255
|
+
name=ENTERPRISE_SEARCH_POLICY_MEMORY_USAGE_METRIC_NAME,
|
|
256
|
+
description="RAM memory usage for EnterpriseSearchPolicy",
|
|
257
|
+
unit=LLM_BASED_COMMAND_GENERATOR_CPU_MEMORY_USAGE_UNIT_NAME,
|
|
258
|
+
)
|
|
259
|
+
|
|
260
|
+
enterprise_search_policy_prompt_token_usage = meter.create_histogram(
|
|
261
|
+
name=ENTERPRISE_SEARCH_POLICY_PROMPT_TOKEN_USAGE_METRIC_NAME,
|
|
262
|
+
description="EnterpriseSearchPolicy prompt token length",
|
|
263
|
+
unit="1",
|
|
264
|
+
)
|
|
265
|
+
|
|
266
|
+
enterprise_search_policy_llm_response_duration = meter.create_histogram(
|
|
203
267
|
name=ENTERPRISE_SEARCH_POLICY_LLM_RESPONSE_DURATION_METRIC_NAME,
|
|
204
268
|
description="The duration of EnterpriseSearchPolicy's LLM call",
|
|
205
269
|
unit=DURATION_UNIT_NAME,
|
|
206
270
|
)
|
|
207
271
|
|
|
272
|
+
return {
|
|
273
|
+
ENTERPRISE_SEARCH_POLICY_CPU_USAGE_METRIC_NAME: enterprise_search_policy_cpu_usage, # noqa: E501
|
|
274
|
+
ENTERPRISE_SEARCH_POLICY_MEMORY_USAGE_METRIC_NAME: enterprise_search_policy_memory_usage, # noqa: E501
|
|
275
|
+
ENTERPRISE_SEARCH_POLICY_PROMPT_TOKEN_USAGE_METRIC_NAME: enterprise_search_policy_prompt_token_usage, # noqa: E501
|
|
276
|
+
ENTERPRISE_SEARCH_POLICY_LLM_RESPONSE_DURATION_METRIC_NAME: enterprise_search_policy_llm_response_duration, # noqa: E501
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
@staticmethod
|
|
280
|
+
def _create_llm_response_duration_instruments(meter: Meter) -> Dict[str, Any]:
|
|
208
281
|
llm_response_duration_intentless = meter.create_histogram(
|
|
209
282
|
name=INTENTLESS_POLICY_LLM_RESPONSE_DURATION_METRIC_NAME,
|
|
210
283
|
description="The duration of IntentlessPolicy's LLM call",
|
|
@@ -218,7 +291,6 @@ class MetricInstrumentProvider(metaclass=Singleton):
|
|
|
218
291
|
)
|
|
219
292
|
|
|
220
293
|
return {
|
|
221
|
-
ENTERPRISE_SEARCH_POLICY_LLM_RESPONSE_DURATION_METRIC_NAME: llm_response_duration_enterprise_search, # noqa: E501
|
|
222
294
|
INTENTLESS_POLICY_LLM_RESPONSE_DURATION_METRIC_NAME: llm_response_duration_intentless, # noqa: E501
|
|
223
295
|
CONTEXTUAL_RESPONSE_REPHRASER_LLM_RESPONSE_DURATION_METRIC_NAME: llm_response_duration_contextual_nlg, # noqa: E501
|
|
224
296
|
}
|
rasa/utils/common.py
CHANGED
|
@@ -29,7 +29,6 @@ import numpy as np
|
|
|
29
29
|
|
|
30
30
|
import rasa.shared.utils.io
|
|
31
31
|
import rasa.utils.io
|
|
32
|
-
from rasa.anonymization import ENV_LOG_LEVEL_FAKER, ENV_LOG_LEVEL_PRESIDIO
|
|
33
32
|
from rasa.constants import (
|
|
34
33
|
DEFAULT_LOG_LEVEL_LIBRARIES,
|
|
35
34
|
ENV_LOG_LEVEL_KAFKA,
|
|
@@ -53,7 +52,7 @@ EXPECTED_WARNINGS: List[Tuple[Type[Warning], str]] = [
|
|
|
53
52
|
np.VisibleDeprecationWarning,
|
|
54
53
|
"Creating an ndarray from ragged nested sequences.*",
|
|
55
54
|
),
|
|
56
|
-
# raised by
|
|
55
|
+
# raised by magic_filter, google rpc
|
|
57
56
|
# and probably other dependencies that use pkg_resources instead of importlib
|
|
58
57
|
(DeprecationWarning, ".*pkg_resources.*"),
|
|
59
58
|
# This warning is triggered by sanic-cors 2.0.0 and by langchain -> faiss.
|
|
@@ -281,8 +280,6 @@ def configure_library_logging() -> None:
|
|
|
281
280
|
update_matplotlib_log_level(library_log_level)
|
|
282
281
|
update_kafka_log_level(library_log_level)
|
|
283
282
|
update_rabbitmq_log_level(library_log_level)
|
|
284
|
-
update_presidio_log_level(library_log_level)
|
|
285
|
-
update_faker_log_level(library_log_level)
|
|
286
283
|
|
|
287
284
|
|
|
288
285
|
def update_apscheduler_log_level() -> None:
|
|
@@ -407,29 +404,6 @@ def update_rabbitmq_log_level(library_log_level: Text) -> None:
|
|
|
407
404
|
logging.getLogger("aiormq").setLevel(log_level)
|
|
408
405
|
|
|
409
406
|
|
|
410
|
-
def update_presidio_log_level(library_log_level: Text) -> None:
|
|
411
|
-
"""Set the log level of presidio.
|
|
412
|
-
|
|
413
|
-
Uses the library specific log level or the general libraries log level.
|
|
414
|
-
"""
|
|
415
|
-
log_level = os.environ.get(ENV_LOG_LEVEL_PRESIDIO, library_log_level)
|
|
416
|
-
presidio_loggers = ["presidio_analyzer", "presidio_anonymizer"]
|
|
417
|
-
|
|
418
|
-
for logger_name in presidio_loggers:
|
|
419
|
-
logging.getLogger(logger_name).setLevel(log_level)
|
|
420
|
-
logging.getLogger(logger_name).propagate = False
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
def update_faker_log_level(library_log_level: Text) -> None:
|
|
424
|
-
"""Set the log level of faker.
|
|
425
|
-
|
|
426
|
-
Uses the library specific log level or the general libraries log level.
|
|
427
|
-
"""
|
|
428
|
-
log_level = os.environ.get(ENV_LOG_LEVEL_FAKER, library_log_level)
|
|
429
|
-
logging.getLogger("faker").setLevel(log_level)
|
|
430
|
-
logging.getLogger("faker").propagate = False
|
|
431
|
-
|
|
432
|
-
|
|
433
407
|
def sort_list_of_dicts_by_first_key(dicts: List[Dict]) -> List[Dict]:
|
|
434
408
|
"""Sorts a list of dictionaries by their first key."""
|
|
435
409
|
return sorted(dicts, key=lambda d: next(iter(d.keys())))
|
rasa/utils/log_utils.py
CHANGED
|
@@ -3,14 +3,13 @@ from __future__ import annotations
|
|
|
3
3
|
import logging
|
|
4
4
|
import os
|
|
5
5
|
import sys
|
|
6
|
-
from typing import Any,
|
|
6
|
+
from typing import Any, Optional
|
|
7
7
|
|
|
8
8
|
import structlog
|
|
9
9
|
from structlog.dev import ConsoleRenderer
|
|
10
10
|
from structlog.typing import EventDict, WrappedLogger
|
|
11
11
|
from structlog_sentry import SentryProcessor
|
|
12
12
|
|
|
13
|
-
from rasa.plugin import plugin_manager
|
|
14
13
|
from rasa.shared.constants import (
|
|
15
14
|
DEFAULT_LOG_LEVEL,
|
|
16
15
|
DEFAULT_LOG_LEVEL_LLM,
|
|
@@ -35,48 +34,6 @@ class HumanConsoleRenderer(ConsoleRenderer):
|
|
|
35
34
|
return super().__call__(logger, name, event_dict)
|
|
36
35
|
|
|
37
36
|
|
|
38
|
-
def _anonymizer(
|
|
39
|
-
_: structlog.BoundLogger, __: str, event_dict: Dict[str, Any]
|
|
40
|
-
) -> Dict[str, Any]:
|
|
41
|
-
"""Anonymizes event dict."""
|
|
42
|
-
anonymizable_keys = [
|
|
43
|
-
"text",
|
|
44
|
-
"response_text",
|
|
45
|
-
"user_text",
|
|
46
|
-
"slots",
|
|
47
|
-
"parse_data_text",
|
|
48
|
-
"parse_data_entities",
|
|
49
|
-
"prediction_events",
|
|
50
|
-
"tracker_latest_message",
|
|
51
|
-
"prefilled_slots",
|
|
52
|
-
"message",
|
|
53
|
-
"response",
|
|
54
|
-
"slot_candidates",
|
|
55
|
-
"rasa_event",
|
|
56
|
-
"rasa_events",
|
|
57
|
-
"tracker_states",
|
|
58
|
-
"current_states",
|
|
59
|
-
"old_states",
|
|
60
|
-
"current_states",
|
|
61
|
-
"successes",
|
|
62
|
-
"current_entity",
|
|
63
|
-
"next_entity",
|
|
64
|
-
"states",
|
|
65
|
-
"entity",
|
|
66
|
-
"token_text",
|
|
67
|
-
"user_message",
|
|
68
|
-
"json_message",
|
|
69
|
-
]
|
|
70
|
-
anonymization_pipeline = plugin_manager().hook.get_anonymization_pipeline()
|
|
71
|
-
|
|
72
|
-
if anonymization_pipeline:
|
|
73
|
-
for key in anonymizable_keys:
|
|
74
|
-
if key in event_dict:
|
|
75
|
-
anonymized_value = anonymization_pipeline.log_run(event_dict[key])
|
|
76
|
-
event_dict[key] = anonymized_value
|
|
77
|
-
return event_dict
|
|
78
|
-
|
|
79
|
-
|
|
80
37
|
def configure_structlog(
|
|
81
38
|
log_level: Optional[int] = None,
|
|
82
39
|
include_time: bool = False,
|
|
@@ -95,7 +52,6 @@ def configure_structlog(
|
|
|
95
52
|
)
|
|
96
53
|
|
|
97
54
|
shared_processors = [
|
|
98
|
-
_anonymizer,
|
|
99
55
|
# Processors that have nothing to do with output,
|
|
100
56
|
# e.g., add timestamps or log level names.
|
|
101
57
|
# If log level is too low, abort pipeline and throw away log entry.
|
rasa/validator.py
CHANGED
|
@@ -1014,11 +1014,6 @@ class Validator:
|
|
|
1014
1014
|
for sv in slot_value
|
|
1015
1015
|
]
|
|
1016
1016
|
if not all(slot_values_validity):
|
|
1017
|
-
invalid_slot_values = [
|
|
1018
|
-
sv
|
|
1019
|
-
for (sv, slot_value_valid) in zip(slot_value, slot_values_validity)
|
|
1020
|
-
if not slot_value_valid
|
|
1021
|
-
]
|
|
1022
1017
|
structlogger.error(
|
|
1023
1018
|
"validator.verify_predicates.link.invalid_condition",
|
|
1024
1019
|
step=step_id,
|
|
@@ -1027,8 +1022,7 @@ class Validator:
|
|
|
1027
1022
|
event_info=(
|
|
1028
1023
|
f"Detected invalid condition '{link_condition}' "
|
|
1029
1024
|
f"at step '{step_id}' for flow id '{flow_id}'. "
|
|
1030
|
-
f"
|
|
1031
|
-
f"for slot {slot_name}. "
|
|
1025
|
+
f"The condition contains invalid values for slot {slot_name}. "
|
|
1032
1026
|
f"Please make sure that all conditions are valid."
|
|
1033
1027
|
),
|
|
1034
1028
|
)
|
|
@@ -1998,7 +1992,7 @@ class Validator:
|
|
|
1998
1992
|
"validator.validate_conditional_response_variation_predicates.invalid_slot",
|
|
1999
1993
|
utter=utter_name,
|
|
2000
1994
|
event_info=(
|
|
2001
|
-
f"Detected invalid slot '{slot_namespace[
|
|
1995
|
+
f"Detected invalid slot '{slot_namespace[0]}' in "
|
|
2002
1996
|
f"condition '{condition}' for response variation "
|
|
2003
1997
|
f"'{utter_name}'. Please make sure that all slots "
|
|
2004
1998
|
f"are specified in the domain file."
|
rasa/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: rasa-pro
|
|
3
|
-
Version: 3.13.0.
|
|
3
|
+
Version: 3.13.0.dev9
|
|
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
|
|
@@ -18,11 +18,12 @@ Provides-Extra: full
|
|
|
18
18
|
Provides-Extra: gh-release-notes
|
|
19
19
|
Provides-Extra: jieba
|
|
20
20
|
Provides-Extra: metal
|
|
21
|
+
Provides-Extra: pii
|
|
21
22
|
Provides-Extra: spacy
|
|
22
23
|
Provides-Extra: transformers
|
|
23
24
|
Requires-Dist: CacheControl (>=0.14.2,<0.15.0)
|
|
24
25
|
Requires-Dist: PyJWT[crypto] (>=2.8.0,<3.0.0)
|
|
25
|
-
Requires-Dist: SQLAlchemy (>=2.0.
|
|
26
|
+
Requires-Dist: SQLAlchemy (>=2.0.41,<2.1.0)
|
|
26
27
|
Requires-Dist: absl-py (>=2.0,<2.1)
|
|
27
28
|
Requires-Dist: aio-pika (>=8.2.3,<9.4.4)
|
|
28
29
|
Requires-Dist: aiogram (>=3.15,<3.16)
|
|
@@ -45,10 +46,10 @@ Requires-Dist: demoji (>=1.1.0,<2.0.0)
|
|
|
45
46
|
Requires-Dist: diskcache (>=5.6.3,<5.7.0)
|
|
46
47
|
Requires-Dist: dnspython (==2.6.1)
|
|
47
48
|
Requires-Dist: faiss-cpu (>=1.7.4,<2.0.0)
|
|
48
|
-
Requires-Dist: faker (>=26.0.0,<27.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"
|
|
52
|
+
Requires-Dist: gliner (>=0.2.20,<0.3.0) ; extra == "pii"
|
|
52
53
|
Requires-Dist: google-auth (>=2.23.4,<3)
|
|
53
54
|
Requires-Dist: google-cloud-storage (>=2.14.0,<2.15.0)
|
|
54
55
|
Requires-Dist: hvac (>=1.2.1,<2.0.0)
|
|
@@ -68,6 +69,7 @@ Requires-Dist: matplotlib (>=3.7,<3.8)
|
|
|
68
69
|
Requires-Dist: mattermostwrapper (>=2.2,<2.3)
|
|
69
70
|
Requires-Dist: networkx (>=3.1,<3.2)
|
|
70
71
|
Requires-Dist: numpy (>=1.26.4,<1.27.0)
|
|
72
|
+
Requires-Dist: onnxruntime (==1.19.2) ; extra == "pii"
|
|
71
73
|
Requires-Dist: openai (>=1.68.2,<1.69.0)
|
|
72
74
|
Requires-Dist: openpyxl (>=3.1.5,<4.0.0)
|
|
73
75
|
Requires-Dist: opentelemetry-api (>=1.16.0,<1.17.0)
|
|
@@ -78,13 +80,10 @@ Requires-Dist: packaging (>=23.2,<23.3)
|
|
|
78
80
|
Requires-Dist: pep440-version-utils (>=1.1.0,<1.2.0)
|
|
79
81
|
Requires-Dist: pluggy (>=1.2.0,<2.0.0)
|
|
80
82
|
Requires-Dist: portalocker (>=2.7.0,<3.0.0)
|
|
81
|
-
Requires-Dist: presidio-analyzer (>=2.2.33,<2.2.34)
|
|
82
|
-
Requires-Dist: presidio-anonymizer (>=2.2.354,<3.0.0)
|
|
83
83
|
Requires-Dist: prompt-toolkit (>=3.0.28,<3.0.29)
|
|
84
84
|
Requires-Dist: protobuf (>=4.23.3,<4.25.4)
|
|
85
85
|
Requires-Dist: psutil (>=5.9.5,<6.0.0)
|
|
86
86
|
Requires-Dist: psycopg2-binary (>=2.9.10,<2.10.0)
|
|
87
|
-
Requires-Dist: pycountry (>=22.3.5,<23.0.0)
|
|
88
87
|
Requires-Dist: pydot (>=1.4,<1.5)
|
|
89
88
|
Requires-Dist: pykwalify (>=1.8,<1.9)
|
|
90
89
|
Requires-Dist: pymilvus (>=2.4.1,<2.4.2)
|
|
@@ -92,7 +91,7 @@ Requires-Dist: pymongo (>=4.10.1,<4.11.0)
|
|
|
92
91
|
Requires-Dist: pypred (>=0.4.0,<0.5.0)
|
|
93
92
|
Requires-Dist: python-dateutil (>=2.8.2,<2.9.0)
|
|
94
93
|
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
|
95
|
-
Requires-Dist: python-engineio (>=4.12.
|
|
94
|
+
Requires-Dist: python-engineio (>=4.12.2,<4.13.0)
|
|
96
95
|
Requires-Dist: python-keycloak (>=3.12.0,<4.0.0)
|
|
97
96
|
Requires-Dist: python-socketio (>=5.8,<6)
|
|
98
97
|
Requires-Dist: pytz (>=2022.7.1,<2023.0)
|
|
@@ -138,7 +137,7 @@ Requires-Dist: tensorflow_hub (>=0.13.0,<0.14.0)
|
|
|
138
137
|
Requires-Dist: terminaltables (>=3.1.10,<3.2.0)
|
|
139
138
|
Requires-Dist: tiktoken (>=0.7.0,<0.8.0)
|
|
140
139
|
Requires-Dist: tqdm (>=4.66.2,<5.0.0)
|
|
141
|
-
Requires-Dist: transformers (>=4.
|
|
140
|
+
Requires-Dist: transformers (>=4.38.2,<4.39.0) ; extra == "transformers" or extra == "full"
|
|
142
141
|
Requires-Dist: twilio (>=8.4,<8.5)
|
|
143
142
|
Requires-Dist: types-protobuf (==4.25.0.20240417)
|
|
144
143
|
Requires-Dist: typing-extensions (>=4.7.1,<5.0.0)
|