Commit e4ced158 authored by Your Name's avatar Your Name

Fix build

parent 82f4c1e3
......@@ -11,18 +11,6 @@
"fallback": "general",
"capabilities": ["t2t", "reasoning", "multimodal"],
"available_models": [
{
"model_id": "coding",
"nsfw": false,
"privacy": false,
"description": "Best for programming, code generation, debugging, and technical tasks. Optimized for software development, code reviews, and algorithm design."
},
{
"model_id": "general",
"nsfw": false,
"privacy": false,
"description": "General purpose model for everyday tasks, conversations, and general knowledge queries. Good for a wide range of topics including writing, analysis, and explanations."
}
]
}
}
......@@ -6,390 +6,5 @@
"max_context": 8000
},
"providers": {
"gemini": {
"id": "gemini",
"name": "Google AI Studio",
"endpoint": "https://generativelanguage.googleapis.com/v1beta",
"type": "google",
"api_key_required": true,
"api_key": "YOUR_GEMINI_API_KEY",
"rate_limit": 0,
"enable_native_caching": false,
"cache_ttl": 3600,
"min_cacheable_tokens": 1024,
"models": [
{
"name": "gemini-2.0-flash",
"nsfw": false,
"privacy": false,
"rate_limit": 0,
"max_request_tokens": 1000000,
"rate_limit_TPM": 15000,
"rate_limit_TPH": 100000,
"rate_limit_TPD": 1000000,
"context_size": 1000000,
"condense_context": 80,
"condense_method": ["hierarchical", "semantic"],
"capabilities": ["t2t", "vision", "function_calling"]
},
{
"name": "gemini-1.5-pro",
"nsfw": false,
"privacy": false,
"rate_limit": 0,
"max_request_tokens": 2000000,
"rate_limit_TPM": 15000,
"rate_limit_TPH": 100000,
"rate_limit_TPD": 1000000,
"context_size": 2000000,
"condense_context": 85,
"condense_method": "conversational",
"capabilities": ["t2t", "vision", "function_calling"]
}
]
},
"openai": {
"id": "openai",
"name": "OpenAI",
"endpoint": "https://api.openai.com/v1",
"type": "openai",
"api_key_required": true,
"api_key": "YOUR_OPENAI_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"anthropic": {
"id": "anthropic",
"name": "Anthropic",
"endpoint": "https://api.anthropic.com/v1",
"type": "anthropic",
"api_key_required": true,
"api_key": "YOUR_ANTHROPIC_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0,
"enable_native_caching": false,
"cache_ttl": null,
"min_cacheable_tokens": 1024
},
"ollama": {
"id": "ollama",
"name": "Ollama",
"endpoint": "http://localhost:11434",
"type": "ollama",
"api_key_required": false,
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"azure_openai": {
"id": "azure_openai",
"name": "Azure OpenAI",
"endpoint": "https://your-azure-endpoint.openai.azure.com",
"type": "openai",
"api_key_required": true,
"api_key": "YOUR_AZURE_OPENAI_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"cohere": {
"id": "cohere",
"name": "Cohere",
"endpoint": "https://api.cohere.com/v1",
"type": "cohere",
"api_key_required": true,
"api_key": "YOUR_COHERE_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"huggingface": {
"id": "huggingface",
"name": "Hugging Face",
"endpoint": "https://api-inference.huggingface.co",
"type": "huggingface",
"api_key_required": true,
"api_key": "YOUR_HUGGINGFACE_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"replicate": {
"id": "replicate",
"name": "Replicate",
"endpoint": "https://api.replicate.com/v1",
"type": "replicate",
"api_key_required": true,
"api_key": "YOUR_REPLICATE_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"togetherai": {
"id": "togetherai",
"name": "Together AI",
"endpoint": "https://api.together.xyz/v1",
"type": "openai",
"api_key_required": true,
"api_key": "YOUR_TOGETHERAI_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"groq": {
"id": "groq",
"name": "Groq",
"endpoint": "https://api.groq.com/openai/v1",
"type": "openai",
"api_key_required": true,
"api_key": "YOUR_GROQ_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"mistralai": {
"id": "mistralai",
"name": "Mistral AI",
"endpoint": "https://api.mistral.ai/v1",
"type": "openai",
"api_key_required": true,
"api_key": "YOUR_MISTRALAI_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"stabilityai": {
"id": "stabilityai",
"name": "Stability AI",
"endpoint": "https://api.stability.ai/v2beta",
"type": "stabilityai",
"api_key_required": true,
"api_key": "YOUR_STABILITYAI_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"kilo": {
"id": "kilo",
"name": "KiloCode",
"endpoint": "https://api.kilo.ai/api/openrouter",
"type": "kilocode",
"api_key_required": false,
"api_key": "YOUR_KILO_API_KEY",
"rate_limit": 0,
"kilo_config": {
"credentials_file": "~/.kilo_credentials.json",
"api_base": "https://api.kilo.ai/api/openrouter"
}
},
"perplexity": {
"id": "perplexity",
"name": "Perplexity AI",
"endpoint": "https://api.perplexity.ai",
"type": "openai",
"api_key_required": true,
"api_key": "YOUR_PERPLEXITY_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"poe": {
"id": "poe",
"name": "Poe",
"endpoint": "https://api.poe.com/v1",
"type": "poe",
"api_key_required": true,
"api_key": "YOUR_POE_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"lanai": {
"id": "lanai",
"name": "Llama AI",
"endpoint": "https://api.lanai.ai/v1",
"type": "lanai",
"api_key_required": true,
"api_key": "YOUR_LANAI_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"amazon": {
"id": "amazon",
"name": "Amazon Bedrock",
"endpoint": "https://api.amazon.com/bedrock/v1",
"type": "amazon",
"api_key_required": true,
"api_key": "YOUR_AMAZON_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"ibm": {
"id": "ibm",
"name": "IBM Watson",
"endpoint": "https://api.ibm.com/watson/v1",
"type": "ibm",
"api_key_required": true,
"api_key": "YOUR_IBM_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"microsoft": {
"id": "microsoft",
"name": "Microsoft Azure AI",
"endpoint": "https://api.microsoft.com/v1",
"type": "microsoft",
"api_key_required": true,
"api_key": "YOUR_MICROSOFT_API_KEY",
"nsfw": false,
"privacy": false,
"rate_limit": 0
},
"kiro": {
"id": "kiro",
"name": "Kiro IDE (Amazon Q Developer)",
"endpoint": "https://q.us-east-1.amazonaws.com",
"type": "kiro",
"api_key_required": false,
"nsfw": false,
"privacy": false,
"rate_limit": 0,
"kiro_config": {
"_comment": "Uses Kiro IDE credentials (VS Code extension)",
"creds_file": "~/.config/Code/User/globalStorage/amazon.q/credentials.json",
"region": "us-east-1"
}
},
"kiro-cli": {
"id": "kiro-cli",
"name": "Kiro CLI (Amazon Q Developer)",
"endpoint": "https://q.us-east-1.amazonaws.com",
"type": "kiro",
"api_key_required": false,
"nsfw": false,
"privacy": false,
"rate_limit": 0,
"kiro_config": {
"_comment": "Uses kiro-cli credentials (SQLite database)",
"sqlite_db": "~/.local/share/kiro-cli/data.sqlite3",
"region": "us-east-1"
}
},
"claude": {
"id": "claude",
"name": "Claude Code (OAuth2)",
"endpoint": "https://api.anthropic.com/v1",
"type": "claude",
"api_key_required": false,
"nsfw": false,
"privacy": false,
"rate_limit": 5,
"claude_config": {
"_comment": "Uses OAuth2 authentication flow (claude-cli compatible)",
"credentials_file": "~/.claude_credentials.json"
},
"models": [
{
"name": "claude-3-7-sonnet-20250219",
"nsfw": false,
"privacy": false,
"rate_limit": 5,
"max_request_tokens": 200000,
"context_size": 200000,
"capabilities": ["t2t", "vision", "function_calling"]
},
{
"name": "claude-3-5-sonnet-20241022",
"nsfw": false,
"privacy": false,
"rate_limit": 5,
"max_request_tokens": 200000,
"context_size": 200000,
"capabilities": ["t2t", "vision", "function_calling"]
},
{
"name": "claude-3-5-haiku-20241022",
"nsfw": false,
"privacy": false,
"rate_limit": 5,
"max_request_tokens": 200000,
"context_size": 200000,
"capabilities": ["t2t", "vision", "function_calling"]
}
]
},
"codex": {
"id": "codex",
"name": "Codex (OpenAI OAuth2)",
"endpoint": "https://api.openai.com/v1",
"type": "codex",
"api_key_required": false,
"nsfw": false,
"privacy": false,
"rate_limit": 0,
"codex_config": {
"_comment": "Uses OAuth2 Device Authorization Grant (Codex CLI compatible)",
"credentials_file": "~/.aisbf/codex_credentials.json",
"issuer": "https://auth.openai.com"
}
},
"qwen": {
"id": "qwen",
"name": "Qwen (OAuth2)",
"endpoint": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"type": "qwen",
"api_key_required": false,
"nsfw": false,
"privacy": false,
"rate_limit": 0,
"qwen_config": {
"_comment": "Uses OAuth2 Device Authorization Grant with PKCE (Qwen Code compatible)",
"credentials_file": "~/.aisbf/qwen_credentials.json",
"api_key": ""
},
"models": [
{
"name": "qwen-plus",
"nsfw": false,
"privacy": false,
"rate_limit": 0,
"max_request_tokens": 32000,
"context_size": 32000,
"capabilities": ["t2t", "function_calling"]
},
{
"name": "qwen-turbo",
"nsfw": false,
"privacy": false,
"rate_limit": 0,
"max_request_tokens": 8000,
"context_size": 8000,
"capabilities": ["t2t", "function_calling"]
},
{
"name": "qwen-max",
"nsfw": false,
"privacy": false,
"rate_limit": 0,
"max_request_tokens": 8000,
"context_size": 8000,
"capabilities": ["t2t", "function_calling"]
},
{
"name": "coder-model",
"nsfw": false,
"privacy": false,
"rate_limit": 0,
"max_request_tokens": 32000,
"context_size": 32000,
"capabilities": ["t2t", "function_calling"]
}
]
}
}
}
{
"notifyerrors": false,
"rotations": {
"coding": {
"model_name": "coding",
"nsfw": false,
"privacy": false,
"notifyerrors": false,
"capabilities": ["code_generation", "code_completion", "reasoning"],
"providers": [
{
"provider_id": "gemini",
"models": [
{
"name": "gemini-2.0-flash",
"weight": 3,
"rate_limit": 0,
"max_request_tokens": 100000,
"rate_limit_TPM": 15000,
"rate_limit_TPH": 100000,
"rate_limit_TPD": 1000000,
"context_size": 1000000,
"condense_context": 80,
"condense_method": ["hierarchical", "semantic"]
},
{
"name": "gemini-1.5-pro",
"weight": 1,
"rate_limit": 0,
"max_request_tokens": 100000,
"rate_limit_TPM": 15000,
"rate_limit_TPH": 100000,
"rate_limit_TPD": 1000000,
"context_size": 2000000,
"condense_context": 85,
"condense_method": "conversational"
}
]
},
{
"provider_id": "openai",
"models": [
{
"name": "gpt-4",
"weight": 2,
"rate_limit": 0,
"max_request_tokens": 128000,
"context_size": 128000,
"condense_context": 75,
"condense_method": ["hierarchical", "conversational"]
},
{
"name": "gpt-3.5-turbo",
"weight": 1,
"rate_limit": 0,
"max_request_tokens": 4000,
"context_size": 16000,
"condense_context": 70,
"condense_method": "semantic"
}
]
},
{
"provider_id": "anthropic",
"models": [
{
"name": "claude-3-5-sonnet-20241022",
"weight": 2,
"rate_limit": 0,
"max_request_tokens": 200000,
"context_size": 200000,
"condense_context": 80,
"condense_method": ["hierarchical", "semantic"]
},
{
"name": "claude-3-haiku-20240307",
"weight": 1,
"rate_limit": 0,
"max_request_tokens": 200000,
"context_size": 200000,
"condense_context": 75,
"condense_method": "conversational"
}
]
}
]
},
"general": {
"model_name": "general",
"nsfw": false,
"privacy": false,
"notifyerrors": false,
"capabilities": ["t2t", "translation", "summarization", "question_answering"],
"providers": [
{
"provider_id": "gemini",
"models": [
{
"name": "gemini-1.5-pro",
"weight": 2,
"rate_limit": 0
},
{
"name": "gemini-2.0-flash",
"weight": 1,
"rate_limit": 0
}
]
},
{
"provider_id": "openai",
"models": [
{
"name": "gpt-4",
"weight": 2,
"rate_limit": 0
},
{
"name": "gpt-3.5-turbo",
"weight": 1,
"rate_limit": 0
}
]
}
]
},
"googletest": {
"model_name": "googletest",
"nsfw": false,
"privacy": false,
"notifyerrors": false,
"capabilities": ["code_generation", "testing", "code_completion"],
"providers": [
{
"provider_id": "gemini",
"models": [
{
"name": "gemini-2.0-flash",
"weight": 1,
"rate_limit": 0
},
{
"name": "gemini-1.5-pro",
"weight": 1,
"rate_limit": 0
}
]
}
]
},
"kiro-claude": {
"model_name": "kiro-claude",
"nsfw": false,
"privacy": false,
"notifyerrors": false,
"capabilities": ["t2t", "reasoning", "function_calling"],
"providers": [
{
"provider_id": "kiro",
"models": [
{
"name": "claude-sonnet-4-5",
"weight": 3,
"rate_limit": 0,
"max_request_tokens": 200000,
"context_size": 200000,
"condense_context": 80,
"condense_method": ["hierarchical", "semantic"]
},
{
"name": "claude-haiku-4-5",
"weight": 2,
"rate_limit": 0,
"max_request_tokens": 200000,
"context_size": 200000,
"condense_context": 75,
"condense_method": "conversational"
},
{
"name": "claude-sonnet-4",
"weight": 1,
"rate_limit": 0,
"max_request_tokens": 200000,
"context_size": 200000,
"condense_context": 80,
"condense_method": "conversational"
}
]
}
]
},
"simple-gemini": {
"_comment": "SIMPLE FORMAT: Specify provider_id only, models will be loaded from providers.json automatically",
"model_name": "simple-gemini",
"nsfw": false,
"privacy": false,
"notifyerrors": false,
"capabilities": ["t2t"],
"providers": [
{
"provider_id": "gemini"
}
]
},
"simple-openai": {
"_comment": "SIMPLE FORMAT: Provider with custom weight, models loaded from providers.json",
"model_name": "simple-openai",
"nsfw": false,
"privacy": false,
"notifyerrors": false,
"capabilities": ["t2t"],
"providers": [
{
"provider_id": "openai",
"weight": 2
}
]
}
}
}
......@@ -55,6 +55,6 @@ py-modules = ["cli"]
[tool.setuptools.package-data]
aisbf = ["*.json", "streaming_optimization.py"]
[tool.setuptools.package-data.""]
templates = ["**/*.html", "**/*.css", "**/*.js"]
static = ["**/*"]
[tool.setuptools.data-files]
"share/aisbf/templates" = ["templates/**/*.html", "templates/**/*.css", "templates/**/*.js"]
"share/aisbf/static" = ["static/**/*.*"]
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment