Class: Legion::Extensions::Llm::Anthropic::Provider
- Inherits:
-
LexLLM::Provider
- Object
- LexLLM::Provider
- Legion::Extensions::Llm::Anthropic::Provider
- Defined in:
- lib/legion/extensions/llm/anthropic/provider.rb
Overview
Anthropic Messages API provider implementation for the LexLLM contract.
Defined Under Namespace
Modules: Capabilities
Class Method Summary collapse
- .capabilities ⇒ Object
- .configuration_options ⇒ Object
- .configuration_requirements ⇒ Object
- .slug ⇒ Object
Instance Method Summary collapse
- #api_base ⇒ Object
- #completion_url ⇒ Object
- #embed(_text, model:, dimensions:) ⇒ Object
- #headers ⇒ Object
- #models_url ⇒ Object
- #stream_url ⇒ Object
Class Method Details
.capabilities ⇒ Object
16 |
# File 'lib/legion/extensions/llm/anthropic/provider.rb', line 16 def capabilities = Capabilities |
.configuration_options ⇒ Object
14 |
# File 'lib/legion/extensions/llm/anthropic/provider.rb', line 14 def = %i[anthropic_api_key anthropic_api_base anthropic_version] |
.configuration_requirements ⇒ Object
15 |
# File 'lib/legion/extensions/llm/anthropic/provider.rb', line 15 def configuration_requirements = %i[anthropic_api_key] |
.slug ⇒ Object
13 |
# File 'lib/legion/extensions/llm/anthropic/provider.rb', line 13 def slug = 'anthropic' |
Instance Method Details
#api_base ⇒ Object
30 31 32 |
# File 'lib/legion/extensions/llm/anthropic/provider.rb', line 30 def api_base config.anthropic_api_base || 'https://api.anthropic.com' end |
#completion_url ⇒ Object
41 |
# File 'lib/legion/extensions/llm/anthropic/provider.rb', line 41 def completion_url = '/v1/messages' |
#embed(_text, model:, dimensions:) ⇒ Object
45 46 47 |
# File 'lib/legion/extensions/llm/anthropic/provider.rb', line 45 def (_text, model:, dimensions:) raise NotImplementedError, 'Anthropic does not expose embeddings through this provider' end |
#headers ⇒ Object
34 35 36 37 38 39 |
# File 'lib/legion/extensions/llm/anthropic/provider.rb', line 34 def headers { 'x-api-key' => config.anthropic_api_key, 'anthropic-version' => config.anthropic_version || '2023-06-01' }.compact end |
#models_url ⇒ Object
43 |
# File 'lib/legion/extensions/llm/anthropic/provider.rb', line 43 def models_url = '/v1/models' |
#stream_url ⇒ Object
42 |
# File 'lib/legion/extensions/llm/anthropic/provider.rb', line 42 def stream_url = completion_url |