ollama-ruby 1.9.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +2 -0
- data/bin/ollama_browse +9 -1
- data/bin/ollama_cli +24 -0
- data/bin/ollama_console +17 -0
- data/bin/ollama_ps +127 -0
- data/bin/ollama_update +10 -0
- data/lib/ollama/version.rb +1 -1
- data/ollama-ruby.gemspec +5 -3
- metadata +30 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 43410ed3f73c25f595c4911157b8cda7135fe47ee25ae897845f3f5af4f52f83
         | 
| 4 | 
            +
              data.tar.gz: 5b4ad79b29c61394f9b42d6d0a70cd20a03be733173d860aa26236c682611d30
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 2a82d59d98c2f0f4230bb830fbc0327e349cd4a399ea4e9aa45423f5a5319e39ff8ba4cf8a82113225c12ba08f3c7714ddc6e26162dd66f8743a120166cfa427
         | 
| 7 | 
            +
              data.tar.gz: 174b3426b0830fe6609470c412f960693ddede0a6a309aa9530f53d9a16370010839e77fdac162e8d4204b24778948f2d4df2c928af74acbe4a49664970019fd
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -33,6 +33,8 @@ GemHadar do | |
| 33 33 | 
             
              dependency             'term-ansicolor',        '~> 1.11'
         | 
| 34 34 | 
             
              dependency             'kramdown-ansi',         '~> 0.0', '>= 0.0.1'
         | 
| 35 35 | 
             
              dependency             'ostruct',               '~> 0.0'
         | 
| 36 | 
            +
              dependency             'tabulo',                '~> 3.0'
         | 
| 37 | 
            +
              dependency             'nokogiri',              '~> 1.0'
         | 
| 36 38 | 
             
              development_dependency 'all_images',            '~> 0.6'
         | 
| 37 39 | 
             
              development_dependency 'rspec',                 '~> 3.2'
         | 
| 38 40 | 
             
              development_dependency 'kramdown',              '~> 2.0'
         | 
    
        data/bin/ollama_browse
    CHANGED
    
    | @@ -1,4 +1,11 @@ | |
| 1 1 | 
             
            #!/usr/bin/env ruby
         | 
| 2 | 
            +
            #
         | 
| 3 | 
            +
            # Browse Ollama model tags and their metadata from the official registry.
         | 
| 4 | 
            +
            #
         | 
| 5 | 
            +
            # This script fetches and displays information about available tags for a
         | 
| 6 | 
            +
            # specified Ollama model from the official Ollama library. It shows file sizes,
         | 
| 7 | 
            +
            # context sizes, and hash information for each tag, making it easy to compare
         | 
| 8 | 
            +
            # different model variants.
         | 
| 2 9 |  | 
| 3 10 | 
             
            require 'term/ansicolor'
         | 
| 4 11 | 
             
            include Term::ANSIColor
         | 
| @@ -21,7 +28,7 @@ doc  = Nokogiri::HTML(body) | |
| 21 28 | 
             
            # They are never permitted to change the structure of this HTML…
         | 
| 22 29 | 
             
            css        = 'section div div .group.px-4.py-3'
         | 
| 23 30 | 
             
            tags = (doc / css).map do |element|
         | 
| 24 | 
            -
              tagged_name             = (element / 'a div div div span').text
         | 
| 31 | 
            +
              tagged_name             = (element / 'a div div div span').first&.text
         | 
| 25 32 | 
             
              file_size, context_size = (element / 'p').map(&:text)
         | 
| 26 33 | 
             
              hash                    = (element / 'a .text-neutral-500 span .font-mono').text
         | 
| 27 34 | 
             
              [ tagged_name, file_size, context_size, hash ]
         | 
| @@ -29,6 +36,7 @@ end.group_by(&:last) | |
| 29 36 |  | 
| 30 37 | 
             
            puts bold('Model: ') + hyperlink(tags_url) { model }
         | 
| 31 38 | 
             
            tags.each do |hash, tagged_blobs|
         | 
| 39 | 
            +
              hash = hash.strip
         | 
| 32 40 | 
             
              print bold(hash)
         | 
| 33 41 | 
             
              first_blob = true
         | 
