Skip to content

Commit 29346d5

Browse files
rename llamafile to llamafile_cli
1 parent 3233b9a commit 29346d5

File tree

9 files changed

+52
-52
lines changed

9 files changed

+52
-52
lines changed

lib/rspec/llama.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,20 @@ module Llama
1212
# Model configurations
1313
OpenaiModelConfiguration: 'rspec/llama/model_configurations/openai_model_configuration',
1414
LlamaCppModelConfiguration: 'rspec/llama/model_configurations/llama_cpp_model_configuration',
15-
LlamafileModelConfiguration: 'rspec/llama/model_configurations/llamafile_model_configuration',
15+
LlamafileCliModelConfiguration: 'rspec/llama/model_configurations/llamafile_cli_model_configuration',
1616
OllamaModelConfiguration: 'rspec/llama/model_configurations/ollama_model_configuration',
1717

1818
# Model runners
1919
OpenaiModelRunner: 'rspec/llama/model_runners/openai_model_runner',
2020
LlamaCppModelRunner: 'rspec/llama/model_runners/llama_cpp_model_runner',
21-
LlamafileModelRunner: 'rspec/llama/model_runners/llamafile_model_runner',
21+
LlamafileCliModelRunner: 'rspec/llama/model_runners/llamafile_cli_model_runner',
2222
OllamaModelRunner: 'rspec/llama/model_runners/ollama_model_runner',
2323

2424
# Model runner results
2525
BaseModelRunnerResult: 'rspec/llama/model_runner_results/base_model_runner_result',
2626
OpenaiModelRunnerResult: 'rspec/llama/model_runner_results/openai_model_runner_result',
2727
LlamaCppModelRunnerResult: 'rspec/llama/model_runner_results/llama_cpp_model_runner_result',
28-
LlamafileModelRunnerResult: 'rspec/llama/model_runner_results/llamafile_model_runner_result',
28+
LlamafileCliModelRunnerResult: 'rspec/llama/model_runner_results/llamafile_cli_model_runner_result',
2929
OllamaModelRunnerResult: 'rspec/llama/model_runner_results/ollama_model_runner_result'
3030
}.each { |class_name, path| autoload class_name, path }
3131
end

lib/rspec/llama/helpers.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ module Helpers
77
openai: 'OpenaiModelRunner',
88
ollama: 'OllamaModelRunner',
99
llama_cpp: 'LlamaCppModelRunner',
10-
llamafile: 'LlamafileModelRunner'
10+
llamafile_cli: 'LlamafileCliModelRunner'
1111
}.freeze
1212

1313
CONFIGURATION_TYPES = {
1414
openai: 'OpenaiModelConfiguration',
1515
ollama: 'OllamaModelConfiguration',
1616
llama_cpp: 'LlamaCppModelConfiguration',
17-
llamafile: 'LlamafileModelConfiguration'
17+
llamafile_cli: 'LlamafileCliModelConfiguration'
1818
}.freeze
1919

