sunholo 0.95.5__tar.gz → 0.96.0__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 (160) hide show
  1. {sunholo-0.95.5 → sunholo-0.96.0}/PKG-INFO +2 -2
  2. {sunholo-0.95.5 → sunholo-0.96.0}/setup.py +1 -1
  3. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/langfuse/evals.py +29 -18
  4. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo.egg-info/PKG-INFO +2 -2
  5. {sunholo-0.95.5 → sunholo-0.96.0}/LICENSE.txt +0 -0
  6. {sunholo-0.95.5 → sunholo-0.96.0}/MANIFEST.in +0 -0
  7. {sunholo-0.95.5 → sunholo-0.96.0}/README.md +0 -0
  8. {sunholo-0.95.5 → sunholo-0.96.0}/setup.cfg +0 -0
  9. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/__init__.py +0 -0
  10. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/__init__.py +0 -0
  11. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/chat_history.py +0 -0
  12. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/dispatch_to_qa.py +0 -0
  13. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/fastapi/__init__.py +0 -0
  14. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/fastapi/base.py +0 -0
  15. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/fastapi/qna_routes.py +0 -0
  16. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/flask/__init__.py +0 -0
  17. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/flask/base.py +0 -0
  18. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/flask/qna_routes.py +0 -0
  19. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/flask/vac_routes.py +0 -0
  20. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/langserve.py +0 -0
  21. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/pubsub.py +0 -0
  22. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/route.py +0 -0
  23. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/special_commands.py +0 -0
  24. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/swagger.py +0 -0
  25. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/archive/__init__.py +0 -0
  26. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/archive/archive.py +0 -0
  27. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/auth/__init__.py +0 -0
  28. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/auth/gcloud.py +0 -0
  29. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/auth/refresh.py +0 -0
  30. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/auth/run.py +0 -0
  31. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/azure/__init__.py +0 -0
  32. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/azure/auth.py +0 -0
  33. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/azure/blobs.py +0 -0
  34. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/azure/event_grid.py +0 -0
  35. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/bots/__init__.py +0 -0
  36. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/bots/discord.py +0 -0
  37. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/bots/github_webhook.py +0 -0
  38. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/bots/webapp.py +0 -0
  39. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/__init__.py +0 -0
  40. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/azure.py +0 -0
  41. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/doc_handling.py +0 -0
  42. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/encode_metadata.py +0 -0
  43. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/images.py +0 -0
  44. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/loaders.py +0 -0
  45. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/message_data.py +0 -0
  46. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/pdfs.py +0 -0
  47. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/process_chunker_data.py +0 -0
  48. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/publish.py +0 -0
  49. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/pubsub.py +0 -0
  50. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/splitter.py +0 -0
  51. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/__init__.py +0 -0
  52. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/chat_vac.py +0 -0
  53. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/cli.py +0 -0
  54. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/cli_init.py +0 -0
  55. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/configs.py +0 -0
  56. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/deploy.py +0 -0
  57. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/embedder.py +0 -0
  58. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/merge_texts.py +0 -0
  59. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/run_proxy.py +0 -0
  60. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/sun_rich.py +0 -0
  61. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/swagger.py +0 -0
  62. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/vertex.py +0 -0
  63. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/components/__init__.py +0 -0
  64. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/components/llm.py +0 -0
  65. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/components/retriever.py +0 -0
  66. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/components/vectorstore.py +0 -0
  67. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/custom_logging.py +0 -0
  68. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/__init__.py +0 -0
  69. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/alloydb.py +0 -0
  70. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/alloydb_client.py +0 -0
  71. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/database.py +0 -0
  72. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/lancedb.py +0 -0
  73. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/sql/sb/create_function.sql +0 -0
  74. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  75. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/sql/sb/create_table.sql +0 -0
  76. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  77. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/sql/sb/return_sources.sql +0 -0
  78. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/sql/sb/setup.sql +0 -0
  79. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/static_dbs.py +0 -0
  80. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/uuid.py +0 -0
  81. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/discovery_engine/__init__.py +0 -0
  82. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/discovery_engine/chunker_handler.py +0 -0
  83. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/discovery_engine/create_new.py +0 -0
  84. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
  85. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
  86. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/embedder/__init__.py +0 -0
  87. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/embedder/embed_chunk.py +0 -0
  88. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/excel/__init__.py +0 -0
  89. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/excel/plugin.py +0 -0
  90. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/gcs/__init__.py +0 -0
  91. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/gcs/add_file.py +0 -0
  92. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/gcs/download_folder.py +0 -0
  93. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/gcs/download_url.py +0 -0
  94. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/gcs/metadata.py +0 -0
  95. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/genai/__init__.py +0 -0
  96. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/genai/init.py +0 -0
  97. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/genai/process_funcs_cls.py +0 -0
  98. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/genai/safety.py +0 -0
  99. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/invoke/__init__.py +0 -0
  100. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/invoke/async_class.py +0 -0
  101. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/invoke/direct_vac_func.py +0 -0
  102. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/invoke/invoke_vac_utils.py +0 -0
  103. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/langfuse/__init__.py +0 -0
  104. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/langfuse/callback.py +0 -0
  105. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/langfuse/prompts.py +0 -0
  106. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/llamaindex/__init__.py +0 -0
  107. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/llamaindex/get_files.py +0 -0
  108. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/llamaindex/import_files.py +0 -0
  109. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/llamaindex/llamaindex_class.py +0 -0
  110. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/llamaindex/user_history.py +0 -0
  111. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/lookup/__init__.py +0 -0
  112. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/lookup/model_lookup.yaml +0 -0
  113. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/patches/__init__.py +0 -0
  114. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/patches/langchain/__init__.py +0 -0
  115. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/patches/langchain/lancedb.py +0 -0
  116. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/patches/langchain/vertexai.py +0 -0
  117. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/pubsub/__init__.py +0 -0
  118. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/pubsub/process_pubsub.py +0 -0
  119. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/pubsub/pubsub_manager.py +0 -0
  120. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/qna/__init__.py +0 -0
  121. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/qna/parsers.py +0 -0
  122. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/qna/retry.py +0 -0
  123. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/streaming/__init__.py +0 -0
  124. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/streaming/content_buffer.py +0 -0
  125. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/streaming/langserve.py +0 -0
  126. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/streaming/stream_lookup.py +0 -0
  127. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/streaming/streaming.py +0 -0
  128. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/summarise/__init__.py +0 -0
  129. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/summarise/summarise.py +0 -0
  130. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/terraform/__init__.py +0 -0
  131. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/terraform/tfvars_editor.py +0 -0
  132. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/tools/__init__.py +0 -0
  133. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/tools/web_browser.py +0 -0
  134. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/__init__.py +0 -0
  135. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/api_key.py +0 -0
  136. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/big_context.py +0 -0
  137. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/config.py +0 -0
  138. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/config_class.py +0 -0
  139. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/config_schema.py +0 -0
  140. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/gcp.py +0 -0
  141. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/gcp_project.py +0 -0
  142. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/parsers.py +0 -0
  143. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/timedelta.py +0 -0
  144. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/user_ids.py +0 -0
  145. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/version.py +0 -0
  146. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/__init__.py +0 -0
  147. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/extensions_call.py +0 -0
  148. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/extensions_class.py +0 -0
  149. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/genai_functions.py +0 -0
  150. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/init.py +0 -0
  151. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/memory_tools.py +0 -0
  152. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/safety.py +0 -0
  153. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/type_dict_to_json.py +0 -0
  154. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo.egg-info/SOURCES.txt +0 -0
  155. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo.egg-info/dependency_links.txt +0 -0
  156. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo.egg-info/entry_points.txt +0 -0
  157. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo.egg-info/requires.txt +0 -0
  158. {sunholo-0.95.5 → sunholo-0.96.0}/sunholo.egg-info/top_level.txt +0 -0
  159. {sunholo-0.95.5 → sunholo-0.96.0}/tests/test_chat_history.py +0 -0
  160. {sunholo-0.95.5 → sunholo-0.96.0}/tests/test_config.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.95.5
