lollms-client 0.17.0__py3-none-any.whl → 0.17.1__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.

Potentially problematic release.


This version of lollms-client might be problematic. Click here for more details.

lollms_client/__init__.py CHANGED
@@ -6,7 +6,7 @@ from lollms_client.lollms_discussion import LollmsDiscussion, LollmsMessage
6
6
  from lollms_client.lollms_utilities import PromptReshaper # Keep general utilities
7
7
  from lollms_client.lollms_functions import FunctionCalling_Library
8
8
 
9
- __version__ = "0.17.0"
9
+ __version__ = "0.17.1"
10
10
 
11
11
  # Optionally, you could define __all__ if you want to be explicit about exports
12
12
  __all__ = [
@@ -61,11 +61,12 @@ class LollmsClient():
61
61
  ctx_size: Optional[int] = 8192,
62
62
  n_predict: Optional[int] = 4096,
63
63
  stream: bool = False,
64
- temperature: float = 0.1,
65
- top_k: int = 50,
66
- top_p: float = 0.95,
67
- repeat_penalty: float = 0.8,
68
- repeat_last_n: int = 40,
64
+ temperature: float = 0.7, # Ollama default is 0.8, common default 0.7
65
+ top_k: int = 40, # Ollama default is 40
66
+ top_p: float = 0.9, # Ollama default is 0.9
67
+ repeat_penalty: float = 1.1, # Ollama default is 1.1
68
+ repeat_last_n: int = 64, # Ollama default is 64
69
+
69
70
  seed: Optional[int] = None,
70
71
  n_threads: int = 8,
71
72
  streaming_callback: Optional[Callable[[str, MSG_TYPE], None]] = None,
@@ -157,29 +157,25 @@ class LollmsLLMBinding(ABC):
157
157
 
158
158
 
159
159
  def split_discussion(self, lollms_prompt_string: str, system_keyword="!@>system:", user_keyword="!@>user:", ai_keyword="!@>assistant:") -> list:
160
-
161
160
  """
162
- Abra-cadabra! Splits a combined LoLLMs prompt string into a list of
163
- OpenAI chat messages.
164
-
165
- Each segment starting with system_keyword/user_keyword/ai_keyword
166
- becomes a {"role": ..., "content": ...} dict.
161
+ Splits a LoLLMs prompt into a list of OpenAI-style messages.
162
+ If the very first chunk has no prefix, it's assigned to "system".
167
163
  """
168
- # Build a regex that looks ahead for any of the three markers
164
+ # Regex to split on any of the three prefixes (lookahead)
169
165
  pattern = r"(?={}|{}|{})".format(
170
166
  re.escape(system_keyword),
171
167
  re.escape(user_keyword),
172
168
  re.escape(ai_keyword)
173
169
  )
174
- # Split the big string into little bits at each keyword
175
170
  parts = re.split(pattern, lollms_prompt_string)
176
171
  messages = []
177
172
 
178
173
  for part in parts:
179
174
  part = part.strip()
180
175
  if not part:
181
- continue # Skip empty rabbitholes
176
+ continue
182
177
 
178
+ # Determine role and strip prefix if present
183
179
  if part.startswith(system_keyword):
184
180
  role = "system"
185
181
  content = part[len(system_keyword):].strip()
@@ -190,16 +186,22 @@ class LollmsLLMBinding(ABC):
190
186
  role = "assistant"
191
187
  content = part[len(ai_keyword):].strip()
192
188
  else:
193
- # Unknown segment—maybe a ghost?
194
- continue
189
+ # No prefix: if it's the first valid chunk, treat as system
190
+ if not messages:
191
+ role = "system"
192
+ content = part
193
+ else:
194
+ # otherwise skip unrecognized segments
195
+ continue
195
196
 
196
197
  messages.append({"role": role, "content": content})
197
- if messages[-1]["content"]=="":
198
- del messages[-1]
198
+ if messages[-1]["content"]=="":
199
+ del messages[-1]
199
200
  return messages
200
201
 
201
202
 
202
203
 
204
+
203
205
  class LollmsLLMBindingManager:
204
206
  """Manages binding discovery and instantiation"""
205
207
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lollms_client
3
- Version: 0.17.0
3
+ Version: 0.17.1
4
4
  Summary: A client library for LoLLMs generate endpoint
5
5
  Author-email: ParisNeo <parisneoai@gmail.com>
6
6
  License: Apache Software License
@@ -15,13 +15,13 @@ examples/personality_test/chat_test.py,sha256=o2jlpoddFc-T592iqAiA29xk3x27KsdK5D
15
15
  examples/personality_test/chat_with_aristotle.py,sha256=4X_fwubMpd0Eq2rCReS2bgVlUoAqJprjkLXk2Jz6pXU,1774
16
16
  examples/personality_test/tesks_test.py,sha256=7LIiwrEbva9WWZOLi34fsmCBN__RZbPpxoUOKA_AtYk,1924
17
17
  examples/test_local_models/local_chat.py,sha256=slakja2zaHOEAUsn2tn_VmI4kLx6luLBrPqAeaNsix8,456
18
- lollms_client/__init__.py,sha256=gnRUMaensmKS0xLWcPnEhZzlwu6zbXt9M2NIlW35YXM,823
18
+ lollms_client/__init__.py,sha256=v0fLw3fxRSVML8auu9wqW8w-93EVhGHvQK06SOb8F4o,823
19
19
  lollms_client/lollms_config.py,sha256=goEseDwDxYJf3WkYJ4IrLXwg3Tfw73CXV2Avg45M_hE,21876
20
- lollms_client/lollms_core.py,sha256=6Uvm0qI1NZAzVu9kCoa-gCmBIe5FxRqAywfFEFqQliY,79894
20
+ lollms_client/lollms_core.py,sha256=fRHdQ0yWAmMuOLZAzDbdlYfCsx0Rb8rQ-RYl_bKgEHk,80049
21
21
  lollms_client/lollms_discussion.py,sha256=9b83m0D894jwpgssWYTQHbVxp1gJoI-J947Ui_dRXII,2073
22
22
  lollms_client/lollms_functions.py,sha256=p8SFtmEPqvVCsIz2fZ5HxyOHaxjrAo5c12uTzJnb6m8,3594
23
23
  lollms_client/lollms_js_analyzer.py,sha256=01zUvuO2F_lnUe_0NLxe1MF5aHE1hO8RZi48mNPv-aw,8361
24
- lollms_client/lollms_llm_binding.py,sha256=Ekh_UzqOh7KyF4asjj83a_I40d7Iki7OjKNKtKF5tEs,9714
24
+ lollms_client/lollms_llm_binding.py,sha256=bdElz_IBx0zZ-85YTT1fyY_mSoHo46tKIMiHYJlKCkM,9809
25
25
  lollms_client/lollms_python_analyzer.py,sha256=7gf1fdYgXCOkPUkBAPNmr6S-66hMH4_KonOMsADASxc,10246
26
26
  lollms_client/lollms_stt_binding.py,sha256=jAUhLouEhh2hmm1bK76ianfw_6B59EHfY3FmLv6DU-g,5111
27
27
  lollms_client/lollms_tasks.py,sha256=Tgqces03gPTHFJCcPaeN9vBCsil3SSJX7nQAjCQ2-yg,34393
@@ -58,8 +58,8 @@ lollms_client/tts_bindings/piper_tts/__init__.py,sha256=0IEWG4zH3_sOkSb9WbZzkeV5
58
58
  lollms_client/tts_bindings/xtts/__init__.py,sha256=FgcdUH06X6ZR806WQe5ixaYx0QoxtAcOgYo87a2qxYc,18266
59
59
  lollms_client/ttv_bindings/__init__.py,sha256=UZ8o2izQOJLQgtZ1D1cXoNST7rzqW22rL2Vufc7ddRc,3141
60
60
  lollms_client/ttv_bindings/lollms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
- lollms_client-0.17.0.dist-info/licenses/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
62
- lollms_client-0.17.0.dist-info/METADATA,sha256=8Yr67tAA-uvLMsS5XABaicDYGSyl_jqRofN8NVWwsT8,9798
63
- lollms_client-0.17.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
64
- lollms_client-0.17.0.dist-info/top_level.txt,sha256=NI_W8S4OYZvJjb0QWMZMSIpOrYzpqwPGYaklhyWKH2w,23
65
- lollms_client-0.17.0.dist-info/RECORD,,
61
+ lollms_client-0.17.1.dist-info/licenses/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
62
+ lollms_client-0.17.1.dist-info/METADATA,sha256=il6ItLIYooPptltVkFNR-nLgFF6Kjcf_PyckEhbMlzA,9798
63
+ lollms_client-0.17.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
64
+ lollms_client-0.17.1.dist-info/top_level.txt,sha256=NI_W8S4OYZvJjb0QWMZMSIpOrYzpqwPGYaklhyWKH2w,23
65
+ lollms_client-0.17.1.dist-info/RECORD,,