Class: Agent::SessionContext::Builder
- Inherits:
-
Object
- Object
- Agent::SessionContext::Builder
- Defined in:
- lib/agent/session_context/builder.rb
Defined Under Namespace
Classes: PromptsResult
Instance Method Summary collapse
-
#initialize(catalog: Agent::Sessions, now: Time.now, collector: EvidenceCollector.new, prompt_extractor: PromptExtractor.new, injected_context_collector: InjectedContextCollector.new) ⇒ Builder
constructor
A new instance of Builder.
- #loop(session) ⇒ Object
- #prompts(session) ⇒ Object
- #prompts_result(session) ⇒ Object
- #show(session, include_injected: false) ⇒ Object
- #summarize(session, summarizer:) ⇒ Object
Constructor Details
#initialize(catalog: Agent::Sessions, now: Time.now, collector: EvidenceCollector.new, prompt_extractor: PromptExtractor.new, injected_context_collector: InjectedContextCollector.new) ⇒ Builder
Returns a new instance of Builder.
12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/agent/session_context/builder.rb', line 12 def initialize( catalog: Agent::Sessions, now: Time.now, collector: EvidenceCollector.new, prompt_extractor: PromptExtractor.new, injected_context_collector: InjectedContextCollector.new ) @catalog = catalog @now = now @collector = collector @prompt_extractor = prompt_extractor @injected_context_collector = injected_context_collector end |
Instance Method Details
#loop(session) ⇒ Object
54 55 56 |
# File 'lib/agent/session_context/builder.rb', line 54 def loop(session) Loop.for(@catalog.read(session)) end |
#prompts(session) ⇒ Object
42 43 44 |
# File 'lib/agent/session_context/builder.rb', line 42 def prompts(session) prompts_result(session).prompts end |
#prompts_result(session) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/agent/session_context/builder.rb', line 46 def prompts_result(session) transcript = capture(session) PromptsResult.new( prompts: @prompt_extractor.call(transcript), reader_warnings: transcript.warnings ) end |
#show(session, include_injected: false) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/agent/session_context/builder.rb', line 26 def show(session, include_injected: false) validate_include_injected!(include_injected) transcript = capture(session) observed = @collector.call(transcript) build_snapshot( session:, transcript:, observed:, prompts: @prompt_extractor.call(transcript), injected_context: @injected_context_collector.call(transcript, include_text: include_injected), warnings: transcript.warnings, summary_metadata: (transcript) ) end |
#summarize(session, summarizer:) ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/agent/session_context/builder.rb', line 58 def summarize(session, summarizer:) transcript = capture(session) observed = @collector.call(transcript) semantic = SemanticPipeline.new(backend: summarizer).call(transcript:, observed:) semantic_collections, unknown_warnings = collect_semantic_items(semantic.items) build_snapshot( session: session, transcript: transcript, observed: observed, semantic_collections: semantic_collections, warnings: transcript.warnings + semantic.warnings + unknown_warnings, summary_metadata: semantic..merge((transcript)) ) end |