Module: ActiveRecordVector
- Defined in:
- lib/active_record_vector.rb,
lib/active_record_vector/model.rb,
lib/active_record_vector/chunker.rb,
lib/active_record_vector/version.rb,
lib/active_record_vector/distance.rb,
lib/active_record_vector/providers/base.rb,
lib/active_record_vector/migration_helper.rb,
lib/active_record_vector/providers/cohere.rb,
lib/active_record_vector/providers/custom.rb,
lib/active_record_vector/providers/ollama.rb,
lib/active_record_vector/providers/openai.rb
Defined Under Namespace
Modules: Distance, MigrationHelper, Model, Providers Classes: Chunker, Error
Constant Summary collapse
- VERSION =
"0.1.0"
Class Method Summary collapse
-
.provider_for(provider_name, options = {}) ⇒ Object
Provider registry lookup.
Class Method Details
.provider_for(provider_name, options = {}) ⇒ Object
Provider registry lookup
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/active_record_vector.rb', line 19 def provider_for(provider_name, = {}) case provider_name.to_sym when :openai Providers::Openai.new() when :ollama Providers::Ollama.new() when :cohere Providers::Cohere.new() when :custom Providers::Custom.new() else if provider_name.is_a?(Class) && provider_name < Providers::Base provider_name.new() elsif provider_name.respond_to?(:call) || provider_name.respond_to?(:embed) Providers::Custom.new(.merge(with: provider_name)) else raise Error, "Unknown embedding provider: #{provider_name.inspect}" end end end |