Class: Vellum::PromptsClient
- Inherits:
-
Object
- Object
- Vellum::PromptsClient
- Defined in:
- lib/vellum_ai/prompts/client.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
- #initialize(request_client:) ⇒ Vellum::PromptsClient constructor
-
#pull(id:, prompt_variant_id: nil, request_options: nil) ⇒ Object
api.prompts.pull(id: “id”).
-
#push(prompt_variant_id: nil, prompt_variant_label: nil, prompt_sandbox_id: nil, exec_config:, request_options: nil) ⇒ Object
api.prompts.push(exec_config: { ml_model: “ml_model”, input_variables: [{ id: “x”, key: “key”, type: STRING }, { id: “x”, key: “key”, type: STRING }], parameters: { }, blocks: [{ block_type: “JINJA”, template: “template” }, { block_type: “JINJA”, template: “template” }] }).
Constructor Details
#initialize(request_client:) ⇒ Vellum::PromptsClient
17 18 19 |
# File 'lib/vellum_ai/prompts/client.rb', line 17 def initialize(request_client:) @request_client = request_client end |
Instance Attribute Details
#request_client ⇒ Vellum::RequestClient (readonly)
12 13 14 |
# File 'lib/vellum_ai/prompts/client.rb', line 12 def request_client @request_client end |
Instance Method Details
#pull(id:, prompt_variant_id: nil, request_options: nil) ⇒ Object
api.prompts.pull(id: “id”)
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/vellum_ai/prompts/client.rb', line 34 def pull(id:, prompt_variant_id: nil, request_options: nil) response = @request_client.conn.get do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.api_key.nil? req.headers["X-API-KEY"] = .api_key end unless &.api_version.nil? req.headers["X-API-Version"] = .api_version else req.headers["X-API-Version"] = "2025-07-30" end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}), "Accept": "application/json" }.compact req.params = { **(&.additional_query_parameters || {}), "prompt_variant_id": prompt_variant_id }.compact unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(environment: Default, request_options: )}/v1/prompts/#{id}/pull" end Vellum::PromptExecConfig.from_json(json_object: response.body) end |
#push(prompt_variant_id: nil, prompt_variant_label: nil, prompt_sandbox_id: nil, exec_config:, request_options: nil) ⇒ Object
api.prompts.push(exec_config: { ml_model: “ml_model”, input_variables: [{ id: “x”, key: “key”, type: STRING }, { id: “x”, key: “key”, type: STRING }], parameters: { }, blocks: [{ block_type: “JINJA”, template: “template” }, { block_type: “JINJA”, template: “template” }] })
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/vellum_ai/prompts/client.rb', line 89 def push(prompt_variant_id: nil, prompt_variant_label: nil, prompt_sandbox_id: nil, exec_config:, request_options: nil) response = @request_client.conn.post do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.api_key.nil? req.headers["X-API-KEY"] = .api_key end unless &.api_version.nil? req.headers["X-API-Version"] = .api_version else req.headers["X-API-Version"] = "2025-07-30" end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), prompt_variant_id: prompt_variant_id, prompt_variant_label: prompt_variant_label, prompt_sandbox_id: prompt_sandbox_id, exec_config: exec_config }.compact req.url "#{@request_client.get_url(environment: Default, request_options: )}/v1/prompts/push" end Vellum::PromptPushResponse.from_json(json_object: response.body) end |