{"repo": "babystep-technologies/cardjoy", "files": {"api/config/initializers/ruby_llm.rb": {"5f81055700f01479c03ab766437f322db269b4d6": {"t": 1785745743.8883235, "n": 1978, "h": "73c0a926908cc79a", "c": "# frozen_string_literal: true\n\n# RubyLLM Configuration for multiple AI providers\n# Non-sensitive config is in config/ai_config.yml\n# Sensitive data (API keys) comes from environment variables\n\nrequire \"yaml\"\nrequire \"ruby_llm\"\n\nAI_CONFIG = YAML.load_file(Rails.root.join(\"config/ai_config.yml\"), aliases: true).with_indifferent_access\n\nRubyLLM.configure do |config|\n # Remote providers\n config.openai_api_key = ENV[\"OPENAI_API_KEY\"]\n config.anthropic_api_key = ENV[\"ANTHROPIC_API_KEY\"]\n config.gemini_api_key = ENV[\"GEMINI_API_KEY\"]\n config.vertexai_project_id = ENV[\"GOOGLE_CLOUD_PROJECT\"] # Available in v1.7.0+\n config.vertexai_location = ENV[\"GOOGLE_CLOUD_LOCATION\"]\n config.deepseek_api_key = ENV[\"DEEPSEEK_API_KEY\"]\n config.mistral_api_key = ENV[\"MISTRAL_API_KEY\"]\n config.perplexity_api_key = ENV[\"PERPLEXITY_API_KEY\"]\n config.openrouter_api_key = ENV[\"OPENROUTER_API_KEY\"]\n\n # Local providers\n config.ollama_api_base = \"http://localhost:11434/v1\"\n config.gpustack_api_base = ENV[\"GPUSTACK_API_BASE\"]\n config.gpustack_api_key = ENV[\"GPUSTACK_API_KEY\"]\n\n # AWS Bedrock (uses standard AWS credential chain if not set)\n config.bedrock_api_key = ENV[\"AWS_ACCESS_KEY_ID\"]\n config.bedrock_secret_key = ENV[\"AWS_SECRET_ACCESS_KEY\"]\n config.bedrock_region = ENV[\"AWS_REGION\"] # Required for Bedrock\n config.bedrock_session_token = ENV[\"AWS_SESSION_TOKEN\"] # For temporary credentials\n\n # Common settings across all providers\n config.request_timeout = AI_CONFIG[\"default\"][\"request_timeout\"]\n config.max_retries = AI_CONFIG[\"default\"][\"max_retries\"]\n\n # Advanced retry behavior\n config.retry_interval = AI_CONFIG[\"default\"][\"retry_interval\"] # Initial retry delay in seconds (default: 0.1)\n config.retry_backoff_factor = AI_CONFIG[\"default\"][\"retry_backoff_factor\"] # Exponential backoff multiplier (default: 2)\n config.retry_interval_randomness = AI_CONFIG[\"default\"][\"retry_interval_randomness\"] # Jitter to prevent thundering herd (default: 0.5)\nend\n"}, "90e6c585b7f8c02e2635839b05ffb8d09ff26abb": {"t": 1785756093.559427, "n": 1978, "h": "73c0a926908cc79a", "c": "# frozen_string_literal: true\n\n# RubyLLM Configuration for multiple AI providers\n# Non-sensitive config is in config/ai_config.yml\n# Sensitive data (API keys) comes from environment variables\n\nrequire \"yaml\"\nrequire \"ruby_llm\"\n\nAI_CONFIG = YAML.load_file(Rails.root.join(\"config/ai_config.yml\"), aliases: true).with_indifferent_access\n\nRubyLLM.configure do |config|\n # Remote providers\n config.openai_api_key = ENV[\"OPENAI_API_KEY\"]\n config.anthropic_api_key = ENV[\"ANTHROPIC_API_KEY\"]\n config.gemini_api_key = ENV[\"GEMINI_API_KEY\"]\n config.vertexai_project_id = ENV[\"GOOGLE_CLOUD_PROJECT\"] # Available in v1.7.0+\n config.vertexai_location = ENV[\"GOOGLE_CLOUD_LOCATION\"]\n config.deepseek_api_key = ENV[\"DEEPSEEK_API_KEY\"]\n config.mistral_api_key = ENV[\"MISTRAL_API_KEY\"]\n config.perplexity_api_key = ENV[\"PERPLEXITY_API_KEY\"]\n config.openrouter_api_key = ENV[\"OPENROUTER_API_KEY\"]\n\n # Local providers\n config.ollama_api_base = \"http://localhost:11434/v1\"\n config.gpustack_api_base = ENV[\"GPUSTACK_API_BASE\"]\n config.gpustack_api_key = ENV[\"GPUSTACK_API_KEY\"]\n\n # AWS Bedrock (uses standard AWS credential chain if not set)\n config.bedrock_api_key = ENV[\"AWS_ACCESS_KEY_ID\"]\n config.bedrock_secret_key = ENV[\"AWS_SECRET_ACCESS_KEY\"]\n config.bedrock_region = ENV[\"AWS_REGION\"] # Required for Bedrock\n config.bedrock_session_token = ENV[\"AWS_SESSION_TOKEN\"] # For temporary credentials\n\n # Common settings across all providers\n config.request_timeout = AI_CONFIG[\"default\"][\"request_timeout\"]\n config.max_retries = AI_CONFIG[\"default\"][\"max_retries\"]\n\n # Advanced retry behavior\n config.retry_interval = AI_CONFIG[\"default\"][\"retry_interval\"] # Initial retry delay in seconds (default: 0.1)\n config.retry_backoff_factor = AI_CONFIG[\"default\"][\"retry_backoff_factor\"] # Exponential backoff multiplier (default: 2)\n config.retry_interval_randomness = AI_CONFIG[\"default\"][\"retry_interval_randomness\"] # Jitter to prevent thundering herd (default: 0.5)\nend\n"}, "bd4136479fec40dc9a5b78fb29938161a067f781": {"t": 1786068310.9455063, "n": 1978, "h": "73c0a926908cc79a", "c": "# frozen_string_literal: true\n\n# RubyLLM Configuration for multiple AI providers\n# Non-sensitive config is in config/ai_config.yml\n# Sensitive data (API keys) comes from environment variables\n\nrequire \"yaml\"\nrequire \"ruby_llm\"\n\nAI_CONFIG = YAML.load_file(Rails.root.join(\"config/ai_config.yml\"), aliases: true).with_indifferent_access\n\nRubyLLM.configure do |config|\n # Remote providers\n config.openai_api_key = ENV[\"OPENAI_API_KEY\"]\n config.anthropic_api_key = ENV[\"ANTHROPIC_API_KEY\"]\n config.gemini_api_key = ENV[\"GEMINI_API_KEY\"]\n config.vertexai_project_id = ENV[\"GOOGLE_CLOUD_PROJECT\"] # Available in v1.7.0+\n config.vertexai_location = ENV[\"GOOGLE_CLOUD_LOCATION\"]\n config.deepseek_api_key = ENV[\"DEEPSEEK_API_KEY\"]\n config.mistral_api_key = ENV[\"MISTRAL_API_KEY\"]\n config.perplexity_api_key = ENV[\"PERPLEXITY_API_KEY\"]\n config.openrouter_api_key = ENV[\"OPENROUTER_API_KEY\"]\n\n # Local providers\n config.ollama_api_base = \"http://localhost:11434/v1\"\n config.gpustack_api_base = ENV[\"GPUSTACK_API_BASE\"]\n config.gpustack_api_key = ENV[\"GPUSTACK_API_KEY\"]\n\n # AWS Bedrock (uses standard AWS credential chain if not set)\n config.bedrock_api_key = ENV[\"AWS_ACCESS_KEY_ID\"]\n config.bedrock_secret_key = ENV[\"AWS_SECRET_ACCESS_KEY\"]\n config.bedrock_region = ENV[\"AWS_REGION\"] # Required for Bedrock\n config.bedrock_session_token = ENV[\"AWS_SESSION_TOKEN\"] # For temporary credentials\n\n # Common settings across all providers\n config.request_timeout = AI_CONFIG[\"default\"][\"request_timeout\"]\n config.max_retries = AI_CONFIG[\"default\"][\"max_retries\"]\n\n # Advanced retry behavior\n config.retry_interval = AI_CONFIG[\"default\"][\"retry_interval\"] # Initial retry delay in seconds (default: 0.1)\n config.retry_backoff_factor = AI_CONFIG[\"default\"][\"retry_backoff_factor\"] # Exponential backoff multiplier (default: 2)\n config.retry_interval_randomness = AI_CONFIG[\"default\"][\"retry_interval_randomness\"] # Jitter to prevent thundering herd (default: 0.5)\nend\n"}}}}