class RubyLLM::Providers::Azure
Azure AI Foundry / OpenAI-compatible API integration.
Constants
- AZURE_DEFAULT_CHAT_API_VERSION
- AZURE_DEFAULT_MODELS_API_VERSION
Public Class Methods
Source
# File lib/ruby_llm/providers/azure.rb, line 60 def assume_models_exist? true end
Azure works with deployment names, instead of model names
Source
# File lib/ruby_llm/providers/azure.rb, line 47 def configuration_options %i[azure_api_base azure_api_key azure_ai_auth_token] end
# File lib/ruby_llm/providers/azure.rb, line 51 def configuration_requirements %i[azure_api_base] end
Source
# File lib/ruby_llm/providers/azure.rb, line 55 def configured?(config) config.azure_api_base && (config.azure_api_key || config.azure_ai_auth_token) end
Public Instance Methods
Source
# File lib/ruby_llm/providers/azure.rb, line 15 def api_base @config.azure_api_base end
Source
# File lib/ruby_llm/providers/azure.rb, line 31 def azure_endpoint(kind) parts = azure_base_parts case kind when :chat chat_endpoint(parts) when :embeddings embeddings_endpoint(parts) when :models models_endpoint(parts) else raise ArgumentError, "Unknown Azure endpoint kind: #{kind.inspect}" end end
Source
# File lib/ruby_llm/providers/azure.rb, line 27 def configured? self.class.configured?(@config) end
Source
# File lib/ruby_llm/providers/azure.rb, line 65 def ensure_configured! missing = [] missing << :azure_api_base unless @config.azure_api_base if @config.azure_api_key.nil? && @config.azure_ai_auth_token.nil? missing << 'azure_api_key or azure_ai_auth_token' end return if missing.empty? raise ConfigurationError, "Missing configuration for Azure: #{missing.join(', ')}" end
Source
# File lib/ruby_llm/providers/azure.rb, line 19 def headers if @config.azure_api_key { 'api-key' => @config.azure_api_key } else { 'Authorization' => "Bearer #{@config.azure_ai_auth_token}" } end end