lollms-client 0.24.2__tar.gz → 0.25.1__tar.gz

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.

Files changed (91) hide show
  1. {lollms_client-0.24.2/lollms_client.egg-info → lollms_client-0.25.1}/PKG-INFO +1 -1
  2. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/__init__.py +1 -1
  3. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/llm_bindings/lollms/__init__.py +1 -0
  4. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/llm_bindings/openai/__init__.py +30 -9
  5. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/lollms_core.py +232 -161
  6. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/lollms_discussion.py +102 -34
  7. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/lollms_types.py +9 -1
  8. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/lollms_utilities.py +68 -0
  9. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/mcp_bindings/remote_mcp/__init__.py +82 -4
  10. {lollms_client-0.24.2 → lollms_client-0.25.1/lollms_client.egg-info}/PKG-INFO +1 -1
  11. {lollms_client-0.24.2 → lollms_client-0.25.1}/LICENSE +0 -0
  12. {lollms_client-0.24.2 → lollms_client-0.25.1}/README.md +0 -0
  13. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/article_summary/article_summary.py +0 -0
  14. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/console_discussion/console_app.py +0 -0
  15. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/console_discussion.py +0 -0
  16. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/deep_analyze/deep_analyse.py +0 -0
  17. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/deep_analyze/deep_analyze_multiple_files.py +0 -0
  18. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/function_calling_with_local_custom_mcp.py +0 -0
  19. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/generate_a_benchmark_for_safe_store.py +0 -0
  20. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/generate_and_speak/generate_and_speak.py +0 -0
  21. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/generate_game_sfx/generate_game_fx.py +0 -0
  22. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/generate_text_with_multihop_rag_example.py +0 -0
  23. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/gradio_chat_app.py +0 -0
  24. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/gradio_lollms_chat.py +0 -0
  25. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/internet_search_with_rag.py +0 -0
  26. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/lollms_discussions_test.py +0 -0
  27. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/mcp_examples/external_mcp.py +0 -0
  28. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/mcp_examples/local_mcp.py +0 -0
  29. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/mcp_examples/openai_mcp.py +0 -0
  30. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/mcp_examples/run_remote_mcp_example_v2.py +0 -0
  31. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/mcp_examples/run_standard_mcp_example.py +0 -0
  32. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/simple_text_gen_test.py +0 -0
  33. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/simple_text_gen_with_image_test.py +0 -0
  34. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/test_local_models/local_chat.py +0 -0
  35. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/text_2_audio.py +0 -0
  36. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/text_2_image.py +0 -0
  37. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/text_2_image_diffusers.py +0 -0
  38. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/text_and_image_2_audio.py +0 -0
  39. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/text_gen.py +0 -0
  40. {lollms_client-0.24.2 → lollms_client-0.25.1}/examples/text_gen_system_prompt.py +0 -0
  41. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/llm_bindings/__init__.py +0 -0
  42. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/llm_bindings/llamacpp/__init__.py +0 -0
  43. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/llm_bindings/ollama/__init__.py +0 -0
  44. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/llm_bindings/openllm/__init__.py +0 -0
  45. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/llm_bindings/pythonllamacpp/__init__.py +0 -0
  46. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/llm_bindings/tensor_rt/__init__.py +0 -0
  47. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/llm_bindings/transformers/__init__.py +0 -0
  48. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/llm_bindings/vllm/__init__.py +0 -0
  49. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/lollms_config.py +0 -0
  50. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/lollms_js_analyzer.py +0 -0
  51. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/lollms_llm_binding.py +0 -0
  52. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/lollms_mcp_binding.py +0 -0
  53. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/lollms_personality.py +0 -0
  54. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/lollms_python_analyzer.py +0 -0
  55. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/lollms_stt_binding.py +0 -0
  56. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/lollms_tti_binding.py +0 -0
  57. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/lollms_ttm_binding.py +0 -0
  58. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/lollms_tts_binding.py +0 -0
  59. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/lollms_ttv_binding.py +0 -0
  60. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/mcp_bindings/local_mcp/__init__.py +0 -0
  61. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/mcp_bindings/local_mcp/default_tools/file_writer/file_writer.py +0 -0
  62. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/mcp_bindings/local_mcp/default_tools/generate_image_from_prompt/generate_image_from_prompt.py +0 -0
  63. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/mcp_bindings/local_mcp/default_tools/internet_search/internet_search.py +0 -0
  64. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/mcp_bindings/local_mcp/default_tools/python_interpreter/python_interpreter.py +0 -0
  65. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/mcp_bindings/standard_mcp/__init__.py +0 -0
  66. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/stt_bindings/__init__.py +0 -0
  67. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/stt_bindings/lollms/__init__.py +0 -0
  68. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/stt_bindings/whisper/__init__.py +0 -0
  69. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/stt_bindings/whispercpp/__init__.py +0 -0
  70. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/tti_bindings/__init__.py +0 -0
  71. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/tti_bindings/dalle/__init__.py +0 -0
  72. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/tti_bindings/diffusers/__init__.py +0 -0
  73. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/tti_bindings/gemini/__init__.py +0 -0
  74. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/tti_bindings/lollms/__init__.py +0 -0
  75. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/ttm_bindings/__init__.py +0 -0
  76. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/ttm_bindings/audiocraft/__init__.py +0 -0
  77. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/ttm_bindings/bark/__init__.py +0 -0
  78. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/ttm_bindings/lollms/__init__.py +0 -0
  79. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/tts_bindings/__init__.py +0 -0
  80. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/tts_bindings/bark/__init__.py +0 -0
  81. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/tts_bindings/lollms/__init__.py +0 -0
  82. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/tts_bindings/piper_tts/__init__.py +0 -0
  83. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/tts_bindings/xtts/__init__.py +0 -0
  84. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/ttv_bindings/__init__.py +0 -0
  85. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client/ttv_bindings/lollms/__init__.py +0 -0
  86. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client.egg-info/SOURCES.txt +0 -0
  87. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client.egg-info/dependency_links.txt +0 -0
  88. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client.egg-info/requires.txt +0 -0
  89. {lollms_client-0.24.2 → lollms_client-0.25.1}/lollms_client.egg-info/top_level.txt +0 -0
  90. {lollms_client-0.24.2 → lollms_client-0.25.1}/pyproject.toml +0 -0
  91. {lollms_client-0.24.2 → lollms_client-0.25.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lollms_client
3
- Version: 0.24.2
3
+ Version: 0.25.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
@@ -8,7 +8,7 @@ from lollms_client.lollms_utilities import PromptReshaper # Keep general utiliti
8
8
  from lollms_client.lollms_mcp_binding import LollmsMCPBinding, LollmsMCPBindingManager
9
9
 
10
10
 
11
- __version__ = "0.24.2" # Updated version
11
+ __version__ = "0.25.1" # Updated version
12
12
 
13
13
  # Optionally, you could define __all__ if you want to be explicit about exports
14
14
  __all__ = [
@@ -4,6 +4,7 @@ from lollms_client.lollms_llm_binding import LollmsLLMBinding
4
4
  from lollms_client.lollms_types import MSG_TYPE
5
5
  from lollms_client.lollms_utilities import encode_image
6
6
  from lollms_client.lollms_types import ELF_COMPLETION_FORMAT
7
+ from lollms_client.lollms_discussion import LollmsDiscussion
7
8
  from ascii_colors import ASCIIColors, trace_exception
8
9
  from typing import Optional, Callable, List, Union
9
10
  import json
@@ -30,7 +30,8 @@ class OpenAIBinding(LollmsLLMBinding):
30
30
  model_name: str = "",
31
31
  service_key: str = None,
32
32
  verify_ssl_certificate: bool = True,
33
- default_completion_format: ELF_COMPLETION_FORMAT = ELF_COMPLETION_FORMAT.Chat):
33
+ default_completion_format: ELF_COMPLETION_FORMAT = ELF_COMPLETION_FORMAT.Chat,
34
+ **kwargs):
34
35
  """
35
36
  Initialize the OpenAI binding.
36
37
 
@@ -52,7 +53,7 @@ class OpenAIBinding(LollmsLLMBinding):
52
53
 
53
54
  if not self.service_key:
54
55
  self.service_key = os.getenv("OPENAI_API_KEY", self.service_key)
55
- self.client = openai.OpenAI(api_key=self.service_key, base_url=host_address)
56
+ self.client = openai.OpenAI(api_key=self.service_key, base_url=None if host_address is None else host_address if len(host_address)>0 else None)
56
57
  self.completion_format = ELF_COMPLETION_FORMAT.Chat
57
58
 
58
59
 
@@ -103,15 +104,15 @@ class OpenAIBinding(LollmsLLMBinding):
103
104
  """
