Commit 67bceef
Changed files (3)
exe/elelem-llama
@@ -0,0 +1,8 @@
+#!/usr/bin/env ruby
+# frozen_string_literal: true
+
+require "elelem/cli"
+
+Signal.trap("INT") { exit 1 }
+
+Elelem::CLI.new(["chat", "--provider", "llama", *ARGV]).run
lib/elelem/llama/plugin.rb → lib/elelem/llama/plugins/provider.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
-require "elelem"
-require_relative "../llama"
+require "elelem/plugins"
+require_relative "../../llama"
Elelem::Providers.register(:llama) do
gpu = %w[vulkan cuda metal].include?(Elelem::Llama::Client.backend)
elelem-llama.gemspec
@@ -23,7 +23,8 @@ Gem::Specification.new do |spec|
"lib/elelem/llama.rb",
"lib/elelem/llama/version.rb",
"lib/elelem/llama/client.rb",
- "lib/elelem/llama/plugin.rb",
+ "lib/elelem/llama/plugins/provider.rb",
+ "exe/elelem-llama",
"ext/elelem/llama/elelem.cpp",
"ext/elelem/llama/extconf.rb",
]
@@ -31,9 +32,12 @@ Gem::Specification.new do |spec|
# extension below, so it must ship in the gem.
spec.files += Dir["vendor/llama.cpp/**/*"].select { |path| File.file?(path) }
spec.extensions = ["ext/elelem/llama/extconf.rb"]
+ spec.bindir = "exe"
+ spec.executables = ["elelem-llama"]
spec.require_paths = ["lib"]
- spec.add_dependency "elelem", "~> 0.1"
+ spec.add_dependency "elelem-plugins", "~> 0.1"
+ spec.add_dependency "elelem-cli", "~> 0.1"
spec.add_dependency "fiddle", "~> 1.1"
spec.add_dependency "json", "~> 2.21"
end