Module: LanguageOperator::CLI::Helpers::ProviderHelper
- Included in:
- Wizards::ModelWizard
- Defined in:
- lib/language_operator/cli/helpers/provider_helper.rb
Overview
LLM provider operations for CLI wizards
Provides helpers for testing provider connections and fetching available models.
Instance Method Summary collapse
-
#fetch_provider_models(provider, api_key: nil, endpoint: nil) ⇒ Array<String>?
Fetch available models from a provider.
-
#test_provider_connection(provider, api_key: nil, endpoint: nil) ⇒ Hash
Test connection to an LLM provider.
Instance Method Details
#fetch_provider_models(provider, api_key: nil, endpoint: nil) ⇒ Array<String>?
Fetch available models from a provider
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/language_operator/cli/helpers/provider_helper.rb', line 50 def fetch_provider_models(provider, api_key: nil, endpoint: nil) case provider when :anthropic # Anthropic doesn't have a public /v1/models endpoint [ 'claude-3-5-sonnet-20241022', 'claude-3-opus-20240229', 'claude-3-sonnet-20240229', 'claude-3-haiku-20240307' ] when :openai fetch_openai_models(api_key) when :openai_compatible fetch_openai_compatible_models(endpoint, api_key) end rescue StandardError => e Formatters::ProgressFormatter.warn("Could not fetch models: #{e.}") nil end |
#test_provider_connection(provider, api_key: nil, endpoint: nil) ⇒ Hash
Test connection to an LLM provider
29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/language_operator/cli/helpers/provider_helper.rb', line 29 def test_provider_connection(provider, api_key: nil, endpoint: nil) require 'ruby_llm' case provider when :anthropic test_anthropic(api_key) when :openai test_openai(api_key) when :openai_compatible test_openai_compatible(endpoint, api_key) else { success: false, error: "Unknown provider: #{provider}" } end end |