Module: LiterLlm::AssistantPart
- Extended by:
- T::Helpers, T::Sig
- Included in:
- AssistantPartOutputAudio, AssistantPartOutputImage, AssistantPartRefusal, AssistantPartText
- Defined in:
- lib/liter_llm/native.rb
Overview
One part of a structured assistant response.
‘#[serde(tag = “type”, rename_all = “snake_case”)]` matches OpenAI’s parts-spec discriminator (‘“type”: “text”`, `“type”: “output_image”`, …).
Class Method Summary collapse
Class Method Details
.from_hash(hash) ⇒ Object
331 332 333 334 335 336 337 338 339 340 |
# File 'lib/liter_llm/native.rb', line 331 def self.from_hash(hash) discriminator = hash[:type] || hash["type"] case discriminator when "text" then AssistantPartText.from_hash(hash) when "refusal" then AssistantPartRefusal.from_hash(hash) when "output_image" then AssistantPartOutputImage.from_hash(hash) when "output_audio" then AssistantPartOutputAudio.from_hash(hash) else raise "Unknown discriminator: #{discriminator}" end end |