lollms-client 1.4.1__py3-none-any.whl → 1.7.10__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 (64) hide show
  1. lollms_client/__init__.py +1 -1
  2. lollms_client/llm_bindings/azure_openai/__init__.py +2 -2
  3. lollms_client/llm_bindings/claude/__init__.py +125 -34
  4. lollms_client/llm_bindings/gemini/__init__.py +261 -159
  5. lollms_client/llm_bindings/grok/__init__.py +52 -14
  6. lollms_client/llm_bindings/groq/__init__.py +2 -2
  7. lollms_client/llm_bindings/hugging_face_inference_api/__init__.py +2 -2
  8. lollms_client/llm_bindings/litellm/__init__.py +1 -1
  9. lollms_client/llm_bindings/llamacpp/__init__.py +18 -11
  10. lollms_client/llm_bindings/lollms/__init__.py +151 -32
  11. lollms_client/llm_bindings/lollms_webui/__init__.py +1 -1
  12. lollms_client/llm_bindings/mistral/__init__.py +2 -2
  13. lollms_client/llm_bindings/novita_ai/__init__.py +439 -0
  14. lollms_client/llm_bindings/ollama/__init__.py +309 -93
  15. lollms_client/llm_bindings/open_router/__init__.py +2 -2
  16. lollms_client/llm_bindings/openai/__init__.py +148 -29
  17. lollms_client/llm_bindings/openllm/__init__.py +362 -506
  18. lollms_client/llm_bindings/openwebui/__init__.py +465 -0
  19. lollms_client/llm_bindings/perplexity/__init__.py +326 -0
  20. lollms_client/llm_bindings/pythonllamacpp/__init__.py +3 -3
  21. lollms_client/llm_bindings/tensor_rt/__init__.py +1 -1
  22. lollms_client/llm_bindings/transformers/__init__.py +428 -632
  23. lollms_client/llm_bindings/vllm/__init__.py +1 -1
  24. lollms_client/lollms_agentic.py +4 -2
  25. lollms_client/lollms_base_binding.py +61 -0
  26. lollms_client/lollms_core.py +516 -1890
  27. lollms_client/lollms_discussion.py +55 -18
  28. lollms_client/lollms_llm_binding.py +112 -261
  29. lollms_client/lollms_mcp_binding.py +34 -75
  30. lollms_client/lollms_personality.py +5 -2
  31. lollms_client/lollms_stt_binding.py +85 -52
  32. lollms_client/lollms_tti_binding.py +23 -37
  33. lollms_client/lollms_ttm_binding.py +24 -42
  34. lollms_client/lollms_tts_binding.py +28 -17
  35. lollms_client/lollms_ttv_binding.py +24 -42
  36. lollms_client/lollms_types.py +4 -2
  37. lollms_client/stt_bindings/whisper/__init__.py +108 -23
  38. lollms_client/stt_bindings/whispercpp/__init__.py +7 -1
  39. lollms_client/tti_bindings/diffusers/__init__.py +418 -810
  40. lollms_client/tti_bindings/diffusers/server/main.py +1051 -0
  41. lollms_client/tti_bindings/gemini/__init__.py +182 -239
  42. lollms_client/tti_bindings/leonardo_ai/__init__.py +127 -0
  43. lollms_client/tti_bindings/lollms/__init__.py +4 -1
  44. lollms_client/tti_bindings/novita_ai/__init__.py +105 -0
  45. lollms_client/tti_bindings/openai/__init__.py +10 -11
  46. lollms_client/tti_bindings/stability_ai/__init__.py +178 -0
  47. lollms_client/ttm_bindings/audiocraft/__init__.py +7 -12
  48. lollms_client/ttm_bindings/beatoven_ai/__init__.py +129 -0
  49. lollms_client/ttm_bindings/lollms/__init__.py +4 -17
  50. lollms_client/ttm_bindings/replicate/__init__.py +115 -0
  51. lollms_client/ttm_bindings/stability_ai/__init__.py +117 -0
  52. lollms_client/ttm_bindings/topmediai/__init__.py +96 -0
  53. lollms_client/tts_bindings/bark/__init__.py +7 -10
  54. lollms_client/tts_bindings/lollms/__init__.py +6 -1
  55. lollms_client/tts_bindings/piper_tts/__init__.py +8 -11
  56. lollms_client/tts_bindings/xtts/__init__.py +157 -74
  57. lollms_client/tts_bindings/xtts/server/main.py +241 -280
  58. {lollms_client-1.4.1.dist-info → lollms_client-1.7.10.dist-info}/METADATA +316 -6
  59. lollms_client-1.7.10.dist-info/RECORD +89 -0
  60. lollms_client/ttm_bindings/bark/__init__.py +0 -339
  61. lollms_client-1.4.1.dist-info/RECORD +0 -78
  62. {lollms_client-1.4.1.dist-info → lollms_client-1.7.10.dist-info}/WHEEL +0 -0
  63. {lollms_client-1.4.1.dist-info → lollms_client-1.7.10.dist-info}/licenses/LICENSE +0 -0
  64. {lollms_client-1.4.1.dist-info → lollms_client-1.7.10.dist-info}/top_level.txt +0 -0
