Module: Spectre
- Defined in:
- lib/spectre/version.rb,
lib/spectre.rb,
lib/spectre/claude.rb,
lib/spectre/errors.rb,
lib/spectre/gemini.rb,
lib/spectre/ollama.rb,
lib/spectre/openai.rb,
lib/spectre/prompt.rb,
lib/spectre/logging.rb,
lib/spectre/embeddable.rb,
lib/spectre/openrouter.rb,
lib/spectre/searchable.rb,
lib/spectre/gemini/embeddings.rb,
lib/spectre/ollama/embeddings.rb,
lib/spectre/openai/embeddings.rb,
lib/spectre/claude/completions.rb,
lib/spectre/gemini/completions.rb,
lib/spectre/ollama/completions.rb,
lib/spectre/openai/completions.rb,
lib/spectre/openrouter/embeddings.rb,
lib/spectre/openrouter/completions.rb,
lib/generators/spectre/install_generator.rb
Overview
Defined Under Namespace
Modules: ClassMethods, Claude, Embeddable, Gemini, Generators, Logging, Ollama, Openai, Openrouter, Searchable
Classes: APIKeyNotConfiguredError, ClaudeConfiguration, Configuration, GeminiConfiguration, HostNotConfiguredError, OllamaConfiguration, OpenaiConfiguration, OpenrouterConfiguration, Prompt
Constant Summary
collapse
- VALID_LLM_PROVIDERS =
{
openai: Spectre::Openai,
ollama: Spectre::Ollama,
claude: Spectre::Claude,
gemini: Spectre::Gemini,
openrouter: Spectre::Openrouter
}.freeze
- VERSION =
"2.1.0"
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.config ⇒ Object
Returns the value of attribute config.
102
103
104
|
# File 'lib/spectre.rb', line 102
def config
@config
end
|
Class Method Details
.claude_configuration ⇒ Object
126
127
128
|
# File 'lib/spectre.rb', line 126
def claude_configuration
config.providers[:claude]
end
|
.gemini_configuration ⇒ Object
130
131
132
|
# File 'lib/spectre.rb', line 130
def gemini_configuration
config.providers[:gemini]
end
|
.included(base) ⇒ Object
24
25
26
|
# File 'lib/spectre.rb', line 24
def self.included(base)
base.extend ClassMethods
end
|
.ollama_configuration ⇒ Object
122
123
124
|
# File 'lib/spectre.rb', line 122
def ollama_configuration
config.providers[:ollama]
end
|
.openai_configuration ⇒ Object
118
119
120
|
# File 'lib/spectre.rb', line 118
def openai_configuration
config.providers[:openai]
end
|
.openrouter_configuration ⇒ Object
134
135
136
|
# File 'lib/spectre.rb', line 134
def openrouter_configuration
config.providers[:openrouter]
end
|
.provider_configuration ⇒ Object
114
115
116
|
# File 'lib/spectre.rb', line 114
def provider_configuration
config.provider_configuration
end
|
.provider_module ⇒ Object
110
111
112
|
# File 'lib/spectre.rb', line 110
def provider_module
VALID_LLM_PROVIDERS[config.default_llm_provider] || raise("LLM provider #{config.default_llm_provider} not supported")
end
|
.setup {|config| ... } ⇒ Object
104
105
106
107
108
|
# File 'lib/spectre.rb', line 104
def setup
self.config ||= Configuration.new
yield config
validate_llm_provider!
end
|