Class: VectorMCP::Sampling::Request
- Inherits:
-
Object
- Object
- VectorMCP::Sampling::Request
- Defined in:
- lib/vector_mcp/sampling/request.rb
Overview
Represents a sampling request to be sent to an MCP client. It validates the basic structure of the request.
Instance Attribute Summary collapse
-
#include_context ⇒ Object
readonly
Returns the value of attribute include_context.
-
#max_tokens ⇒ Object
readonly
Returns the value of attribute max_tokens.
-
#messages ⇒ Object
readonly
Returns the value of attribute messages.
-
#metadata ⇒ Object
readonly
Returns the value of attribute metadata.
-
#model_preferences ⇒ Object
readonly
Returns the value of attribute model_preferences.
-
#stop_sequences ⇒ Object
readonly
Returns the value of attribute stop_sequences.
-
#system_prompt ⇒ Object
readonly
Returns the value of attribute system_prompt.
-
#temperature ⇒ Object
readonly
Returns the value of attribute temperature.
Instance Method Summary collapse
-
#initialize(params = {}) ⇒ Request
constructor
Initializes a new Sampling::Request.
-
#to_h ⇒ Hash
Returns the request parameters as a hash, suitable for JSON serialization.
Constructor Details
#initialize(params = {}) ⇒ Request
Initializes a new Sampling::Request.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/vector_mcp/sampling/request.rb', line 32 def initialize(params = {}) params = params.transform_keys(&:to_sym) # Normalize keys @messages = params[:messages] @model_preferences = params[:model_preferences] @system_prompt = params[:system_prompt] @include_context = params[:include_context] @temperature = params[:temperature] @max_tokens = params[:max_tokens] @stop_sequences = params[:stop_sequences] @metadata = params[:metadata] validate! end |
Instance Attribute Details
#include_context ⇒ Object (readonly)
Returns the value of attribute include_context.
10 11 12 |
# File 'lib/vector_mcp/sampling/request.rb', line 10 def include_context @include_context end |
#max_tokens ⇒ Object (readonly)
Returns the value of attribute max_tokens.
10 11 12 |
# File 'lib/vector_mcp/sampling/request.rb', line 10 def max_tokens @max_tokens end |
#messages ⇒ Object (readonly)
Returns the value of attribute messages.
10 11 12 |
# File 'lib/vector_mcp/sampling/request.rb', line 10 def @messages end |
#metadata ⇒ Object (readonly)
Returns the value of attribute metadata.
10 11 12 |
# File 'lib/vector_mcp/sampling/request.rb', line 10 def @metadata end |
#model_preferences ⇒ Object (readonly)
Returns the value of attribute model_preferences.
10 11 12 |
# File 'lib/vector_mcp/sampling/request.rb', line 10 def model_preferences @model_preferences end |
#stop_sequences ⇒ Object (readonly)
Returns the value of attribute stop_sequences.
10 11 12 |
# File 'lib/vector_mcp/sampling/request.rb', line 10 def stop_sequences @stop_sequences end |
#system_prompt ⇒ Object (readonly)
Returns the value of attribute system_prompt.
10 11 12 |
# File 'lib/vector_mcp/sampling/request.rb', line 10 def system_prompt @system_prompt end |
#temperature ⇒ Object (readonly)
Returns the value of attribute temperature.
10 11 12 |
# File 'lib/vector_mcp/sampling/request.rb', line 10 def temperature @temperature end |
Instance Method Details
#to_h ⇒ Hash
Returns the request parameters as a hash, suitable for JSON serialization.
50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/vector_mcp/sampling/request.rb', line 50 def to_h { messages: @messages, modelPreferences: @model_preferences, # MCP uses camelCase systemPrompt: @system_prompt, includeContext: @include_context, temperature: @temperature, maxTokens: @max_tokens, stopSequences: @stop_sequences, metadata: @metadata }.compact # Remove nil values end |