| 34 42 | 
             
              tagged_blobs.each do |(tag, _), file_size, context_size|
         | 
    
        data/bin/ollama_cli
    CHANGED
    
    | @@ -1,4 +1,28 @@ | |
| 1 1 | 
             
            #!/usr/bin/env ruby
         | 
| 2 | 
            +
            #
         | 
| 3 | 
            +
            # Ollama CLI tool for interacting with Ollama models via command line.
         | 
| 4 | 
            +
            #
         | 
| 5 | 
            +
            # This script provides a command-line interface to communicate with Ollama
         | 
| 6 | 
            +
            # models, supporting chat sessions, prompt templating, and various
         | 
| 7 | 
            +
            # configuration options. It can be used for both interactive and automated
         | 
| 8 | 
            +
            # model interactions.
         | 
| 9 | 
            +
            #
         | 
| 10 | 
            +
            # Features:
         | 
| 11 | 
            +
            #   - Chat sessions with model responses
         | 
| 12 | 
            +
            #   - Prompt templating with variable substitution
         | 
| 13 | 
            +
            #   - Streaming and thinking modes
         | 
| 14 | 
            +
            #   - Configuration via environment variables or command-line options
         | 
| 15 | 
            +
            #   - JSON-based chat history persistence
         | 
| 16 | 
            +
            #
         | 
| 17 | 
            +
            # Environment Variables:
         | 
| 18 | 
            +
            #   - OLLAMA_URL: Base URL for Ollama server (default: 'http://localhost')
         | 
| 19 | 
            +
            #   - OLLAMA_HOST: Hostname for Ollama server (used when OLLAMA_URL not set)
         | 
| 20 | 
            +
            #   - OLLAMA_CLIENT: JSON configuration for client
         | 
| 21 | 
            +
            #   - OLLAMA_MODEL: Default model to use (default: 'llama3.1')
         | 
| 22 | 
            +
            #   - OLLAMA_MODEL_OPTIONS: JSON model options
         | 
| 23 | 
            +
            #   - OLLAMA_SYSTEM: Default system prompt
         | 
| 24 | 
            +
            #   - OLLAMA_PROMPT: Default user prompt
         | 
| 25 | 
            +
            #   - DEBUG: Set to 1 for verbose output
         | 
| 2 26 |  | 
| 3 27 | 
             
            require 'ollama'
         | 
| 4 28 | 
             
            include Ollama
         | 
    
        data/bin/ollama_console
    CHANGED
    
    | @@ -1,4 +1,21 @@ | |
| 1 1 | 
             
            #!/usr/bin/env ruby
         | 
| 2 | 
            +
            #
         | 
| 3 | 
            +
            # A console interface for interacting with the Ollama API.
         | 
| 4 | 
            +
            #
         | 
| 5 | 
            +
            # This script provides an interactive Ruby console (IRB) pre-configured with an
         | 
| 6 | 
            +
            # Ollama client instance, enabling direct experimentation with the Ollama API.
         | 
| 7 | 
            +
            # It automatically loads the Ollama client with the appropriate base URL, which
         | 
| 8 | 
            +
            # can be configured via environment variables.
         | 
| 9 | 
            +
            #
         | 
| 10 | 
            +
            # Environment Variables:
         | 
| 11 | 
            +
            #   - OLLAMA_URL: The base URL of the Ollama API server (e.g., 'http://localhost:11434').
         | 
| 12 | 
            +
            #   - OLLAMA_HOST: Fallback host for constructing the base URL if OLLAMA_URL is not set.
         | 
| 13 | 
            +
            #
         | 
| 14 | 
            +
            # The script will:
         | 
| 15 | 
            +
            # - Initialize an Ollama client with the configured base URL
         | 
| 16 | 
            +
            # - Start an IRB session with the client available as the `ollama` variable
         | 
| 17 | 
            +
            # - Display version and connection information
         | 
| 18 | 
            +
            # - Show available API methods via `ollama.help`
         | 
| 2 19 |  | 
| 3 20 | 
             
            require 'ollama'
         | 
| 4 21 | 
             
            include Ollama
         | 
    
        data/bin/ollama_ps
    ADDED
    
    | @@ -0,0 +1,127 @@ | |
| 1 | 
            +
            #!/usr/bin/env ruby
         | 
| 2 | 
            +
            #
         | 
