Class: Cadenya::Resources::Models
- Inherits:
-
Object
- Object
- Cadenya::Resources::Models
- Defined in:
- lib/cadenya/resources/models.rb
Overview
Manage LLM models available to a workspace. Models represent provider and family pairs (e.g., “anthropic/claude-sonnet-4.6”). Workspaces are seeded with the supported models and you can enable or disable each one.
Instance Method Summary collapse
-
#disable(id, workspace_id:, request_options: {}) ⇒ Cadenya::Models::Model
Transitions a model to STATE_DISABLED.
-
#enable(id, workspace_id:, request_options: {}) ⇒ Cadenya::Models::Model
Transitions a model to STATE_ENABLED, making it available for agent variations in the workspace.
-
#initialize(client:) ⇒ Models
constructor
private
A new instance of Models.
-
#list(workspace_id, ai_provider_key_id: nil, bundle_key: nil, cursor: nil, include_info: nil, limit: nil, prefix: nil, query: nil, sort_order: nil, state: nil, request_options: {}) ⇒ Cadenya::Internal::CursorPagination<Cadenya::Models::Model>
Some parameter documentations has been truncated, see Models::ModelListParams for more details.
-
#retrieve(id, workspace_id:, request_options: {}) ⇒ Cadenya::Models::Model
Retrieves a model by ID from the workspace.
-
#swap(workspace_id, model_swaps: nil, request_options: {}) ⇒ Object
Reassigns agent variations from one model to another in bulk.
Constructor Details
#initialize(client:) ⇒ Models
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.
Returns a new instance of Models.
170 171 172 |
# File 'lib/cadenya/resources/models.rb', line 170 def initialize(client:) @client = client end |
Instance Method Details
#disable(id, workspace_id:, request_options: {}) ⇒ Cadenya::Models::Model
Transitions a model to STATE_DISABLED. Fails while agent variations are still provisioned on the model; use :swapModelOnVariations to move them first.
100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/cadenya/resources/models.rb', line 100 def disable(id, params) parsed, = Cadenya::ModelDisableParams.dump_request(params) workspace_id = parsed.delete(:workspace_id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :post, path: ["v1/workspaces/%1$s/models/%2$s:disable", workspace_id, id], model: Cadenya::Model, options: ) end |
#enable(id, workspace_id:, request_options: {}) ⇒ Cadenya::Models::Model
Transitions a model to STATE_ENABLED, making it available for agent variations in the workspace
128 129 130 131 132 133 134 135 136 137 138 139 140 |
# File 'lib/cadenya/resources/models.rb', line 128 def enable(id, params) parsed, = Cadenya::ModelEnableParams.dump_request(params) workspace_id = parsed.delete(:workspace_id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :post, path: ["v1/workspaces/%1$s/models/%2$s:enable", workspace_id, id], model: Cadenya::Model, options: ) end |
#list(workspace_id, ai_provider_key_id: nil, bundle_key: nil, cursor: nil, include_info: nil, limit: nil, prefix: nil, query: nil, sort_order: nil, state: nil, request_options: {}) ⇒ Cadenya::Internal::CursorPagination<Cadenya::Models::Model>
Some parameter documentations has been truncated, see Models::ModelListParams for more details.
Lists all models in the workspace
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/cadenya/resources/models.rb', line 68 def list(workspace_id, params = {}) parsed, = Cadenya::ModelListParams.dump_request(params) query = Cadenya::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["v1/workspaces/%1$s/models", workspace_id], query: query.transform_keys( ai_provider_key_id: "aiProviderKeyId", bundle_key: "bundleKey", include_info: "includeInfo", sort_order: "sortOrder" ), page: Cadenya::Internal::CursorPagination, model: Cadenya::Model, options: ) end |
#retrieve(id, workspace_id:, request_options: {}) ⇒ Cadenya::Models::Model
Retrieves a model by ID from the workspace
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/cadenya/resources/models.rb', line 22 def retrieve(id, params) parsed, = Cadenya::ModelRetrieveParams.dump_request(params) workspace_id = parsed.delete(:workspace_id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: ["v1/workspaces/%1$s/models/%2$s", workspace_id, id], model: Cadenya::Model, options: ) end |
#swap(workspace_id, model_swaps: nil, request_options: {}) ⇒ Object
Reassigns agent variations from one model to another in bulk. Runs asynchronously and returns immediately.
156 157 158 159 160 161 162 163 164 165 |
# File 'lib/cadenya/resources/models.rb', line 156 def swap(workspace_id, params = {}) parsed, = Cadenya::ModelSwapParams.dump_request(params) @client.request( method: :post, path: ["v1/workspaces/%1$s/models:swapModelOnVariations", workspace_id], body: parsed, model: Cadenya::Internal::Type::Unknown, options: ) end |