Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions lib/openai/internal/type/base_model.rb
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,7 @@ def dump(value)
return super
end

is_param = singleton_class <= OpenAI::Internal::Type::RequestParameters::Converter
acc = {}

coerced.each do |key, val|
Expand All @@ -266,19 +267,21 @@ def dump(value)
in nil
acc.store(name, super(val))
else
mode, api_name, type_fn = field.fetch_values(:mode, :api_name, :type_fn)
mode, type_fn = field.fetch_values(:mode, :type_fn)
case mode
in :coerce
next
else
target = type_fn.call
api_name = is_param ? name : field.fetch(:api_name)
acc.store(api_name, OpenAI::Internal::Type::Converter.dump(target, val))
end
end
end

known_fields.each_value do |field|
mode, api_name, const = field.fetch_values(:mode, :api_name, :const)
known_fields.each do |name, field|
mode, const = field.fetch_values(:mode, :const)
api_name = is_param ? name : field.fetch(:api_name)
next if mode == :coerce || acc.key?(api_name) || const == OpenAI::Internal::OMIT
acc.store(api_name, const)
end
Expand Down
2 changes: 1 addition & 1 deletion lib/openai/resources/fine_tuning/jobs.rb
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def create(params)
@client.request(
method: :post,
path: "fine_tuning/jobs",
body: parsed,
body: parsed.transform_keys(method_: :method),
model: OpenAI::Models::FineTuning::FineTuningJob,
options: options
)
Expand Down