Coverage for mindsdb / api / litellm / start.py: 0%
37 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
1import asyncio
2from mindsdb.utilities import log
3from mindsdb.utilities.config import Config
4from mindsdb.interfaces.agents.litellm_server import run_server, run_server_async
6logger = log.getLogger(__name__)
9async def start_async(verbose=False):
10 """Start the LiteLLM server
12 Args:
13 verbose (bool): Whether to enable verbose logging
14 """
15 config = Config()
17 # Get agent name from command line args
18 agent_name = config.cmd_args.agent
19 if not agent_name:
20 logger.error("Agent name is required for LiteLLM server. Use --agent parameter.")
21 return 1
23 # Get project name or use default
24 project_name = config.cmd_args.project or "mindsdb"
26 # Get MCP server connection details
27 mcp_host = "127.0.0.1"
28 mcp_port = int(config.get("api", {}).get("http", {}).get("port", 47334))
30 # Get LiteLLM server settings
31 litellm_host = config.get("api", {}).get("litellm", {}).get("host", "0.0.0.0")
32 litellm_port = int(config.get("api", {}).get("litellm", {}).get("port", 8000))
34 logger.info(f"Starting LiteLLM server for agent '{agent_name}' in project '{project_name}'")
35 logger.info(f"Connecting to MCP server at {mcp_host}:{mcp_port}")
36 logger.info(f"Binding to {litellm_host}:{litellm_port}")
38 return await run_server_async(
39 agent_name=agent_name,
40 project_name=project_name,
41 mcp_host=mcp_host,
42 mcp_port=mcp_port,
43 host=litellm_host,
44 port=litellm_port,
45 )
48def start(verbose=False):
49 """Start the LiteLLM server (synchronous wrapper)
51 Args:
52 verbose (bool): Whether to enable verbose logging
53 """
54 from mindsdb.interfaces.storage import db
56 db.init()
58 # Run the async function in the event loop
59 loop = asyncio.new_event_loop()
60 asyncio.set_event_loop(loop)
61 result = loop.run_until_complete(start_async(verbose))
63 if result == 0:
64 # Run the server
65 config = Config()
66 agent_name = config.cmd_args.agent
67 project_name = config.cmd_args.project or "mindsdb"
68 mcp_host = config.get("api", {}).get("mcp", {}).get("host", "127.0.0.1")
69 mcp_port = int(config.get("api", {}).get("mcp", {}).get("port", 47337))
70 litellm_host = config.get("api", {}).get("litellm", {}).get("host", "0.0.0.0")
71 litellm_port = int(config.get("api", {}).get("litellm", {}).get("port", 8000))
73 return run_server(
74 agent_name=agent_name,
75 project_name=project_name,
76 mcp_host=mcp_host,
77 mcp_port=mcp_port,
78 host=litellm_host,
79 port=litellm_port,
80 )
81 else:
82 logger.error("LiteLLM server initialization failed")
83 return result