Module: LLM::OpenAI::ResponseAdapter
- Defined in:
- lib/llm/providers/openai/response_adapter.rb,
lib/llm/providers/openai/response_adapter/file.rb,
lib/llm/providers/openai/response_adapter/audio.rb,
lib/llm/providers/openai/response_adapter/image.rb,
lib/llm/providers/openai/response_adapter/responds.rb,
lib/llm/providers/openai/response_adapter/embedding.rb,
lib/llm/providers/openai/response_adapter/completion.rb,
lib/llm/providers/openai/response_adapter/enumerable.rb,
lib/llm/providers/openai/response_adapter/web_search.rb,
lib/llm/providers/openai/response_adapter/moderations.rb
Defined Under Namespace
Modules: Audio, Completion, Embedding, Enumerable, File, Image, Moderation, Moderations, Responds, WebSearch
Class Method Summary collapse
Class Method Details
.adapt(res, type:) ⇒ LLM::Response
23 24 25 26 27 |
# File 'lib/llm/providers/openai/response_adapter.rb', line 23 def adapt(res, type:) response = (LLM::Response === res) ? res : LLM::Response.new(res) adapter = select(type) response.extend(adapter) end |
.select(type) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/llm/providers/openai/response_adapter.rb', line 31 def select(type) case type when :audio then LLM::OpenAI::ResponseAdapter::Audio when :completion then LLM::OpenAI::ResponseAdapter::Completion when :embedding then LLM::OpenAI::ResponseAdapter::Embedding when :enumerable then LLM::OpenAI::ResponseAdapter::Enumerable when :file then LLM::OpenAI::ResponseAdapter::File when :image then LLM::OpenAI::ResponseAdapter::Image when :moderations then LLM::OpenAI::ResponseAdapter::Moderations when :responds then LLM::OpenAI::ResponseAdapter::Responds when :web_search then LLM::OpenAI::ResponseAdapter::WebSearch else raise ArgumentError, "Unknown response adapter type: #{type.inspect}" end end |