@@ -451,7 +451,7 @@ class VLLMBinding(LollmsLLMBinding):
451
451
  }
452
452
  return info
453
453
 
454
- def listModels(self) -> List[Dict[str, Any]]:
454
+ def list_models(self) -> List[Dict[str, Any]]:
455
455
  local_models = []
456
456
  if not self.models_folder.exists(): return []
457
457
  for item_path in self.models_folder.rglob('*'):
@@ -65,19 +65,21 @@ class TaskPlanner:
65
65
  def __init__(self, llm_client):
66
66
  self.llm_client = llm_client
67
67
 
68
- def decompose_task(self, user_request: str, context: str = "") -> ExecutionPlan:
68
+ def decompose_task(self, user_request: str, context: str = "", all_visible_tools:str="") -> ExecutionPlan:
69
69
  """Break down complex requests into manageable subtasks"""
70
70
  decomposition_prompt = f"""
71
71
  Analyze this user request and break it down into specific, actionable subtasks:
72
72
 
73
73
  USER REQUEST: "{user_request}"
74
74
  CONTEXT: {context}
75
+ AVAILABLE TOOLS: {all_visible_tools}
75
76
 
76
77
  Create a JSON plan with subtasks that are:
77
78
  1. Specific and actionable
78
79
  2. Have clear success criteria
79
80
  3. Include estimated complexity (1-5 scale)
80
81
  4. List required tool types
82
+ 5. The tasks should either be thought based, or use one of the available tools. Do not plan tasks we can not do.
81
83
 
82
84
  Output format:
83
85
  {{
@@ -358,4 +360,4 @@ class UncertaintyManager:
358
360
  else:
359
361
  level = ConfidenceLevel.LOW
360
362
 
361
- return confidence, level
363
+ return confidence, level
@@ -0,0 +1,61 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Optional, Dict, List, Any
3
+ from pathlib import Path
4
+ import yaml
5
+ import inspect
6
+ from ascii_colors import ASCIIColors
7
+
8
+ class LollmsBaseBinding(ABC):
9
+ """
10
+ Base class for all LOLLMS bindings (LLM, TTI, TTS, STT, TTM, TTV, MCP).
11
+ Enforces a unified initialization and common methods.
12
+ """
13
+ def __init__(self, binding_name: str, **kwargs):
14
+ """
15
+ Initialize the binding.
16
+
17
+ Args:
18
+ binding_name (str): The name of the binding.
19
+ **kwargs: Configuration parameters passed from the manager/app.
20
+ """
21
+ self.binding_name = binding_name
22
+ self.config = kwargs
23
+ self.binding_dir = self._get_binding_dir()
24
+ self.description = self._load_description()
25
+
26
+ def _get_binding_dir(self) -> Path:
27
+ """
28
+ Locates the directory of the concrete binding class.
29
+ """
30
+ try:
31
+ return Path(inspect.getfile(self.__class__)).parent
32
+ except Exception:
33
+ return Path(".")
34
+
35
+ def _load_description(self) -> Dict:
36
+ """
37
+ Loads the description.yaml file from the binding directory.
38
+ """
39
+ desc_file = self.binding_dir / "description.yaml"
40
+ if desc_file.exists():
41
+ try:
42
+ with open(desc_file, 'r', encoding='utf-8') as f:
43
+ return yaml.safe_load(f)
44
+ except Exception as e:
45
+ ASCIIColors.error(f"Failed to load description.yaml for {self.binding_name}: {e}")
46
+ return {}
47
+
48
+ @abstractmethod
49
+ def list_models(self) -> List[Any]:
50
+ """
51
+ List available models or resources provided by this binding.
52
+ Must be implemented by all bindings.
53
+ """
54
+ pass
55
+
56
+ def ps(self) -> List[Any]:
57
+ """
58
+ Verify resources or processes associated with this binding.
59
+ Returns a list of status information.
60
+ """
61
+ return []