lollms-client 0.19.8__tar.gz → 0.19.9__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.
Files changed (82) hide show
  1. {lollms_client-0.19.8 → lollms_client-0.19.9}/PKG-INFO +1 -1
  2. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/__init__.py +1 -1
  3. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/lollms_core.py +24 -40
  4. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client.egg-info/PKG-INFO +1 -1
  5. {lollms_client-0.19.8 → lollms_client-0.19.9}/LICENSE +0 -0
  6. {lollms_client-0.19.8 → lollms_client-0.19.9}/README.md +0 -0
  7. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/article_summary/article_summary.py +0 -0
  8. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/deep_analyze/deep_analyse.py +0 -0
  9. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/deep_analyze/deep_analyze_multiple_files.py +0 -0
  10. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/function_calling_with_local_custom_mcp.py +0 -0
  11. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/generate_a_benchmark_for_safe_store.py +0 -0
  12. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/generate_and_speak/generate_and_speak.py +0 -0
  13. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/generate_game_sfx/generate_game_fx.py +0 -0
  14. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/generate_text_with_multihop_rag_example.py +0 -0
  15. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/internet_search_with_rag.py +0 -0
  16. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/local_mcp.py +0 -0
  17. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/personality_test/chat_test.py +0 -0
  18. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/personality_test/chat_with_aristotle.py +0 -0
  19. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/personality_test/tesks_test.py +0 -0
  20. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/simple_text_gen_test.py +0 -0
  21. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/simple_text_gen_with_image_test.py +0 -0
  22. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/test_local_models/local_chat.py +0 -0
  23. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/text_2_audio.py +0 -0
  24. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/text_2_image.py +0 -0
  25. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/text_2_image_diffusers.py +0 -0
  26. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/text_and_image_2_audio.py +0 -0
  27. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/text_gen.py +0 -0
  28. {lollms_client-0.19.8 → lollms_client-0.19.9}/examples/text_gen_system_prompt.py +0 -0
  29. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/llm_bindings/__init__.py +0 -0
  30. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/llm_bindings/llamacpp/__init__.py +0 -0
  31. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/llm_bindings/lollms/__init__.py +0 -0
  32. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/llm_bindings/ollama/__init__.py +0 -0
  33. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/llm_bindings/openai/__init__.py +0 -0
  34. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/llm_bindings/openllm/__init__.py +0 -0
  35. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/llm_bindings/pythonllamacpp/__init__.py +0 -0
  36. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/llm_bindings/tensor_rt/__init__.py +0 -0
  37. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/llm_bindings/transformers/__init__.py +0 -0
  38. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/llm_bindings/vllm/__init__.py +0 -0
  39. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/lollms_config.py +0 -0
  40. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/lollms_discussion.py +0 -0
  41. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/lollms_js_analyzer.py +0 -0
  42. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/lollms_llm_binding.py +0 -0
  43. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/lollms_mcp_binding.py +0 -0
  44. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/lollms_python_analyzer.py +0 -0
  45. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/lollms_stt_binding.py +0 -0
  46. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/lollms_tti_binding.py +0 -0
  47. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/lollms_ttm_binding.py +0 -0
  48. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/lollms_tts_binding.py +0 -0
  49. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/lollms_ttv_binding.py +0 -0
  50. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/lollms_types.py +0 -0
  51. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/lollms_utilities.py +0 -0
  52. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/mcp_bindings/local_mcp/__init__.py +0 -0
  53. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/mcp_bindings/local_mcp/default_tools/file_writer/file_writer.py +0 -0
  54. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/mcp_bindings/local_mcp/default_tools/generate_image_from_prompt/generate_image_from_prompt.py +0 -0
  55. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/mcp_bindings/local_mcp/default_tools/internet_search/internet_search.py +0 -0
  56. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/mcp_bindings/local_mcp/default_tools/python_interpreter/python_interpreter.py +0 -0
  57. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/stt_bindings/__init__.py +0 -0
  58. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/stt_bindings/lollms/__init__.py +0 -0
  59. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/stt_bindings/whisper/__init__.py +0 -0
  60. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/stt_bindings/whispercpp/__init__.py +0 -0
  61. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/tti_bindings/__init__.py +0 -0
  62. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/tti_bindings/dalle/__init__.py +0 -0
  63. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/tti_bindings/diffusers/__init__.py +0 -0
  64. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/tti_bindings/gemini/__init__.py +0 -0
  65. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/tti_bindings/lollms/__init__.py +0 -0
  66. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/ttm_bindings/__init__.py +0 -0
  67. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/ttm_bindings/audiocraft/__init__.py +0 -0
  68. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/ttm_bindings/bark/__init__.py +0 -0
  69. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/ttm_bindings/lollms/__init__.py +0 -0
  70. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/tts_bindings/__init__.py +0 -0
  71. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/tts_bindings/bark/__init__.py +0 -0
  72. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/tts_bindings/lollms/__init__.py +0 -0
  73. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/tts_bindings/piper_tts/__init__.py +0 -0
  74. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/tts_bindings/xtts/__init__.py +0 -0
  75. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/ttv_bindings/__init__.py +0 -0
  76. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client/ttv_bindings/lollms/__init__.py +0 -0
  77. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client.egg-info/SOURCES.txt +0 -0
  78. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client.egg-info/dependency_links.txt +0 -0
  79. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client.egg-info/requires.txt +0 -0
  80. {lollms_client-0.19.8 → lollms_client-0.19.9}/lollms_client.egg-info/top_level.txt +0 -0
  81. {lollms_client-0.19.8 → lollms_client-0.19.9}/pyproject.toml +0 -0
  82. {lollms_client-0.19.8 → lollms_client-0.19.9}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lollms_client