3
+ Version: 0.96.0
4
4
  Summary: Large Language Model DevOps - a package to help deploy LLMs to the Cloud.
5
5
  Home-page: https://github.com/sunholo-data/sunholo-py
6
- Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.95.5.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.96.0.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -1,6 +1,6 @@
1
1
  from setuptools import setup, find_packages
2
2
 
3
- version = '0.95.5'
3
+ version = '0.96.0'
4
4
 
5
5
  setup(
6
6
  name='sunholo',
@@ -4,6 +4,8 @@ import json
4
4
  from ..pubsub import decode_pubsub_message
5
5
  from langfuse import Langfuse
6
6
  import traceback
7
+
8
+
7
9
  from ..custom_logging import log
8
10
 
9
11
  # Example of how eval_funcs might be structured
@@ -60,6 +62,7 @@ def do_evals(trace_id, eval_funcs: list=[eval_length], **kwargs) -> dict:
60
62
  host=os.environ["LANGFUSE_HOST"]
61
63
  )
62
64
 
65
+ log.info(f"do_evals langfuse with {kwargs=}")
63
66
  # Fetch the latest trace (or modify as needed to fetch a specific trace)
64
67
  trace = langfuse.get_trace(id=trace_id)
65
68
 
@@ -67,31 +70,39 @@ def do_evals(trace_id, eval_funcs: list=[eval_length], **kwargs) -> dict:
67
70
  raise ValueError("Trace {trace.name} had no generated output, it was skipped")