2020
ASSERTION_TYPES = {

lib/rspec/llama/model_configurations/llamafile_model_configuration.rb renamed to lib/rspec/llama/model_configurations/llamafile_cli_model_configuration.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module RSpec
44
module Llama
5-
class LlamafileModelConfiguration
5+
class LlamafileCliModelConfiguration
66
DEFAULT_TEMPERATURE = 0.5
77
DEFAULT_PREDICT = 500
88

@@ -18,10 +18,10 @@ class LlamafileModelConfiguration
1818
# are either true (for flags) or values for key-value pairs. These options are passed directly to the CLI.
1919
#
2020
# @example Basic usage with a specific model path and default parameters
21-
# config = RSpec::Llama::LlamafileModelConfiguration.new
21+
# config = RSpec::Llama::LlamafileCliModelConfiguration.new
2222
#
2323
# @example Custom parameters and additional CLI options
24-
# config = RSpec::Llama::LlamafileModelConfiguration.new(
24+
# config = RSpec::Llama::LlamafileCliModelConfiguration.new(
2525
# temperature: 0.7, predict: 300, threads: 8
2626
# )
2727
def initialize(

lib/rspec/llama/model_runner_results/llamafile_model_runner_result.rb renamed to lib/rspec/llama/model_runner_results/llamafile_cli_model_runner_result.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module RSpec
44
module Llama
5-
class LlamafileModelRunnerResult
5+
class LlamafileCliModelRunnerResult
66
attr_reader :result
77

88
def initialize(result)
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# frozen_string_literal: true
2+
3+
module RSpec
4+
module Llama
5+
class LlamafileCliModelRunner
6+
attr_reader :path
7+
8+
def initialize(path:)
9+
@path = path
10+
end
11+
12+
# Runs the model with the given configuration and prompt.
13+
#
14+
# @param [RSpec::Llama::LlamafileCliModelConfiguration] configuration
15+
# @param [RSpec::Llama::ModelPrompt] prompt
16+
#
17+
# @return [RSpec::Llama::LlamafileCliModelRunnerResult]
18+
def call(configuration, prompt)
19+
command = [path, '--prompt', prompt.message] + configuration.to_a
20+
21+
IO.popen(command, 'r+') do |io|
22+
LlamafileCliModelRunnerResult.new(io.read)
23+
end
24+
end
25+
end
26+
end
27+
end

lib/rspec/llama/model_runners/llamafile_model_runner.rb

Lines changed: 0 additions & 27 deletions
This file was deleted.

spec/rspec/llama/helpers_spec.rb

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,24 +60,24 @@
6060
end
6161
end
6262

63-
context 'with llamafile model configuration' do
64-
it 'builds a LlamafileModelConfiguration with default options' do
65-
config = helpers.build_model_configuration(:llamafile)
63+
context 'with llamafile_cli model configuration' do
64+
it 'builds a LlamafileCliModelConfiguration with default options' do
65+
config = helpers.build_model_configuration(:llamafile_cli)
6666

6767
expect(config).to have_attributes(
68-
class: RSpec::Llama::LlamafileModelConfiguration,
68+
class: RSpec::Llama::LlamafileCliModelConfiguration,
6969
temperature: 0.5,
7070
predict: 500
7171
)
7272
end
7373

7474
it 'builds a LlamaCppModelConfiguration with given options' do
7575
config = helpers.build_model_configuration(
76-
:llamafile, temperature: 0.7, threads: 8, predict: 100
76+
:llamafile_cli, temperature: 0.7, threads: 8, predict: 100
7777
)
7878

7979
expect(config).to have_attributes(
80-
class: RSpec::Llama::LlamafileModelConfiguration,
80+
class: RSpec::Llama::LlamafileCliModelConfiguration,
8181
temperature: 0.7,
8282
predict: 100,
8383
additional_options: { threads: 8 }
@@ -121,12 +121,12 @@
121121
)
122122
end
123123

124-
it 'builds a LlamafileModelRunner' do
125-
runner = helpers.build_model_runner(:llamafile, cli_path: '/path/to/llamafile')
124+
it 'builds a LlamafileCliModelRunner' do
125+
runner = helpers.build_model_runner(:llamafile_cli, path: '/path/to/llamafile')
126126

127127
expect(runner).to have_attributes(
128-
class: RSpec::Llama::LlamafileModelRunner,
129-
cli_path: '/path/to/llamafile'
128+
class: RSpec::Llama::LlamafileCliModelRunner,
129+
path: '/path/to/llamafile'
130130
)
131131
end
132132
end

spec/rspec/llama/model_configurations/llamafile_model_configuration_spec.rb renamed to spec/rspec/llama/model_configurations/llamafile_cli_model_configuration_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# frozen_string_literal: true
22

3-
RSpec.describe RSpec::Llama::LlamafileModelConfiguration do
3+
RSpec.describe RSpec::Llama::LlamafileCliModelConfiguration do
44
describe '#initialize' do
55
it 'initializes with default options' do
66
config = described_class.new

spec/rspec/llama/model_runners/llamafile_model_runner_spec.rb renamed to spec/rspec/llama/model_runners/llamafile_cli_model_runner_spec.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# frozen_string_literal: true
22

3-
RSpec.describe RSpec::Llama::LlamafileModelRunner do
4-
subject(:call_runner!) { described_class.new(cli_path:).call(model_configuration, model_prompt) }
3+
RSpec.describe RSpec::Llama::LlamafileCliModelRunner do
4+
subject(:call_runner!) { described_class.new(path: cli_path).call(model_configuration, model_prompt) }
55

66
let(:cli_path) { './llava-v1.5-7b-q4.llamafile' }
77
let(:cli_options) { ['--cli', '--silent-prompt', '--log-disable', '--temp', '0.1', '--seed', '20'] }
8-
let(:model_configuration) { instance_double(RSpec::Llama::LlamafileModelConfiguration, to_a: cli_options) }
8+
let(:model_configuration) { instance_double(RSpec::Llama::LlamafileCliModelConfiguration, to_a: cli_options) }
99
let(:model_prompt) { 'Who created the Ruby language?' }
1010
let(:response) do
1111
'Matz, a Japanese computer programmer, created the Ruby programming language. He released the first ' \
@@ -19,8 +19,8 @@
1919

2020
result = call_runner!
2121

22-
expect(result).to have_attributes(class: RSpec::Llama::LlamafileModelRunnerResult, to_s: response)
23-
expect(IO).to have_received(:popen).with([cli_path, '--prompt', model_prompt_message] + cli_options, 'r+')
22+
expect(result).to have_attributes(class: RSpec::Llama::LlamafileCliModelRunnerResult, to_s: response)
23+
expect(IO).to have_received(:popen).with([cli_path, '--prompt', model_prompt] + cli_options, 'r+')
2424
end
2525
end
2626
end

0 commit comments

Comments
 (0)