Class: Ollama::Parsers::Generate
- Defined in:
- lib/ollama/parsers/generate.rb
Overview
Parses generate completion responses
Instance Method Summary collapse
- #call(transport_response) ⇒ Object
-
#initialize(provider: nil) ⇒ Generate
constructor
A new instance of Generate.
Constructor Details
#initialize(provider: nil) ⇒ Generate
Returns a new instance of Generate.
10 11 12 13 |
# File 'lib/ollama/parsers/generate.rb', line 10 def initialize(provider: nil) super() @provider = provider end |
Instance Method Details
#call(transport_response) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/ollama/parsers/generate.rb', line 15 def call(transport_response) data = json(transport_response) data = @provider.normalize_generate_response(data) if @provider.respond_to?(:normalize_generate_response) # Generate endpoint returns a flat response with "response" field # Convert to Response-compatible format response_data = { "message" => { "role" => "assistant", "content" => data["response"] }, "done" => data["done"], "done_reason" => data["done_reason"], "model" => data["model"], "created_at" => data["created_at"], "total_duration" => data["total_duration"], "load_duration" => data["load_duration"], "prompt_eval_count" => data["prompt_eval_count"], "prompt_eval_duration" => data["prompt_eval_duration"], "eval_count" => data["eval_count"], "eval_duration" => data["eval_duration"], "context" => data["context"] } Responses::Generate.new(response_data) end |