PyscoutAI / run_api_server.py
PyScoutAI's picture
Upload 15 files
ead2510 verified
Raw
History Blame Contribute Delete
1.71 kB
import os
import uvicorn
import argparse
from rich.console import Console
from rich.panel import Panel
from dotenv import load_dotenv
# Load environment variables from .env file if present
load_dotenv()
console = Console()
def main():
parser = argparse.ArgumentParser(description='Run the OpenAI-compatible API server for DeepInfra')
parser.add_argument('--host', default='0.0.0.0', help='Host to bind the server to')
parser.add_argument('--port', type=int, default=8000, help='Port to bind the server to')
parser.add_argument('--reload', action='store_true', help='Enable auto-reload for development')
args = parser.parse_args()
console.print(Panel.fit(
"[bold green]DeepInfra OpenAI-Compatible API Server[/bold green]\n"
f"Starting server on http://{args.host}:{args.port}\n"
"Press Ctrl+C to stop the server.",
title="Server Info",
border_style="blue"
))
# Additional info on endpoints
console.print("[bold cyan]Available endpoints:[/bold cyan]")
console.print("- [yellow]/v1/models[/yellow] - List available models")
console.print("- [yellow]/v1/chat/completions[/yellow] - Chat completions endpoint")
console.print("- [yellow]/v1/completions[/yellow] - Text completions endpoint")
console.print("- [yellow]/health[/yellow] - Health check endpoint")
console.print("\nAPI documentation available at [link]http://localhost:8000/docs[/link]")
# Run the server
uvicorn.run(
"openai_compatible_api:app",
host=args.host,
port=args.port,
reload=args.reload
)
if __name__ == "__main__":
main()