Coverage for agentos/llm.py: 0%

48 statements  

« prev     ^ index     » next       coverage.py v7.14.3, created at 2026-07-08 10:59 +0800

1from dataclasses import dataclass 

2from enum import Enum 

3 

4 

5class MessageRole(Enum): 

6 SYSTEM = "system" 

7 USER = "user" 

8 ASSISTANT = "assistant" 

9 

10 

11@dataclass 

12class Message: 

13 role: MessageRole = MessageRole.USER 

14 content: str = "" 

15 

16 

17@dataclass 

18class ToolParameter: 

19 name: str = "" 

20 

21 

22@dataclass 

23class ToolFunction: 

24 name: str = "" 

25 

26 

27@dataclass 

28class Tool: 

29 type: str = "function" 

30 

31 

32@dataclass 

33class ToolCall: 

34 id: str = "" 

35 

36 

37@dataclass 

38class CompletionChoice: 

39 text: str = "" 

40 

41 

42@dataclass 

43class TokenUsage: 

44 prompt: int = 0 

45 completion: int = 0 

46 

47 

48@dataclass 

49class CompletionUsage: 

50 pass 

51 

52 

53@dataclass 

54class CompletionResult: 

55 choices: list = None 

56 

57 

58@dataclass 

59class StreamChunk: 

60 content: str = "" 

61 

62 

63class LLMProvider: 

64 pass 

65 

66 

67class OpenAIProvider(LLMProvider): 

68 pass 

69 

70 

71class DeepSeekProvider(LLMProvider): 

72 pass 

73 

74 

75class AnthropicProvider(LLMProvider): 

76 pass 

77 

78 

79def create_provider(name: str) -> LLMProvider: 

80 return OpenAIProvider()