Module: Legion::Extensions::Llm
- Defined in:
- lib/legion/extensions/llm.rb,
lib/legion/extensions/llm/tool.rb,
lib/legion/extensions/llm/error.rb,
lib/legion/extensions/llm/utils.rb,
lib/legion/extensions/llm/routing.rb,
lib/legion/extensions/llm/version.rb,
lib/legion/extensions/llm/provider.rb,
lib/legion/extensions/llm/canonical.rb,
lib/legion/extensions/llm/streaming.rb,
lib/legion/extensions/llm/connection.rb,
lib/legion/extensions/llm/taxonomies.rb,
lib/legion/extensions/llm/capabilities.rb,
lib/legion/extensions/llm/configuration.rb,
lib/legion/extensions/llm/fleet/protocol.rb,
lib/legion/extensions/llm/fleet/settings.rb,
lib/legion/extensions/llm/canonical/chunk.rb,
lib/legion/extensions/llm/canonical/usage.rb,
lib/legion/extensions/llm/discovery/actor.rb,
lib/legion/extensions/llm/routing/records.rb,
lib/legion/extensions/llm/canonical/params.rb,
lib/legion/extensions/llm/canonical/strict.rb,
lib/legion/extensions/llm/inventory/errors.rb,
lib/legion/extensions/llm/settings_cascade.rb,
lib/legion/extensions/llm/auto_registration.rb,
lib/legion/extensions/llm/canonical/message.rb,
lib/legion/extensions/llm/canonical/request.rb,
lib/legion/extensions/llm/capability_policy.rb,
lib/legion/extensions/llm/fleet/token_error.rb,
lib/legion/extensions/llm/inventory/records.rb,
lib/legion/extensions/llm/provider_contract.rb,
lib/legion/extensions/llm/provider_settings.rb,
lib/legion/extensions/llm/canonical/response.rb,
lib/legion/extensions/llm/canonical/thinking.rb,
lib/legion/extensions/llm/credential_sources.rb,
lib/legion/extensions/llm/discovery/pipeline.rb,
lib/legion/extensions/llm/inventory/evidence.rb,
lib/legion/extensions/llm/inventory/identity.rb,
lib/legion/extensions/llm/inventory/registry.rb,
lib/legion/extensions/llm/inventory/snapshot.rb,
lib/legion/extensions/llm/stream_accumulator.rb,
lib/legion/extensions/llm/canonical/tool_call.rb,
lib/legion/extensions/llm/inventory/publisher.rb,
lib/legion/extensions/llm/stop_reason_mapping.rb,
lib/legion/extensions/llm/fleet/contract_error.rb,
lib/legion/extensions/llm/fleet/fleet_envelope.rb,
lib/legion/extensions/llm/fleet/publish_safety.rb,
lib/legion/extensions/llm/transport/fleet_lane.rb,
lib/legion/extensions/llm/actors/metering_flush.rb,
lib/legion/extensions/llm/canonical/tool_schema.rb,
lib/legion/extensions/llm/fleet/token_validator.rb,
lib/legion/extensions/llm/inventory/probe_token.rb,
lib/legion/extensions/llm/fleet/worker_execution.rb,
lib/legion/extensions/llm/canonical/content_block.rb,
lib/legion/extensions/llm/inventory/weight_schema.rb,
lib/legion/extensions/llm/fleet/provider_responder.rb,
lib/legion/extensions/llm/responses/tool_arguments.rb,
lib/legion/extensions/llm/routing/provider_outcome.rb,
lib/legion/extensions/llm/canonical/thinking_config.rb,
lib/legion/extensions/llm/canonical/tool_definition.rb,
lib/legion/extensions/llm/fleet/envelope_validation.rb,
lib/legion/extensions/llm/inventory/callable_handle.rb,
lib/legion/extensions/llm/inventory/immutable_value.rb,
lib/legion/extensions/llm/transport/exchanges/fleet.rb,
lib/legion/extensions/llm/inventory/probe_coordinator.rb,
lib/legion/extensions/llm/inventory/weight_reconciler.rb,
lib/legion/extensions/llm/provider/open_ai_compatible.rb,
lib/legion/extensions/llm/fleet/default_exchange_reply.rb,
lib/legion/extensions/llm/responses/thinking_extractor.rb,
lib/legion/extensions/llm/errors/unsupported_capability.rb,
lib/legion/extensions/llm/transport/messages/fleet_error.rb,
lib/legion/extensions/llm/transport/exchanges/llm_registry.rb,
lib/legion/extensions/llm/transport/messages/fleet_request.rb,
lib/legion/extensions/llm/transport/messages/fleet_response.rb
Overview
-- module doc is in canonical.rb entry point
Defined Under Namespace
Modules: Actor, AutoRegistration, Canonical, Capabilities, CapabilityPolicy, CredentialSources, Discovery, Errors, Fleet, Inventory, ProviderContract, ProviderSettings, Responses, Routing, SettingsCascade, StopReasonMapping, Streaming, Taxonomies, Transport, Utils
Classes: BadRequestError, Configuration, ConfigurationError, Connection, ContextLengthExceededError, Error, ErrorMiddleware, ForbiddenError, HashConfig, InvalidRoleError, InvalidToolChoiceError, ModelNotAllowedError, ModelNotFoundError, OverloadedError, Parameter, PaymentRequiredError, PromptNotFoundError, Provider, RateLimitError, ServerError, ServiceUnavailableError, StreamAccumulator, Tool, UnauthorizedError, UnsupportedAttachmentError
Constant Summary
collapse
- Schema =
::RubyLLM::Schema
- VERSION =
'0.8.4'
Class Method Summary
collapse
Class Method Details
.config ⇒ Object
144
145
146
|
# File 'lib/legion/extensions/llm.rb', line 144
def config
@config ||= Configuration.new
end
|
140
141
142
|
# File 'lib/legion/extensions/llm.rb', line 140
def configure
yield config
end
|
.default_settings ⇒ Object
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
|
# File 'lib/legion/extensions/llm.rb', line 157
def self.default_settings
{
fleet: {
consumer: {
enabled: false,
scheduler: :basic_get,
consumer_priority: 0,
queue_expires_ms: 60_000,
message_ttl_ms: 120_000,
queue_max_length: 100,
delivery_limit: 3,
consumer_ack_timeout_ms: 90_000,
empty_lane_backoff_ms: 250,
idle_backoff_ms: 1_000,
max_consecutive_pulls_per_lane: 0
},
auth: {
require_signed_token: true,
issuer: 'legion-llm',
audience: 'lex-llm-fleet-worker',
algorithm: 'HS256',
accepted_issuers: ['legion-llm'],
max_clock_skew_seconds: 30,
replay_ttl_seconds: 600
},
responder: {
require_auth: nil,
require_policy: false,
require_idempotency: true,
idempotency_ttl_seconds: 600
},
request: {
logger: {
request_payload: false
}
}
}
}
end
|
.logger ⇒ Object
148
149
150
151
152
153
154
|
# File 'lib/legion/extensions/llm.rb', line 148
def logger
@logger ||= config.logger || Logger.new(
config.log_file,
progname: 'Legion::Extensions::Llm',
level: config.log_level
)
end
|
.provider_settings ⇒ Object
197
198
199
|
# File 'lib/legion/extensions/llm.rb', line 197
def self.provider_settings(...)
ProviderSettings.build(...)
end
|
.remote_invocable? ⇒ Boolean
138
|
# File 'lib/legion/extensions/llm.rb', line 138
def remote_invocable? = false
|