| 3 | 
            +
            # A utility script that displays information about running Ollama models in a
         | 
| 4 | 
            +
            # formatted table.
         | 
| 5 | 
            +
            #
         | 
| 6 | 
            +
            # This script queries the Ollama API's /api/ps endpoint and presents running
         | 
| 7 | 
            +
            # models with detailed information including:
         | 
| 8 | 
            +
            #
         | 
| 9 | 
            +
            # * Model name and ID
         | 
| 10 | 
            +
            # * Memory usage (size and processor allocation)
         | 
| 11 | 
            +
            # * Context window length
         | 
| 12 | 
            +
            # * Parameter count and quantization level
         | 
| 13 | 
            +
            # * Time until expiration
         | 
| 14 | 
            +
            #
         | 
| 15 | 
            +
            # == Usage
         | 
| 16 | 
            +
            #
         | 
| 17 | 
            +
            #   ollama_ps
         | 
| 18 | 
            +
            #
         | 
| 19 | 
            +
            # The script uses the OLLAMA_URL environment variable for the API endpoint,
         | 
| 20 | 
            +
            # defaulting to 'http://' + OLLAMA_HOST if not set.
         | 
| 21 | 
            +
            #
         | 
| 22 | 
            +
            # == Output
         | 
| 23 | 
            +
            #
         | 
| 24 | 
            +
            # Displays a formatted table with columns:
         | 
| 25 | 
            +
            # * NAME - Model name
         | 
| 26 | 
            +
            # * ID - Truncated model digest
         | 
| 27 | 
            +
            # * SIZE - Human-readable model size
         | 
| 28 | 
            +
            # * PROCESSOR - CPU/GPU allocation percentage
         | 
| 29 | 
            +
            # * CONTEXT - Context window size
         | 
| 30 | 
            +
            # * PARAMS - Parameter count (e.g., 30.5B, 23M)
         | 
| 31 | 
            +
            # * QUANT - Quantization level (e.g., Q4_K_M, F16)
         | 
| 32 | 
            +
            # * UNTIL - Time until model expiration
         | 
| 33 | 
            +
             | 
| 34 | 
            +
            require 'ollama'
         | 
| 35 | 
            +
            include Ollama
         | 
| 36 | 
            +
            require 'tabulo'
         | 
| 37 | 
            +
             | 
| 38 | 
            +
            # The base_url method returns the Ollama API base URL.
         | 
| 39 | 
            +
            #
         | 
| 40 | 
            +
            # It first checks for the OLLAMA_URL environment variable.
         | 
| 41 | 
            +
            # If not set, it defaults to 'http://' followed by the OLLAMA_HOST environment
         | 
| 42 | 
            +
            # variable.
         | 
| 43 | 
            +
            #
         | 
| 44 | 
            +
            # @return [ String ] the base URL for the Ollama API
         | 
| 45 | 
            +
            def base_url
         | 
| 46 | 
            +
              ENV['OLLAMA_URL'] || 'http://%s' % ENV.fetch('OLLAMA_HOST')
         | 
| 47 | 
            +
            end
         | 
| 48 | 
            +
             | 
| 49 | 
            +
            # The format_bytes method formats a number of bytes into a human-readable
         | 
| 50 | 
            +
            # string with units.
         | 
| 51 | 
            +
            #
         | 
| 52 | 
            +
            # @param bytes [ Integer ] the number of bytes to format
         | 
| 53 | 
            +
            #
         | 
| 54 | 
            +
            # @return [ String ] a formatted string representing the byte value with
         | 
| 55 | 
            +
            #   appropriate units
         | 
| 56 | 
            +
            def format_bytes(bytes)
         | 
| 57 | 
            +
              Tins::Unit.format(bytes, format: '%.2f %U', unit: ?B)
         | 
| 58 | 
            +
            end
         | 
| 59 | 
            +
             | 
| 60 | 
            +
            # The format_expiry method converts an expiration time into a formatted
         | 
| 61 | 
            +
            # duration string.
         | 
| 62 | 
            +
            #
         | 
| 63 | 
            +
            # This method takes an expiration timestamp, calculates the time difference
         | 
| 64 | 
            +
            # from the current time, and formats it into a human-readable duration string
         | 
| 65 | 
            +
            # showing days, hours, minutes, and seconds.
         | 