104
105
  count = 0
105
106
  output = ""
107
+ messages = [
108
+ {
109
+ "role": "system",
110
+ "content": system_prompt or "You are a helpful assistant.",
111
+ }
112
+ ]
106
113
 
107
114
  # Prepare messages based on whether images are provided
108
115
  if images:
109
- messages = [
110
- {
111
- "role": "system",
112
- "content": system_prompt,
113
- }
114
- ]
115
116
  if split:
116
117
  messages += self.split_discussion(prompt,user_keyword=user_keyword, ai_keyword=ai_keyword)
117
118
  if images:
@@ -150,7 +151,27 @@ class OpenAIBinding(LollmsLLMBinding):
150
151
  )
151
152
 
152
153
  else:
153
- messages = [{"role": "user", "content": prompt}]
154
+
155
+ if split:
156
+ messages += self.split_discussion(prompt,user_keyword=user_keyword, ai_keyword=ai_keyword)
157
+ if images:
158
+ messages[-1]["content"] = [
159
+ {
160
+ "type": "text",
161
+ "text": messages[-1]["content"]
162
+ }
163
+ ]
164
+ else:
165
+ messages.append({
166
+ 'role': 'user',
167
+ 'content': [
168
+ {
169
+ "type": "text",
170
+ "text": prompt
171
+ }
172
+ ]
173
+ }
174
+ )
154
175
 
155
176
  # Generate text using the OpenAI API
156
177
  if self.completion_format == ELF_COMPLETION_FORMAT.Chat: