Class: Ollama::Commands::Embeddings
- Inherits:
-
Object
- Object
- Ollama::Commands::Embeddings
- Includes:
- DTO
- Defined in:
- lib/ollama/commands/embeddings.rb
Overview
A command class that represents the embeddings API endpoint for Ollama.
This class is used to interact with the Ollama API's embeddings endpoint, which generates embeddings for text input using a specified model. It inherits from the base command structure and provides the necessary functionality to execute embedding requests for generating vector representations of text.
Instance Attribute Summary collapse
-
#client ⇒ Object
writeonly
The client attribute writer allows setting the client instance associated with the object.
-
#keep_alive ⇒ String?
readonly
The keep_alive attribute reader returns the keep-alive duration associated with the object.
-
#model ⇒ String
readonly
The model attribute reader returns the model name associated with the object.
-
#options ⇒ Ollama::Options?
readonly
The options attribute reader returns the model configuration options associated with the object.
-
#prompt ⇒ String
readonly
The prompt attribute reader returns the text prompt associated with the object.
-
#stream ⇒ FalseClass
readonly
The stream attribute reader returns the streaming behavior setting associated with the object.
Class Method Summary collapse
-
.path ⇒ String
The path method returns the API endpoint path for embeddings requests.
Instance Method Summary collapse
-
#initialize(model:, prompt:, options: nil, keep_alive: nil) ⇒ Embeddings
constructor
The initialize method sets up a new instance with streaming disabled.
-
#perform(handler) ⇒ self
The perform method executes a command request using the specified handler.
Methods included from DTO
#==, #as_array, #as_array_of_hashes, #as_hash, #as_json, #empty?, #to_json
Constructor Details
#initialize(model:, prompt:, options: nil, keep_alive: nil) ⇒ Embeddings
The initialize method sets up a new instance with streaming disabled.
This method is responsible for initializing a new object instance and configuring it with parameters required for embedding operations. It sets up the model, prompt text, and optional parameters while explicitly disabling streaming since embedding operations are typically non-streaming.
35 36 37 38 |
# File 'lib/ollama/commands/embeddings.rb', line 35 def initialize(model:, prompt:, options: nil, keep_alive: nil) @model, @prompt, @options, @keep_alive, @stream = model, prompt, , keep_alive, false end |
Instance Attribute Details
#client=(value) ⇒ Object (writeonly)
The client attribute writer allows setting the client instance associated with the object.
This method assigns the client that will be used to perform requests and handle responses for this command. It is typically called internally when a command is executed through a client instance.
75 76 77 |
# File 'lib/ollama/commands/embeddings.rb', line 75 def client=(value) @client = value end |
#keep_alive ⇒ String? (readonly)
The keep_alive attribute reader returns the keep-alive duration associated with the object.
58 59 60 |
# File 'lib/ollama/commands/embeddings.rb', line 58 def keep_alive @keep_alive end |
#model ⇒ String (readonly)
The model attribute reader returns the model name associated with the object.
43 44 45 |
# File 'lib/ollama/commands/embeddings.rb', line 43 def model @model end |
#options ⇒ Ollama::Options? (readonly)
The options attribute reader returns the model configuration options associated with the object.
53 54 55 |
# File 'lib/ollama/commands/embeddings.rb', line 53 def @options end |
#prompt ⇒ String (readonly)
The prompt attribute reader returns the text prompt associated with the object.
48 49 50 |
# File 'lib/ollama/commands/embeddings.rb', line 48 def prompt @prompt end |
#stream ⇒ FalseClass (readonly)
The stream attribute reader returns the streaming behavior setting associated with the object.
65 66 67 |
# File 'lib/ollama/commands/embeddings.rb', line 65 def stream @stream end |
Class Method Details
.path ⇒ String
The path method returns the API endpoint path for embeddings requests.
This class method provides the specific URL path used to interact with the Ollama API's embeddings endpoint. It is utilized internally by the command structure to determine the correct API route for generating embeddings.
20 21 22 |
# File 'lib/ollama/commands/embeddings.rb', line 20 def self.path '/api/embeddings' end |
Instance Method Details
#perform(handler) ⇒ self
The perform method executes a command request using the specified handler.
This method initiates a POST request to the Ollama API's embeddings endpoint, utilizing the client instance to send the request and process responses through the provided handler. It handles non-streaming scenarios since embeddings commands do not support streaming.
responses
88 89 90 |
# File 'lib/ollama/commands/embeddings.rb', line 88 def perform(handler) @client.request(method: :post, path: self.class.path, body: to_json, stream:, handler:) end |