Files

1 line
2.1 KiB
JSON

{"repo": "anardevstudio/markgen", "files": {"source/ai/ai_models.rb": {"0524ad5296b2f8304983b1b1766246f83bd9e668": {"t": 1785746183.8617632, "n": 1774, "h": "8096c46a1eecdede", "c": "module AiModels\n class Base\n attr_reader :api_key, :base_url, :model\n\n def initialize(api_key:)\n @api_key = api_key\n end\n end\n\n class OpenAI < Base\n def initialize(api_key:)\n super\n\n @base_url = \"https://api.openai.com/v1\"\n @model = \"gpt-4.1-mini\"\n end\n\n def chat_endpoint\n \"#{base_url}/chat/completions\"\n end\n end\n\n class Claude < Base\n def initialize(api_key:)\n super\n\n @base_url = \"https://api.anthropic.com/v1\"\n @model = \"claude-sonnet-4-20250514\"\n end\n\n def messages_endpoint\n \"#{base_url}/messages\"\n end\n end\n\n class Gemini < Base\n def initialize(api_key:)\n super\n\n @base_url = \"https://generativelanguage.googleapis.com/v1beta\"\n @model = \"gemini-2.5-pro\"\n end\n\n def generate_content_endpoint\n \"#{base_url}/models/#{model}:generateContent?key=#{api_key}\"\n end\n end\n\n class Grok < Base\n def initialize(api_key:)\n super\n\n @base_url = \"https://api.x.ai/v1\"\n @model = \"grok-3\"\n end\n\n def chat_endpoint\n \"#{base_url}/chat/completions\"\n end\n end\n\n\n class DeepSeek < Base\n def initialize(api_key:)\n super\n\n @base_url = \"https://api.deepseek.com/v1\"\n @model = \"deepseek-chat\"\n end\n\n def chat_endpoint\n \"#{base_url}/chat/completions\"\n end\n end\n\n class Mistral < Base\n def initialize(api_key:)\n super\n\n @base_url = \"https://api.mistral.ai/v1\"\n @model = \"mistral-large-latest\"\n end\n\n def chat_endpoint\n \"#{base_url}/chat/completions\"\n end\n end\n\n class Cohere < Base\n def initialize(api_key:)\n super\n\n @base_url = \"https://api.cohere.ai/v1\"\n @model = \"command-r-plus\"\n end\n\n def chat_endpoint\n \"#{base_url}/chat\"\n end\n end\nend"}}}}