Module: Legion::Extensions::MicrosoftTeams::Helpers::PromptResolver
- Included in:
- SessionManager, Runners::Bot
- Defined in:
- lib/legion/extensions/microsoft_teams/helpers/prompt_resolver.rb
Instance Method Summary collapse
-
#resolve_llm_config(conversation_id:, mode: nil, owner_id: nil) ⇒ Object
rubocop:disable Lint/UnusedMethodArgument.
- #resolve_prompt(mode:, conversation_id:, owner_id: nil, trace_context: nil) ⇒ Object
Instance Method Details
#resolve_llm_config(conversation_id:, mode: nil, owner_id: nil) ⇒ Object
rubocop:disable Lint/UnusedMethodArgument
26 27 28 29 30 31 32 33 34 |
# File 'lib/legion/extensions/microsoft_teams/helpers/prompt_resolver.rb', line 26 def resolve_llm_config(conversation_id:, mode: nil, owner_id: nil) # rubocop:disable Lint/UnusedMethodArgument settings = teams_settings base_llm = settings.dig(:bot, :llm) || {} overrides = conversation_overrides(conversation_id: conversation_id) override_llm = overrides&.dig(:llm) || {} base_llm.merge(override_llm) end |
#resolve_prompt(mode:, conversation_id:, owner_id: nil, trace_context: nil) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/legion/extensions/microsoft_teams/helpers/prompt_resolver.rb', line 8 def resolve_prompt(mode:, conversation_id:, owner_id: nil, trace_context: nil) settings = teams_settings base = settings.dig(:bot, :system_prompt) || '' mode_prompt = settings.dig(:bot, mode, :system_prompt) prompt = mode_prompt || base overrides = conversation_overrides(conversation_id: conversation_id) prompt = "#{prompt}\n\n#{overrides[:system_prompt_append]}" if overrides && overrides[:system_prompt_append] pref_instructions = preference_instructions_for(owner_id: owner_id) prompt = "#{prompt}\n\n#{pref_instructions}" if pref_instructions prompt = "#{prompt}\n\n#{trace_context}" if trace_context && !trace_context.empty? prompt end |