| 66 | 
            +
            #
         | 
| 67 | 
            +
            # @param expires_at [ String ] the expiration timestamp to be formatted
         | 
| 68 | 
            +
            #
         | 
| 69 | 
            +
            # @return [ String ] a formatted duration string representing the time until
         | 
| 70 | 
            +
            #   expiration
         | 
| 71 | 
            +
            def format_expiry(expires_at)
         | 
| 72 | 
            +
              Tins::Duration.new(Time.parse(expires_at) - Time.now).format('%S%d+%h:%m:%s')
         | 
| 73 | 
            +
            end
         | 
| 74 | 
            +
             | 
| 75 | 
            +
            # The format_processor method computes a CPU/GPU usage string based on memory
         | 
| 76 | 
            +
            # sizes.
         | 
| 77 | 
            +
            #
         | 
| 78 | 
            +
            # This method takes two memory size parameters and calculates the percentage of
         | 
| 79 | 
            +
            # GPU and CPU usage, returning a formatted string that indicates the
         | 
| 80 | 
            +
            # distribution of resources. It handles special cases where all memory is on
         | 
| 81 | 
            +
            # GPU or CPU, and calculates the percentage for mixed scenarios.
         | 
| 82 | 
            +
            #
         | 
| 83 | 
            +
            # @param size_vram [ Integer ] the amount of VRAM allocated
         | 
| 84 | 
            +
            # @param size_total [ Integer ] the total amount of memory available
         | 
| 85 | 
            +
            #
         | 
| 86 | 
            +
            # @return [ String ] a formatted string indicating CPU/GPU usage percentage
         | 
| 87 | 
            +
            #                     or special cases like "100% GPU" or "100% CPU"
         | 
| 88 | 
            +
            def format_processor(size_vram, size_total)
         | 
| 89 | 
            +
              if size_vram == size_total
         | 
| 90 | 
            +
                "100% GPU"
         | 
| 91 | 
            +
              elsif size_vram == 0
         | 
| 92 | 
            +
                "100% CPU"
         | 
| 93 | 
            +
              else
         | 
| 94 | 
            +
                cpu_percent = ((size_total - size_vram) * 100.0 / size_total).round(0)
         | 
| 95 | 
            +
                gpu_percent = 100 - cpu_percent
         | 
| 96 | 
            +
                "#{cpu_percent}%/#{gpu_percent}% CPU/GPU"
         | 
| 97 | 
            +
              end
         | 
| 98 | 
            +
            end
         | 
| 99 | 
            +
             | 
| 100 | 
            +
            # The ps method retrieves and displays information about running models in a
         | 
| 101 | 
            +
            # formatted table.
         | 
| 102 | 
            +
            #
         | 
| 103 | 
            +
            # This method creates a new Ollama client instance, fetches the list of running
         | 
| 104 | 
            +
            # models, and presents the information in a structured table format showing
         | 
| 105 | 
            +
            # model details such as name, ID, size, processor information, context length,
         | 
| 106 | 
            +
            # parameters, quantization level, and expiration time.
         | 
| 107 | 
            +
            #
         | 
| 108 | 
            +
            # @param base_url [ String, nil ] the base URL of the Ollama API endpoint, defaults to nil
         | 
| 109 | 
            +
            def ps
         | 
| 110 | 
            +
              ollama = Client.new(base_url:)
         | 
| 111 | 
            +
              result = ollama.ps
         | 
| 112 | 
            +
              models = result.models
         | 
| 113 | 
            +
             | 
| 114 | 
            +
              table = Tabulo::Table.new(models, border: :modern) do |t|
         | 
| 115 | 
            +
                t.add_column("NAME", &:name)
         | 
| 116 | 
            +
                t.add_column("ID") { |model| model.digest[0, 12] }
         | 
| 117 | 
            +
                t.add_column("SIZE", align_body: :right) { |model| format_bytes(model.size) }
         | 
| 118 | 
            +
                t.add_column("PROCESSOR") { |model| format_processor(model.size_vram, model.size) }
         | 
| 119 | 
            +
                t.add_column("CONTEXT") { |model| format_bytes(model.context_length) }
         | 
| 120 | 
            +
                t.add_column("PARAMS", align_body: :right) { |model| model.details&.parameter_size || 'n/a' }
         | 
