Class: Kward::Compaction::Summarizer
- Inherits:
-
Object
- Object
- Kward::Compaction::Summarizer
- Defined in:
- lib/kward/compactor.rb
Instance Method Summary collapse
-
#initialize(client:, prompt_builder: PromptBuilder.new) ⇒ Summarizer
constructor
A new instance of Summarizer.
- #summarize(preparation, custom_instructions: nil) ⇒ Object
Constructor Details
#initialize(client:, prompt_builder: PromptBuilder.new) ⇒ Summarizer
Returns a new instance of Summarizer.
797 798 799 800 |
# File 'lib/kward/compactor.rb', line 797 def initialize(client:, prompt_builder: PromptBuilder.new) @client = client @prompt_builder = prompt_builder end |
Instance Method Details
#summarize(preparation, custom_instructions: nil) ⇒ Object
802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 |
# File 'lib/kward/compactor.rb', line 802 def summarize(preparation, custom_instructions: nil) summary = chat( @prompt_builder.build(preparation, custom_instructions: custom_instructions), max_tokens: @prompt_builder.normal_summary_max_tokens(preparation.settings, model_max_tokens: model_max_tokens) ) if preparation.split_turn && !preparation..empty? turn_summary = chat( @prompt_builder.build_split(preparation), max_tokens: @prompt_builder.split_turn_max_tokens(preparation.settings, model_max_tokens: model_max_tokens) ) summary = "#{summary}\n\n---\n\n**Turn Context (split turn):**\n\n#{turn_summary}" end summary.to_s.strip rescue Cancelled raise rescue StandardError => e raise SummarizationFailed, e. end |