mirror of
https://github.com/nenadilic84/claudex.git
synced 2025-10-28 08:12:06 -07:00
Add CLI arguments for model and API configuration
This commit is contained in:
parent
57dac558f4
commit
bfa1482f82
21
README.md
21
README.md
@ -35,13 +35,28 @@ After setup and installing dependencies, you can run the proxy in either of thes
|
|||||||
### 1. Recommended: Run via the CLI/main entrypoint
|
### 1. Recommended: Run via the CLI/main entrypoint
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Run as module:
|
# Run as module with environment variables:
|
||||||
python -m claudex.main --host 0.0.0.0 --port 8082 --reload
|
python -m claudex.main --host 0.0.0.0 --port 8082 --reload
|
||||||
|
|
||||||
# Or (if installed as a script):
|
# Or with command line arguments:
|
||||||
claudex --host 0.0.0.0 --port 8082 --reload
|
python -m claudex.main --target-api-base https://api.openrouter.ai/v1 --big-model openai/gpt-4.1 --small-model openai/gpt-4.1-mini --log-level INFO
|
||||||
|
|
||||||
|
# Or if installed as a script:
|
||||||
|
claudex --host 0.0.0.0 --port 8082 --target-api-base https://api.openrouter.ai/v1 --big-model openai/gpt-4.1 --small-model openai/gpt-4.1-mini
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### CLI Options
|
||||||
|
|
||||||
|
- `--host` - Host to bind (default: 0.0.0.0)
|
||||||
|
- `--port` - Port to bind (default: 8082)
|
||||||
|
- `--reload` - Enable live-reload for development
|
||||||
|
- `--target-api-base` - Base URL for target OpenAI-compatible API
|
||||||
|
- `--big-model` - Target model for Claude Sonnet/larger models
|
||||||
|
- `--small-model` - Target model for Claude Haiku/smaller models
|
||||||
|
- `--log-level` - Logging level (DEBUG, INFO, WARNING, ERROR)
|
||||||
|
|
||||||
|
Note: The API key must still be provided via the TARGET_API_KEY environment variable for security reasons.
|
||||||
|
|
||||||
### 2. Alternative: Run directly with Uvicorn
|
### 2. Alternative: Run directly with Uvicorn
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import uvicorn
|
import uvicorn
|
||||||
|
import os
|
||||||
from .proxy import app
|
from .proxy import app
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
@ -7,8 +8,22 @@ def main():
|
|||||||
parser.add_argument('--host', default='0.0.0.0', help='Host to bind (default: 0.0.0.0)')
|
parser.add_argument('--host', default='0.0.0.0', help='Host to bind (default: 0.0.0.0)')
|
||||||
parser.add_argument('--port', type=int, default=8082, help='Port to bind (default: 8082)')
|
parser.add_argument('--port', type=int, default=8082, help='Port to bind (default: 8082)')
|
||||||
parser.add_argument('--reload', action='store_true', help='Enable live-reload (for development)')
|
parser.add_argument('--reload', action='store_true', help='Enable live-reload (for development)')
|
||||||
|
parser.add_argument('--target-api-base', help='Base URL for target OpenAI-compatible API (default: from TARGET_API_BASE env)')
|
||||||
|
parser.add_argument('--big-model', help='Target model for Claude Sonnet/larger models (default: from BIG_MODEL_TARGET env)')
|
||||||
|
parser.add_argument('--small-model', help='Target model for Claude Haiku/smaller models (default: from SMALL_MODEL_TARGET env)')
|
||||||
|
parser.add_argument('--log-level', choices=['DEBUG', 'INFO', 'WARNING', 'ERROR'], default=None, help='Logging level (default: from LOG_LEVEL env)')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
# Set environment variables from CLI arguments if provided
|
||||||
|
if args.target_api_base:
|
||||||
|
os.environ['TARGET_API_BASE'] = args.target_api_base
|
||||||
|
if args.big_model:
|
||||||
|
os.environ['BIG_MODEL_TARGET'] = args.big_model
|
||||||
|
if args.small_model:
|
||||||
|
os.environ['SMALL_MODEL_TARGET'] = args.small_model
|
||||||
|
if args.log_level:
|
||||||
|
os.environ['LOG_LEVEL'] = args.log_level
|
||||||
|
|
||||||
uvicorn.run("claudex.proxy:app", host=args.host, port=args.port, reload=args.reload)
|
uvicorn.run("claudex.proxy:app", host=args.host, port=args.port, reload=args.reload)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user