Spaces:
Configuration error
Configuration error
# stdlib imports | |
import sys | |
from typing import Optional | |
# third party imports | |
import click | |
# local imports | |
from .commands.models import models | |
from .commands.credentials import credentials | |
from .commands.chat import chat | |
from .commands.http import http | |
from .commands.keys import keys | |
from .commands.users import users | |
from litellm._version import version as litellm_version | |
from litellm.proxy.client.health import HealthManagementClient | |
def print_version(base_url: str, api_key: Optional[str]): | |
"""Print CLI and server version info.""" | |
click.echo(f"LiteLLM Proxy CLI Version: {litellm_version}") | |
if base_url: | |
click.echo(f"LiteLLM Proxy Server URL: {base_url}") | |
try: | |
health_client = HealthManagementClient(base_url=base_url, api_key=api_key) | |
server_version = health_client.get_server_version() | |
if server_version: | |
click.echo(f"LiteLLM Proxy Server Version: {server_version}") | |
else: | |
click.echo("LiteLLM Proxy Server Version: (unavailable)") | |
except Exception as e: | |
click.echo(f"Could not retrieve server version: {e}") | |
def cli(ctx: click.Context, base_url: str, api_key: Optional[str]) -> None: | |
"""LiteLLM Proxy CLI - Manage your LiteLLM proxy server""" | |
ctx.ensure_object(dict) | |
if sys.stderr.isatty(): | |
click.secho(f"Accessing LiteLLM server: {base_url} ...\n", fg="yellow", err=True) | |
ctx.obj["base_url"] = base_url | |
ctx.obj["api_key"] = api_key | |
def version(ctx: click.Context): | |
"""Show the LiteLLM Proxy CLI and server version.""" | |
print_version(ctx.obj.get("base_url"), ctx.obj.get("api_key")) | |
# Add the models command group | |
cli.add_command(models) | |
# Add the credentials command group | |
cli.add_command(credentials) | |
# Add the chat command group | |
cli.add_command(chat) | |
# Add the http command group | |
cli.add_command(http) | |
# Add the keys command group | |
cli.add_command(keys) | |
# Add the users command group | |
cli.add_command(users) | |
if __name__ == "__main__": | |
cli() | |