| 121 | 
            +
                t.add_column("QUANT", align_body: :right) { |model| model.details&.quantization_level || 'n/a' }
         | 
| 122 | 
            +
                t.add_column("UNTIL") { |model| format_expiry(model.expires_at) }
         | 
| 123 | 
            +
              end
         | 
| 124 | 
            +
              puts table.pack
         | 
| 125 | 
            +
            end
         | 
| 126 | 
            +
             | 
| 127 | 
            +
            ps
         | 
    
        data/bin/ollama_update
    CHANGED
    
    | @@ -1,4 +1,14 @@ | |
| 1 1 | 
             
            #!/usr/bin/env ruby
         | 
| 2 | 
            +
            #
         | 
| 3 | 
            +
            # Updates all Ollama models to their latest versions.
         | 
| 4 | 
            +
            #
         | 
| 5 | 
            +
            # This script fetches all available models from the configured Ollama instance
         | 
| 6 | 
            +
            # and pulls the latest version of each model. It handles errors gracefully,
         | 
| 7 | 
            +
            # continuing to update remaining models even if one fails.
         | 
| 8 | 
            +
            #
         | 
| 9 | 
            +
            # Environment Variables:
         | 
| 10 | 
            +
            #   - OLLAMA_HOST: Hostname for the Ollama server (default: 'localhost')
         | 
| 11 | 
            +
            #   - OLLAMA_URL: Full URL for the Ollama server (overrides OLLAMA_HOST)
         | 
| 2 12 |  | 
| 3 13 | 
             
            require 'time'
         | 
| 4 14 | 
             
            require 'term/ansicolor'
         | 
    
        data/lib/ollama/version.rb
    CHANGED
    
    
    
        data/ollama-ruby.gemspec
    CHANGED
    
    | @@ -1,9 +1,9 @@ | |
| 1 1 | 
             
            # -*- encoding: utf-8 -*-
         | 
| 2 | 
            -
            # stub: ollama-ruby 1. | 
| 2 | 
            +
            # stub: ollama-ruby 1.10.0 ruby lib
         | 
| 3 3 |  | 
| 4 4 | 
             
            Gem::Specification.new do |s|
         | 
| 5 5 | 
             
              s.name = "ollama-ruby".freeze
         | 
| 6 | 
            -
              s.version = "1. | 
| 6 | 
            +
              s.version = "1.10.0".freeze
         | 
| 7 7 |  | 
| 8 8 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
         | 
| 9 9 | 
             
              s.require_paths = ["lib".freeze]
         | 
| @@ -13,7 +13,7 @@ Gem::Specification.new do |s| | |
| 13 13 | 
             
              s.email = "flori@ping.de".freeze
         | 
| 14 14 | 
             
              s.executables = ["ollama_console".freeze, "ollama_update".freeze, "ollama_cli".freeze, "ollama_browse".freeze]
         | 
| 15 15 | 
             
              s.extra_rdoc_files = ["README.md".freeze, "lib/ollama.rb".freeze, "lib/ollama/client.rb".freeze, "lib/ollama/client/command.rb".freeze, "lib/ollama/client/configuration/config.rb".freeze, "lib/ollama/client/doc.rb".freeze, "lib/ollama/commands/chat.rb".freeze, "lib/ollama/commands/copy.rb".freeze, "lib/ollama/commands/create.rb".freeze, "lib/ollama/commands/delete.rb".freeze, "lib/ollama/commands/embed.rb".freeze, "lib/ollama/commands/embeddings.rb".freeze, "lib/ollama/commands/generate.rb".freeze, "lib/ollama/commands/ps.rb".freeze, "lib/ollama/commands/pull.rb".freeze, "lib/ollama/commands/push.rb".freeze, "lib/ollama/commands/show.rb".freeze, "lib/ollama/commands/tags.rb".freeze, "lib/ollama/commands/version.rb".freeze, "lib/ollama/dto.rb".freeze, "lib/ollama/errors.rb".freeze, "lib/ollama/handlers.rb".freeze, "lib/ollama/handlers/collector.rb".freeze, "lib/ollama/handlers/concern.rb".freeze, "lib/ollama/handlers/dump_json.rb".freeze, "lib/ollama/handlers/dump_yaml.rb".freeze, "lib/ollama/handlers/markdown.rb".freeze, "lib/ollama/handlers/nop.rb".freeze, "lib/ollama/handlers/print.rb".freeze, "lib/ollama/handlers/progress.rb".freeze, "lib/ollama/handlers/say.rb".freeze, "lib/ollama/handlers/single.rb".freeze, "lib/ollama/image.rb".freeze, "lib/ollama/json_loader.rb".freeze, "lib/ollama/message.rb".freeze, "lib/ollama/options.rb".freeze, "lib/ollama/response.rb".freeze, "lib/ollama/tool.rb".freeze, "lib/ollama/tool/function.rb".freeze, "lib/ollama/tool/function/parameters.rb".freeze, "lib/ollama/tool/function/parameters/property.rb".freeze, "lib/ollama/version.rb".freeze]
         | 