68
71
 
69
72
  # Run the evaluation functions
70
- eval_results = []
73
+ # an eval_response can have multiple eval_results
74
+ eval_responses = []
71
75
  for eval_func in eval_funcs:
72
76
  try:
73
- eval_result = eval_func(trace) # Assuming eval_func returns a dict with 'score' and 'reason'
77
+ eval_response = eval_func(trace, **kwargs) # Assuming eval_func returns a dict with 'score' and 'reason'
74
78
  except Exception as e:
75
- eval_result = {"score": 0, "reason":f"ERROR: {str(e)} traceback: {traceback.format_exc()}"}
76
- eval_results.append(eval_result)
79
+ eval_response = {"score": 0, "reason":f"ERROR: {str(e)} traceback: {traceback.format_exc()}"}
80
+ eval_responses.append(eval_response)
77
81
 
78
82
  eval_name = eval_func.__name__
79
83
 
80
- if 'score' and 'reason' not in eval_result:
81
- log.error(f"Trace {trace.name} using {eval_name=} did not return a dict with 'score' and 'reason': {eval_result=}")
82
- eval_result = {"score": 0, "reason": f"malformed eval_result: {eval_result}"}
83
-
84
- log.info(f"TraceId {trace.id} with name {trace.name} had {eval_name=} with score {eval_result=}")
84
+ if isinstance(eval_response, list):
85
+ eval_results = eval_response
86
+ else:
87
+ eval_results = [eval_response]
85
88
 
86
- # Submit the evaluation to Langfuse
87
- langfuse.score(
88
- trace_id=trace.id,
89
- name=eval_name, # Use the function name as the evaluation name
90
- value=eval_result["score"],
91
- comment=eval_result["reason"],
92
- **kwargs
93
- )
89
+ for eval_result in eval_results:
90
+
91
+ if 'score' and 'reason' not in eval_result:
92
+ log.error(f"Trace {trace.name} using {eval_name=} did not return a dict with 'score' and 'reason': {eval_result=}")
93
+ eval_result = {"score": 0, "reason": f"malformed eval_result: {eval_result}"}
94
+
95
+ log.info(f"TraceId {trace.id} with name {trace.name} had {eval_name=} with score {eval_result=}")
96
+
97
+ # Submit the evaluation to Langfuse
98
+ langfuse.score(
99
+ trace_id=trace.id,
100
+ name=eval_name, # Use the function name as the evaluation name
101
+ value=eval_result["score"],
102
+ comment=eval_result["reason"],
103
+ **kwargs
104
+ )
94
105
 
95
- return {"trace_id": trace.id, "eval_results": eval_results}
106
+ return {"trace_id": trace.id, "eval_results": eval_responses}
96
107
 
97
108
 
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.95.5
3
+ Version: 0.96.0
4
4
  Summary: Large Language Model DevOps - a package to help deploy LLMs to the Cloud.
5
5
  Home-page: https://github.com/sunholo-data/sunholo-py
6
- Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.95.5.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.96.0.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes