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

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 

5 

6logger = log.getLogger(__name__) 

7 

8 

9async def start_async(verbose=False): 

10 """Start the LiteLLM server 

11 

12 Args: 

13 verbose (bool): Whether to enable verbose logging 

14 """ 

15 config = Config() 

16 

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 

22 

23 # Get project name or use default 

24 project_name = config.cmd_args.project or "mindsdb" 

25 

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)) 

29 

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)) 

33 

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}") 

37 

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 ) 

46 

47 

48def start(verbose=False): 

49 """Start the LiteLLM server (synchronous wrapper) 

50 

51 Args: 

52 verbose (bool): Whether to enable verbose logging 

53 """ 

54 from mindsdb.interfaces.storage import db 

55 

56 db.init() 

57 

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)) 

62 

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)) 

72 

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