| 16 | 
            -
              s.files = ["CHANGES.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "bin/ollama_browse".freeze, "bin/ollama_cli".freeze, "bin/ollama_console".freeze, "bin/ollama_update".freeze, "lib/ollama.rb".freeze, "lib/ollama/client.rb".freeze, "lib/ollama/client/command.rb".freeze, "lib/ollama/client/configuration/config.rb".freeze, "lib/ollama/client/doc.rb".freeze, "lib/ollama/commands/chat.rb".freeze, "lib/ollama/commands/copy.rb".freeze, "lib/ollama/commands/create.rb".freeze, "lib/ollama/commands/delete.rb".freeze, "lib/ollama/commands/embed.rb".freeze, "lib/ollama/commands/embeddings.rb".freeze, "lib/ollama/commands/generate.rb".freeze, "lib/ollama/commands/ps.rb".freeze, "lib/ollama/commands/pull.rb".freeze, "lib/ollama/commands/push.rb".freeze, "lib/ollama/commands/show.rb".freeze, "lib/ollama/commands/tags.rb".freeze, "lib/ollama/commands/version.rb".freeze, "lib/ollama/dto.rb".freeze, "lib/ollama/errors.rb".freeze, "lib/ollama/handlers.rb".freeze, "lib/ollama/handlers/collector.rb".freeze, "lib/ollama/handlers/concern.rb".freeze, "lib/ollama/handlers/dump_json.rb".freeze, "lib/ollama/handlers/dump_yaml.rb".freeze, "lib/ollama/handlers/markdown.rb".freeze, "lib/ollama/handlers/nop.rb".freeze, "lib/ollama/handlers/print.rb".freeze, "lib/ollama/handlers/progress.rb".freeze, "lib/ollama/handlers/say.rb".freeze, "lib/ollama/handlers/single.rb".freeze, "lib/ollama/image.rb".freeze, "lib/ollama/json_loader.rb".freeze, "lib/ollama/message.rb".freeze, "lib/ollama/options.rb".freeze, "lib/ollama/response.rb".freeze, "lib/ollama/tool.rb".freeze, "lib/ollama/tool/function.rb".freeze, "lib/ollama/tool/function/parameters.rb".freeze, "lib/ollama/tool/function/parameters/property.rb".freeze, "lib/ollama/version.rb".freeze, "ollama-ruby.gemspec".freeze, "spec/assets/client.json".freeze, "spec/assets/kitten.jpg".freeze, "spec/assets/options.json".freeze, "spec/ollama/client/doc_spec.rb".freeze, "spec/ollama/client_spec.rb".freeze, "spec/ollama/commands/chat_spec.rb".freeze, "spec/ollama/commands/copy_spec.rb".freeze, "spec/ollama/commands/create_spec.rb".freeze, "spec/ollama/commands/delete_spec.rb".freeze, "spec/ollama/commands/embed_spec.rb".freeze, "spec/ollama/commands/embeddings_spec.rb".freeze, "spec/ollama/commands/generate_spec.rb".freeze, "spec/ollama/commands/ps_spec.rb".freeze, "spec/ollama/commands/pull_spec.rb".freeze, "spec/ollama/commands/push_spec.rb".freeze, "spec/ollama/commands/show_spec.rb".freeze, "spec/ollama/commands/tags_spec.rb".freeze, "spec/ollama/commands/version_spec.rb".freeze, "spec/ollama/handlers/collector_spec.rb".freeze, "spec/ollama/handlers/dump_json_spec.rb".freeze, "spec/ollama/handlers/dump_yaml_spec.rb".freeze, "spec/ollama/handlers/markdown_spec.rb".freeze, "spec/ollama/handlers/nop_spec.rb".freeze, "spec/ollama/handlers/print_spec.rb".freeze, "spec/ollama/handlers/progress_spec.rb".freeze, "spec/ollama/handlers/say_spec.rb".freeze, "spec/ollama/handlers/single_spec.rb".freeze, "spec/ollama/image_spec.rb".freeze, "spec/ollama/message_spec.rb".freeze, "spec/ollama/options_spec.rb".freeze, "spec/ollama/tool_spec.rb".freeze, "spec/spec_helper.rb".freeze, "tmp/.keep".freeze]
         | 
| 16 | 
            +
              s.files = ["CHANGES.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "bin/ollama_browse".freeze, "bin/ollama_cli".freeze, "bin/ollama_console".freeze, "bin/ollama_ps".freeze, "bin/ollama_update".freeze, "lib/ollama.rb".freeze, "lib/ollama/client.rb".freeze, "lib/ollama/client/command.rb".freeze, "lib/ollama/client/configuration/config.rb".freeze, "lib/ollama/client/doc.rb".freeze, "lib/ollama/commands/chat.rb".freeze, "lib/ollama/commands/copy.rb".freeze, "lib/ollama/commands/create.rb".freeze, "lib/ollama/commands/delete.rb".freeze, "lib/ollama/commands/embed.rb".freeze, "lib/ollama/commands/embeddings.rb".freeze, "lib/ollama/commands/generate.rb".freeze, "lib/ollama/commands/ps.rb".freeze, "lib/ollama/commands/pull.rb".freeze, "lib/ollama/commands/push.rb".freeze, "lib/ollama/commands/show.rb".freeze, "lib/ollama/commands/tags.rb".freeze, "lib/ollama/commands/version.rb".freeze, "lib/ollama/dto.rb".freeze, "lib/ollama/errors.rb".freeze, "lib/ollama/handlers.rb".freeze, "lib/ollama/handlers/collector.rb".freeze, "lib/ollama/handlers/concern.rb".freeze, "lib/ollama/handlers/dump_json.rb".freeze, "lib/ollama/handlers/dump_yaml.rb".freeze, "lib/ollama/handlers/markdown.rb".freeze, "lib/ollama/handlers/nop.rb".freeze, "lib/ollama/handlers/print.rb".freeze, "lib/ollama/handlers/progress.rb".freeze, "lib/ollama/handlers/say.rb".freeze, "lib/ollama/handlers/single.rb".freeze, "lib/ollama/image.rb".freeze, "lib/ollama/json_loader.rb".freeze, "lib/ollama/message.rb".freeze, "lib/ollama/options.rb".freeze, "lib/ollama/response.rb".freeze, "lib/ollama/tool.rb".freeze, "lib/ollama/tool/function.rb".freeze, "lib/ollama/tool/function/parameters.rb".freeze, "lib/ollama/tool/function/parameters/property.rb".freeze, "lib/ollama/version.rb".freeze, "ollama-ruby.gemspec".freeze, "spec/assets/client.json".freeze, "spec/assets/kitten.jpg".freeze, "spec/assets/options.json".freeze, "spec/ollama/client/doc_spec.rb".freeze, "spec/ollama/client_spec.rb".freeze, "spec/ollama/commands/chat_spec.rb".freeze, "spec/ollama/commands/copy_spec.rb".freeze, "spec/ollama/commands/create_spec.rb".freeze, "spec/ollama/commands/delete_spec.rb".freeze, "spec/ollama/commands/embed_spec.rb".freeze, "spec/ollama/commands/embeddings_spec.rb".freeze, "spec/ollama/commands/generate_spec.rb".freeze, "spec/ollama/commands/ps_spec.rb".freeze, "spec/ollama/commands/pull_spec.rb".freeze, "spec/ollama/commands/push_spec.rb".freeze, "spec/ollama/commands/show_spec.rb".freeze, "spec/ollama/commands/tags_spec.rb".freeze, "spec/ollama/commands/version_spec.rb".freeze, "spec/ollama/handlers/collector_spec.rb".freeze, "spec/ollama/handlers/dump_json_spec.rb".freeze, "spec/ollama/handlers/dump_yaml_spec.rb".freeze, "spec/ollama/handlers/markdown_spec.rb".freeze, "spec/ollama/handlers/nop_spec.rb".freeze, "spec/ollama/handlers/print_spec.rb".freeze, "spec/ollama/handlers/progress_spec.rb".freeze, "spec/ollama/handlers/say_spec.rb".freeze, "spec/ollama/handlers/single_spec.rb".freeze, "spec/ollama/image_spec.rb".freeze, "spec/ollama/message_spec.rb".freeze, "spec/ollama/options_spec.rb".freeze, "spec/ollama/tool_spec.rb".freeze, "spec/spec_helper.rb".freeze, "tmp/.keep".freeze]
         | 
| 17 17 | 
             
              s.homepage = "https://github.com/flori/ollama-ruby".freeze
         | 
| 18 18 | 
             
              s.licenses = ["MIT".freeze]
         | 
| 19 19 | 
             
              s.rdoc_options = ["--title".freeze, "Ollama-ruby - Interacting with the Ollama API".freeze, "--main".freeze, "README.md".freeze]
         | 
| @@ -39,4 +39,6 @@ Gem::Specification.new do |s| | |
| 39 39 | 
             
              s.add_runtime_dependency(%q<term-ansicolor>.freeze, ["~> 1.11".freeze])
         | 
| 40 40 | 
             
              s.add_runtime_dependency(%q<kramdown-ansi>.freeze, ["~> 0.0".freeze, ">= 0.0.1".freeze])
         | 
| 41 41 | 
             
              s.add_runtime_dependency(%q<ostruct>.freeze, ["~> 0.0".freeze])
         | 
| 42 | 
            +
              s.add_runtime_dependency(%q<tabulo>.freeze, ["~> 3.0".freeze])
         | 
| 43 | 
            +
              s.add_runtime_dependency(%q<nokogiri>.freeze, ["~> 1.0".freeze])
         | 
| 42 44 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ollama-ruby
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.10.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Florian Frank
         | 
| @@ -225,6 +225,34 @@ dependencies: | |
| 225 225 | 
             
                - - "~>"
         | 
| 226 226 | 
             
                  - !ruby/object:Gem::Version
         | 
| 227 227 | 
             
                    version: '0.0'
         | 
| 228 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 229 | 
            +
              name: tabulo
         | 
| 230 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 231 | 
            +
                requirements:
         | 
| 232 | 
            +
                - - "~>"
         | 
| 233 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 234 | 
            +
                    version: '3.0'
         | 
| 235 | 
            +
              type: :runtime
         | 
| 236 | 
            +
              prerelease: false
         | 
| 237 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 238 | 
            +
                requirements:
         | 
| 239 | 
            +
                - - "~>"
         | 
| 240 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 241 | 
            +
                    version: '3.0'
         | 
| 242 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 243 | 
            +
              name: nokogiri
         | 
| 244 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 245 | 
            +
                requirements:
         | 
| 246 | 
            +
                - - "~>"
         | 
| 247 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 248 | 
            +
                    version: '1.0'
         | 
| 249 | 
            +
              type: :runtime
         | 
| 250 | 
            +
              prerelease: false
         | 
| 251 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 252 | 
            +
                requirements:
         | 
| 253 | 
            +
                - - "~>"
         | 
| 254 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 255 | 
            +
                    version: '1.0'
         | 
| 228 256 | 
             
            description: Library that allows interacting with the Ollama API
         | 
| 229 257 | 
             
            email: flori@ping.de
         | 
| 230 258 | 
             
            executables:
         | 
| @@ -285,6 +313,7 @@ files: | |
| 285 313 | 
             
            - bin/ollama_browse
         | 
| 286 314 | 
             
            - bin/ollama_cli
         | 
| 287 315 | 
             
            - bin/ollama_console
         | 
| 316 | 
            +
            - bin/ollama_ps
         | 
| 288 317 | 
             
            - bin/ollama_update
         | 
| 289 318 | 
             
            - lib/ollama.rb
         | 
| 290 319 | 
             
            - lib/ollama/client.rb
         |