3
- Version: 0.19.8
3
+ Version: 0.19.9
4
4
  Summary: A client library for LoLLMs generate endpoint
5
5
  Author-email: ParisNeo <parisneoai@gmail.com>
6
6
  License: Apache Software License
@@ -7,7 +7,7 @@ from lollms_client.lollms_utilities import PromptReshaper # Keep general utiliti
7
7
  from lollms_client.lollms_mcp_binding import LollmsMCPBinding, LollmsMCPBindingManager
8
8
 
9
9
 
10
- __version__ = "0.19.8" # Updated version
10
+ __version__ = "0.19.9" # Updated version
11
11
 
12
12
  # Optionally, you could define __all__ if you want to be explicit about exports
13
13
  __all__ = [
@@ -923,27 +923,34 @@ Respond with a JSON object containing ONE of the following structures:
923
923
  if streaming_callback:
924
924
  streaming_callback(f"Starting RAG Hop {hop_count + 1}", MSG_TYPE.MSG_TYPE_STEP, {"type": "rag_hop_start", "hop": hop_count + 1}, turn_rag_history_for_callback)
925
925
 
926
- # Generate refined query for multi-hop
927
- if hop_count > 0:
928
- # build system prompt and history...
929
- # (same as before, omitted for brevity)
930
- # result => current_query_for_rag
931
- pass
932
- elif current_query_for_rag is None:
933
- current_query_for_rag = prompt
934
-
935
- if not current_query_for_rag:
936
- rag_hops_details_list.append({
937
- "query": "EMPTY_QUERY_STOPPED_HOPS",
938
- "retrieved_chunks_details": [],
939
- "status": "Stopped: empty query."
940
- })
941
- break
926
+ txt_previous_queries = f"Previous queries:\n"+'\n'.join(previous_queries)+"\n\n" if len(previous_queries)>0 else ""
927
+ txt_informations = f"Information:\n"+'\n'.join([f"(from {chunk['document']}):{chunk['content']}" for _, chunk in all_unique_retrieved_chunks_map.items()]) if len(all_unique_retrieved_chunks_map)>0 else "This is the first request. No data received yet. Build a new query."
928
+ txt_sp = "Your objective is to analyze the provided chunks of information, then decise if they are sufficient to reach the objective. If you need more information, formulate a new query to extract more data."
929
+ txt_formatting = """The output format must be in form of json placed inside a json markdown tag. Here is the schema to use:
930
+ ```json
931
+ {
932
+ "decision": A boolean depicting your decision (true: more data is needed, false: there is enough data to reach objective),
933
+ "query": (optional, only if decision is true). A new query to recover more information from the data source (do not use previous queries as they have already been used)
934
+ }
935
+ ```
936
+ """
937
+ p = f"Objective:\n{objectives_text}\n\n{txt_previous_queries}\n\n{txt_informations}\n\n{txt_formatting}\n\n"
938
+ response = self.generate_code(p,system_prompt=txt_sp)
939
+ try:
940
+ answer = json.loads(response)
941
+ decision = answer["decision"]
942
+ if not decision:
943
+ break
944
+ else:
945
+ current_query_for_rag = answer["query"]
946
+ except Exception as ex:
947
+ trace_exception(ex)
942
948
 
943
949
  # Retrieve chunks
944
950
  try:
945
951
  retrieved = rag_query_function(current_query_for_rag, rag_vectorizer_name, rag_top_k, rag_min_similarity_percent)
946
952
  except Exception as e:
953
+ trace_exception(e)
947
954
  return {"final_answer": "", "rag_hops_history": rag_hops_details_list, "all_retrieved_sources": list(all_unique_retrieved_chunks_map.values()), "error": str(e)}
948
955
 
949
956
  hop_details = {"query": current_query_for_rag, "retrieved_chunks_details": [], "status": ""}
@@ -965,30 +972,7 @@ Respond with a JSON object containing ONE of the following structures:
965
972
  hop_details["status"] = "No *new* unique chunks retrieved"
966
973
  rag_hops_details_list.append(hop_details)
967
974
 
968
- # reset for next hop
969
- if hop_count < max_rag_hops:
970
- txt_previous_queries = f"Previous queries:\n"+'\n'.join(previous_queries)+"\n\n" if len(previous_queries)>0 else ""
971
- txt_informations = f"Information:\n"+'\n'.join([f"(from {chunk['document']}):{chunk['content']}" for _, chunk in all_unique_retrieved_chunks_map.items()])
972
- txt_sp = "Your objective is to analyze the provided chunks of information, then decise if they are sufficient to reach the objective. If you need more information, formulate a new query to extract more data."
973
- txt_formatting = """The output format must be in form of json placed inside a json markdown tag. Here is the schema to use:
974
- ```json
975
- {
976
- "decision": A boolean depicting your decision (true: more data is needed, false: there is enough data to reach objective),
977
- "query": (optional, only if decision is true). A new query to recover more information from the data source (do not use previous queries as they have already been used)
978
- }
979
- ```
980
- """
981
- p = f"Objective:\n{objectives_text}\n\n{txt_previous_queries}\n\n{txt_informations}\n\n{txt_formatting}\n\n"
982
- response = self.generate_code(p,system_prompt=txt_sp)
983
- try:
984
- answer = json.loads(response)
985
- decision = answer["decision"]
986
- if not decision:
987
- break
988
- else:
989
- current_query_for_rag = answer["query"]
990
- except Exception as ex:
991
- trace_exception(ex)
975
+
992
976
 
993
977
  # 2. Prepare & Summarize Context
994
978
  sorted_chunks = sorted(all_unique_retrieved_chunks_map.values(),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lollms_client
3
- Version: 0.19.8
3
+ Version: 0.19.9
4
4
  Summary: A client library for LoLLMs generate endpoint
5
5
  Author-email: ParisNeo <parisneoai@gmail.com>
6
6
  License: Apache Software License
File without changes
File without changes
File without changes