lollms-client 1.5.6__py3-none-any.whl → 1.7.13__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.
- lollms_client/__init__.py +1 -1
- lollms_client/llm_bindings/azure_openai/__init__.py +2 -2
- lollms_client/llm_bindings/claude/__init__.py +125 -35
- lollms_client/llm_bindings/gemini/__init__.py +261 -159
- lollms_client/llm_bindings/grok/__init__.py +52 -15
- lollms_client/llm_bindings/groq/__init__.py +2 -2
- lollms_client/llm_bindings/hugging_face_inference_api/__init__.py +2 -2
- lollms_client/llm_bindings/litellm/__init__.py +1 -1
- lollms_client/llm_bindings/llama_cpp_server/__init__.py +605 -0
- lollms_client/llm_bindings/llamacpp/__init__.py +18 -11
- lollms_client/llm_bindings/lollms/__init__.py +76 -21
- lollms_client/llm_bindings/lollms_webui/__init__.py +1 -1
- lollms_client/llm_bindings/mistral/__init__.py +2 -2
- lollms_client/llm_bindings/novita_ai/__init__.py +142 -6
- lollms_client/llm_bindings/ollama/__init__.py +345 -89
- lollms_client/llm_bindings/open_router/__init__.py +2 -2
- lollms_client/llm_bindings/openai/__init__.py +81 -20
- lollms_client/llm_bindings/openllm/__init__.py +362 -506
- lollms_client/llm_bindings/openwebui/__init__.py +333 -171
- lollms_client/llm_bindings/perplexity/__init__.py +2 -2
- lollms_client/llm_bindings/pythonllamacpp/__init__.py +3 -3
- lollms_client/llm_bindings/tensor_rt/__init__.py +1 -1
- lollms_client/llm_bindings/transformers/__init__.py +428 -632
- lollms_client/llm_bindings/vllm/__init__.py +1 -1
- lollms_client/lollms_agentic.py +4 -2
- lollms_client/lollms_base_binding.py +61 -0
- lollms_client/lollms_core.py +512 -1890
- lollms_client/lollms_discussion.py +65 -39
- lollms_client/lollms_llm_binding.py +126 -261
- lollms_client/lollms_mcp_binding.py +49 -77
- lollms_client/lollms_stt_binding.py +99 -52
- lollms_client/lollms_tti_binding.py +38 -38
- lollms_client/lollms_ttm_binding.py +38 -42
- lollms_client/lollms_tts_binding.py +43 -18
- lollms_client/lollms_ttv_binding.py +38 -42
- lollms_client/lollms_types.py +4 -2
- lollms_client/stt_bindings/whisper/__init__.py +108 -23
- lollms_client/stt_bindings/whispercpp/__init__.py +7 -1
- lollms_client/tti_bindings/diffusers/__init__.py +464 -803
- lollms_client/tti_bindings/diffusers/server/main.py +1062 -0
- lollms_client/tti_bindings/gemini/__init__.py +182 -239
- lollms_client/tti_bindings/leonardo_ai/__init__.py +6 -3
- lollms_client/tti_bindings/lollms/__init__.py +4 -1
- lollms_client/tti_bindings/novita_ai/__init__.py +5 -2
- lollms_client/tti_bindings/openai/__init__.py +10 -11
- lollms_client/tti_bindings/stability_ai/__init__.py +5 -3
- lollms_client/ttm_bindings/audiocraft/__init__.py +7 -12
- lollms_client/ttm_bindings/beatoven_ai/__init__.py +7 -3
- lollms_client/ttm_bindings/lollms/__init__.py +4 -17
- lollms_client/ttm_bindings/replicate/__init__.py +7 -4
- lollms_client/ttm_bindings/stability_ai/__init__.py +7 -4
- lollms_client/ttm_bindings/topmediai/__init__.py +6 -3
- lollms_client/tts_bindings/bark/__init__.py +7 -10
- lollms_client/tts_bindings/lollms/__init__.py +6 -1
- lollms_client/tts_bindings/piper_tts/__init__.py +8 -11
- lollms_client/tts_bindings/xtts/__init__.py +157 -74
- lollms_client/tts_bindings/xtts/server/main.py +241 -280
- {lollms_client-1.5.6.dist-info → lollms_client-1.7.13.dist-info}/METADATA +113 -5
- lollms_client-1.7.13.dist-info/RECORD +90 -0
- lollms_client-1.5.6.dist-info/RECORD +0 -87
- {lollms_client-1.5.6.dist-info → lollms_client-1.7.13.dist-info}/WHEEL +0 -0
- {lollms_client-1.5.6.dist-info → lollms_client-1.7.13.dist-info}/licenses/LICENSE +0 -0
- {lollms_client-1.5.6.dist-info → lollms_client-1.7.13.dist-info}/top_level.txt +0 -0
|
@@ -451,7 +451,7 @@ class VLLMBinding(LollmsLLMBinding):
|
|
|
451
451
|
}
|
|
452
452
|
return info
|
|
453
453
|
|
|
454
|
-
def
|
|
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('*'):
|
lollms_client/lollms_agentic.py
CHANGED
|
@@ -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 []
|