janito 2.9.0__py3-none-any.whl → 2.12.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. janito/README.md +149 -0
  2. janito/cli/chat_mode/script_runner.py +2 -2
  3. janito/cli/chat_mode/session.py +9 -0
  4. janito/cli/core/model_guesser.py +51 -0
  5. janito/cli/core/runner.py +13 -1
  6. janito/cli/main_cli.py +8 -1
  7. janito/docs/GETTING_STARTED.md +117 -0
  8. janito/drivers/azure_openai/driver.py +7 -0
  9. janito/drivers/openai/driver.py +10 -2
  10. janito/drivers/zai/__init__.py +1 -0
  11. janito/drivers/zai/driver.py +465 -0
  12. janito/mkdocs.yml +40 -0
  13. janito/provider_registry.py +14 -4
  14. janito/providers/__init__.py +2 -1
  15. janito/providers/alibaba/__init__.py +0 -0
  16. janito/providers/alibaba/model_info.py +40 -0
  17. janito/providers/alibaba/provider.py +102 -0
  18. janito/providers/anthropic/provider.py +6 -0
  19. janito/providers/azure_openai/provider.py +6 -0
  20. janito/providers/deepseek/provider.py +6 -0
  21. janito/providers/google/provider.py +6 -0
  22. janito/providers/moonshotai/model_info.py +11 -0
  23. janito/providers/moonshotai/provider.py +7 -1
  24. janito/providers/openai/provider.py +6 -0
  25. janito/providers/zai/__init__.py +1 -0
  26. janito/providers/zai/model_info.py +55 -0
  27. janito/providers/zai/provider.py +128 -0
  28. janito/providers/zai/schema_generator.py +133 -0
  29. {janito-2.9.0.dist-info → janito-2.12.0.dist-info}/METADATA +1 -1
  30. {janito-2.9.0.dist-info → janito-2.12.0.dist-info}/RECORD +34 -24
  31. janito/providers/groq/__init__.py +0 -1
  32. janito/providers/groq/model_info.py +0 -45
  33. janito/providers/groq/provider.py +0 -76
  34. {janito-2.9.0.dist-info → janito-2.12.0.dist-info}/WHEEL +0 -0
  35. {janito-2.9.0.dist-info → janito-2.12.0.dist-info}/entry_points.txt +0 -0
  36. {janito-2.9.0.dist-info → janito-2.12.0.dist-info}/licenses/LICENSE +0 -0
  37. {janito-2.9.0.dist-info → janito-2.12.0.dist-info}/top_level.txt +0 -0
@@ -1,76 +0,0 @@
1
- from janito.llm.provider import LLMProvider
2
- from janito.llm.model import LLMModelInfo
3
- from janito.llm.auth import LLMAuthManager
4
- from janito.llm.driver_config import LLMDriverConfig
5
- from janito.drivers.openai.driver import OpenAIModelDriver
6
- from janito.tools import get_local_tools_adapter
7
- from janito.providers.registry import LLMProviderRegistry
8
- from .model_info import MODEL_SPECS
9
- from queue import Queue
10
-
11
- available = OpenAIModelDriver.available
12
- unavailable_reason = OpenAIModelDriver.unavailable_reason
13
-
14
-
15
- class GroqProvider(LLMProvider):
16
- name = "groq"
17
- NAME = "groq"
18
- MAINTAINER = "Groq Inc. <support@groq.com>"
19
- MODEL_SPECS = MODEL_SPECS
20
- DEFAULT_MODEL = "moonshotai/kimi-k2-instruct"
21
-
22
- def __init__(
23
- self, auth_manager: LLMAuthManager = None, config: LLMDriverConfig = None
24
- ):
25
- if not self.available:
26
- self._tools_adapter = get_local_tools_adapter()
27
- self._driver = None
28
- else:
29
- self.auth_manager = auth_manager or LLMAuthManager()
30
- self._api_key = self.auth_manager.get_credentials(type(self).NAME)
31
- self._tools_adapter = get_local_tools_adapter()
32
- self._driver_config = config or LLMDriverConfig(model=self.DEFAULT_MODEL)
33
- if not self._driver_config.model:
34
- self._driver_config.model = self.DEFAULT_MODEL
35
-
36
- if not self._driver_config.api_key:
37
- self._driver_config.api_key = self._api_key
38
- self._driver_config.base_url = "https://api.groq.com/openai/v1"
39
- self.fill_missing_device_info(self._driver_config)
40
- self._driver = None
41
-
42
- @property
43
- def driver(self) -> OpenAIModelDriver:
44
- if not self.available:
45
- raise ImportError(f"GroqProvider unavailable: {self.unavailable_reason}")
46
- return self._driver
47
-
48
- @property
49
- def available(self):
50
- return available
51
-
52
- @property
53
- def unavailable_reason(self):
54
- return unavailable_reason
55
-
56
- def create_driver(self):
57
- driver = OpenAIModelDriver(
58
- tools_adapter=self._tools_adapter, provider_name=self.NAME
59
- )
60
- driver.config = self._driver_config
61
- return driver
62
-
63
- @property
64
- def model_name(self):
65
- return self._driver_config.model
66
-
67
- @property
68
- def driver_config(self):
69
- return self._driver_config
70
-
71
- def execute_tool(self, tool_name: str, event_bus, *args, **kwargs):
72
- self._tools_adapter.event_bus = event_bus
73
- return self._tools_adapter.execute_by_name(tool_name, *args, **kwargs)
74
-
75
-
76
- LLMProviderRegistry.register(GroqProvider.NAME, GroqProvider)