Unified provider registry across all domains (chat, image, tts, embed).
Providers self-register with a name and factory block. Consumers
create providers by name + config without knowing the concrete class.
Arcana::AI::Registry.create_chat("openai", {"api_key" => "sk-..."})
Class methods
Pull a bool from config, with optional default.
Sourcecreate_chat(name :
String, config :
Config =
Config.new) :
Chat::Provider Sourcecreate_embed(name :
String, config :
Config =
Config.new) :
Embed::Provider Sourcecreate_image(name :
String, config :
Config =
Config.new) :
Image::Provider Sourcecreate_sfx(name :
String, config :
Config =
Config.new) :
SFX::Provider Sourcecreate_tts(name :
String, config :
Config =
Config.new) :
TTS::Provider SourcePull a float from config, with optional default.
SourcePull an int from config, with optional default.
Sourceregister_chat(name :
String, &block :
Config ->
Chat::Provider)
Sourceregister_embed(name :
String, &block :
Config ->
Embed::Provider)
Sourceregister_image(name :
String, &block :
Config ->
Image::Provider)
Sourceregister_sfx(name :
String, &block :
Config ->
SFX::Provider)
Sourceregister_tts(name :
String, &block :
Config ->
TTS::Provider)
SourcePull a string from config, with optional default.
Source