sunholo 0.103.2__tar.gz → 0.104.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 (164) hide show
  1. {sunholo-0.103.2 → sunholo-0.104.0}/PKG-INFO +4 -2
  2. {sunholo-0.103.2 → sunholo-0.104.0}/setup.py +3 -1
  3. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/dispatch_to_qa.py +5 -3
  4. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/flask/base.py +13 -1
  5. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/flask/vac_routes.py +5 -3
  6. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/genai/process_funcs_cls.py +3 -1
  7. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/langfuse/prompts.py +1 -1
  8. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo.egg-info/PKG-INFO +4 -2
  9. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo.egg-info/requires.txt +2 -0
  10. {sunholo-0.103.2 → sunholo-0.104.0}/LICENSE.txt +0 -0
  11. {sunholo-0.103.2 → sunholo-0.104.0}/MANIFEST.in +0 -0
  12. {sunholo-0.103.2 → sunholo-0.104.0}/README.md +0 -0
  13. {sunholo-0.103.2 → sunholo-0.104.0}/setup.cfg +0 -0
  14. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/__init__.py +0 -0
  15. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/__init__.py +0 -0
  16. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/chat_history.py +0 -0
  17. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/fastapi/__init__.py +0 -0
  18. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/fastapi/base.py +0 -0
  19. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/fastapi/qna_routes.py +0 -0
  20. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/flask/__init__.py +0 -0
  21. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/flask/qna_routes.py +0 -0
  22. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/langserve.py +0 -0
  23. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/pubsub.py +0 -0
  24. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/route.py +0 -0
  25. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/special_commands.py +0 -0
  26. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/swagger.py +0 -0
  27. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/archive/__init__.py +0 -0
  28. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/archive/archive.py +0 -0
  29. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/auth/__init__.py +0 -0
  30. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/auth/gcloud.py +0 -0
  31. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/auth/refresh.py +0 -0
  32. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/auth/run.py +0 -0
  33. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/azure/__init__.py +0 -0
  34. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/azure/auth.py +0 -0
  35. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/azure/blobs.py +0 -0
  36. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/azure/event_grid.py +0 -0
  37. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/bots/__init__.py +0 -0
  38. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/bots/discord.py +0 -0
  39. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/bots/github_webhook.py +0 -0
  40. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/bots/webapp.py +0 -0
  41. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/__init__.py +0 -0
  42. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/azure.py +0 -0
  43. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/doc_handling.py +0 -0
  44. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/encode_metadata.py +0 -0
  45. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/images.py +0 -0
  46. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/loaders.py +0 -0
  47. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/message_data.py +0 -0
  48. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/pdfs.py +0 -0
  49. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/process_chunker_data.py +0 -0
  50. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/publish.py +0 -0
  51. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/pubsub.py +0 -0
  52. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/splitter.py +0 -0
  53. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/__init__.py +0 -0
  54. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/chat_vac.py +0 -0
  55. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/cli.py +0 -0
  56. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/cli_init.py +0 -0
  57. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/configs.py +0 -0
  58. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/deploy.py +0 -0
  59. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/embedder.py +0 -0
  60. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/merge_texts.py +0 -0
  61. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/run_proxy.py +0 -0
  62. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/sun_rich.py +0 -0
  63. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/swagger.py +0 -0
  64. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/vertex.py +0 -0
  65. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/components/__init__.py +0 -0
  66. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/components/llm.py +0 -0
  67. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/components/retriever.py +0 -0
  68. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/components/vectorstore.py +0 -0
  69. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/custom_logging.py +0 -0
  70. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/__init__.py +0 -0
  71. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/alloydb.py +0 -0
  72. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/alloydb_client.py +0 -0
  73. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/database.py +0 -0
  74. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/lancedb.py +0 -0
  75. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/sql/sb/create_function.sql +0 -0
  76. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  77. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/sql/sb/create_table.sql +0 -0
  78. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  79. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/sql/sb/return_sources.sql +0 -0
  80. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/sql/sb/setup.sql +0 -0
  81. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/static_dbs.py +0 -0
  82. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/uuid.py +0 -0
  83. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/discovery_engine/__init__.py +0 -0
  84. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/discovery_engine/chunker_handler.py +0 -0
  85. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/discovery_engine/create_new.py +0 -0
  86. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
  87. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
  88. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/embedder/__init__.py +0 -0
  89. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/embedder/embed_chunk.py +0 -0
  90. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/excel/__init__.py +0 -0
  91. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/excel/plugin.py +0 -0
  92. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/gcs/__init__.py +0 -0
  93. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/gcs/add_file.py +0 -0
  94. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/gcs/download_folder.py +0 -0
  95. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/gcs/download_url.py +0 -0
  96. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/gcs/extract_and_sign.py +0 -0
  97. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/gcs/metadata.py +0 -0
  98. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/genai/__init__.py +0 -0
  99. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/genai/images.py +0 -0
  100. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/genai/init.py +0 -0
  101. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/genai/safety.py +0 -0
  102. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/invoke/__init__.py +0 -0
  103. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/invoke/async_class.py +0 -0
  104. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/invoke/direct_vac_func.py +0 -0
  105. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/invoke/invoke_vac_utils.py +0 -0
  106. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/langfuse/__init__.py +0 -0
  107. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/langfuse/callback.py +0 -0
  108. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/langfuse/evals.py +0 -0
  109. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/llamaindex/__init__.py +0 -0
  110. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/llamaindex/get_files.py +0 -0
  111. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/llamaindex/import_files.py +0 -0
  112. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/llamaindex/llamaindex_class.py +0 -0
  113. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/llamaindex/user_history.py +0 -0
  114. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/lookup/__init__.py +0 -0
  115. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/lookup/model_lookup.yaml +0 -0
  116. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/patches/__init__.py +0 -0
  117. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/patches/langchain/__init__.py +0 -0
  118. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/patches/langchain/lancedb.py +0 -0
  119. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/patches/langchain/vertexai.py +0 -0
  120. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/pubsub/__init__.py +0 -0
  121. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/pubsub/process_pubsub.py +0 -0
  122. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/pubsub/pubsub_manager.py +0 -0
  123. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/qna/__init__.py +0 -0
  124. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/qna/parsers.py +0 -0
  125. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/qna/retry.py +0 -0
  126. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/streaming/__init__.py +0 -0
  127. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/streaming/content_buffer.py +0 -0
  128. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/streaming/langserve.py +0 -0
  129. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/streaming/stream_lookup.py +0 -0
  130. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/streaming/streaming.py +0 -0
  131. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/summarise/__init__.py +0 -0
  132. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/summarise/summarise.py +0 -0
  133. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/terraform/__init__.py +0 -0
  134. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/terraform/tfvars_editor.py +0 -0
  135. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/tools/__init__.py +0 -0
  136. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/tools/web_browser.py +0 -0
  137. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/__init__.py +0 -0
  138. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/api_key.py +0 -0
  139. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/big_context.py +0 -0
  140. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/config.py +0 -0
  141. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/config_class.py +0 -0
  142. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/config_schema.py +0 -0
  143. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/gcp.py +0 -0
  144. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/gcp_project.py +0 -0
  145. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/mime.py +0 -0
  146. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/parsers.py +0 -0
  147. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/timedelta.py +0 -0
  148. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/user_ids.py +0 -0
  149. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/version.py +0 -0
  150. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/__init__.py +0 -0
  151. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/extensions_call.py +0 -0
  152. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/extensions_class.py +0 -0
  153. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/genai_functions.py +0 -0
  154. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/init.py +0 -0
  155. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/memory_tools.py +0 -0
  156. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/safety.py +0 -0
  157. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/type_dict_to_json.py +0 -0
  158. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo.egg-info/SOURCES.txt +0 -0
  159. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo.egg-info/dependency_links.txt +0 -0
  160. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo.egg-info/entry_points.txt +0 -0
  161. {sunholo-0.103.2 → sunholo-0.104.0}/sunholo.egg-info/top_level.txt +0 -0
  162. {sunholo-0.103.2 → sunholo-0.104.0}/tests/test_async.py +0 -0
  163. {sunholo-0.103.2 → sunholo-0.104.0}/tests/test_chat_history.py +0 -0
  164. {sunholo-0.103.2 → sunholo-0.104.0}/tests/test_config.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.103.2
3
+ Version: 0.104.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.103.2.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.104.0.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -30,6 +30,7 @@ Requires-Dist: azure-identity; extra == "all"
30
30
  Requires-Dist: azure-storage-blob; extra == "all"
31
31
  Requires-Dist: fastapi; extra == "all"
32
32
  Requires-Dist: flask; extra == "all"
33
+ Requires-Dist: flask-cors; extra == "all"
33
34
  Requires-Dist: google-auth; extra == "all"
34
35
  Requires-Dist: google-auth-httplib2; extra == "all"
35
36
  Requires-Dist: google-auth-oauthlib; extra == "all"
@@ -129,6 +130,7 @@ Requires-Dist: playwright; extra == "tools"
129
130
  Provides-Extra: http
130
131
  Requires-Dist: fastapi; extra == "http"
131
132
  Requires-Dist: flask; extra == "http"
133
+ Requires-Dist: flask-cors; extra == "http"
132
134
  Requires-Dist: gunicorn; extra == "http"
133
135
  Requires-Dist: httpcore; extra == "http"
134
136
  Requires-Dist: httpx; extra == "http"
@@ -1,6 +1,6 @@
1
1
  from setuptools import setup, find_packages
2
2
 
3
- version = '0.103.2'
3
+ version = '0.104.0'
4
4
 
5
5
  setup(
6
6
  name='sunholo',
@@ -42,6 +42,7 @@ setup(
42
42
  "azure-storage-blob",
43
43
  "fastapi",
44
44
  "flask",
45
+ "flask-cors",
45
46
  "google-auth",
46
47
  "google-auth-httplib2",
47
48
  "google-auth-oauthlib",
@@ -151,6 +152,7 @@ setup(
151
152
  'http': [
152
153
  "fastapi",
153
154
  "flask",
155
+ "flask-cors",
154
156
  "gunicorn",
155
157
  "httpcore",
156
158
  "httpx",
@@ -19,6 +19,7 @@ import aiohttp
19
19
  from .langserve import prepare_request_data
20
20
  import traceback
21
21
  from .route import route_endpoint
22
+ import os
22
23
 
23
24
  try:
24
25
  from langfuse import Langfuse
@@ -86,7 +87,8 @@ def prep_request_payload(user_input, chat_history, vector_name, stream, **kwargs
86
87
  if 'vector_name' not in qna_data:
87
88
  qna_data['vector_name'] = vector_name
88
89
 
89
- qna_data['trace_id'] = add_langfuse_trace(qna_endpoint)
90
+ if not kwargs.get('trace_id'):
91
+ qna_data['trace_id'] = add_langfuse_trace(qna_endpoint)
90
92
 
91
93
  return qna_endpoint, qna_data
92
94
 
@@ -94,9 +96,9 @@ def add_langfuse_trace(qna_endpoint):
94
96
  if not langfuse:
95
97
  return None
96
98
 
97
- trace = langfuse.trace(name = f'auto/{qna_endpoint}')
99
+ trace = langfuse.trace(name = f'dispatch/{os.path.basename(qna_endpoint)}')
98
100
 
99
- log.info('Adding langfuse trace {trace.id}')
101
+ log.info(f'Adding langfuse trace {trace.id}')
100
102
 
101
103
  return trace.id
102
104
 
@@ -13,8 +13,20 @@
13
13
  # limitations under the License.
14
14
  def create_app(name):
15
15
  from flask import Flask
16
- # Initialize Flask app
16
+ from flask_cors import CORS
17
+
17
18
  app = Flask(name)
19
+
20
+ CORS(app,
21
+ origins=["https://*.sunholo.com", "http://*.sunholo.com"], # Allow all subdomains of sunholo.com
22
+ methods=["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"], # Allow all necessary HTTP methods
23
+ allow_headers=["DNT", "User-Agent", "X-Requested-With", "If-Modified-Since",
24
+ "Cache-Control", "Content-Type", "Range", "Authorization", "x-api-key"], # Add custom headers
25
+ expose_headers=["Content-Length", "Content-Range"], # Optional: headers that are exposed to clients
26
+ supports_credentials=True,
27
+ max_age=1728000 # Set max age of preflight request caching (in seconds)
28
+ )
29
+
18
30
  app.config['TRAP_HTTP_EXCEPTIONS'] = True
19
31
  app.config['PROPAGATE_EXCEPTIONS'] = True
20
32
 
@@ -357,7 +357,7 @@ if __name__ == "__main__":
357
357
 
358
358
  try:
359
359
  if span:
360
- generation = span.generation(
360
+ gen = span.generation(
361
361
  name="vac_interpreter",
362
362
  metadata=vac_config.configs_by_kind,
363
363
  input = all_input,
@@ -371,7 +371,7 @@ if __name__ == "__main__":
371
371
  **all_input["kwargs"]
372
372
  )
373
373
  if span:
374
- generation.end(output=bot_output)
374
+ gen.end(output=bot_output)
375
375
  # {"answer": "The answer", "source_documents": [{"page_content": "The page content", "metadata": "The metadata"}]}
376
376
  bot_output = parse_output(bot_output)
377
377
  if trace:
@@ -383,7 +383,9 @@ if __name__ == "__main__":
383
383
 
384
384
  except Exception as err:
385
385
  bot_output = {'answer': f'QNA_ERROR: An error occurred while processing /vac/{vector_name}: {str(err)} traceback: {traceback.format_exc()}'}
386
-
386
+ if span:
387
+ gen.end(output=bot_output)
388
+
387
389
  if trace:
388
390
  span.end(output=jsonify(bot_output))
389
391
  trace.update(output=jsonify(bot_output))
@@ -266,7 +266,9 @@ class GenAIFunctionProcessor:
266
266
  params_obj = {key: val for key, val in fn.args.items()}
267
267
 
268
268
  params = ', '.join(f'{key}={val}' for key, val in params_obj.items())
269
- log.info(f"Executing {function_name} with params {params}")
269
+ log.info(f"Executing {function_name} with params {params} (Total Characters: {len(params)})")
270
+ if len(params)>8000:
271
+ log.warning(f"Total parameters are over 8000 characters - it may not work properly: {params[:10000]}....[{len(params)}]")
270
272
 
271
273
  # Check if the function is in our dictionary of available functions
272
274
  if function_name in self.funcs:
@@ -16,7 +16,7 @@ def load_prompt_from_yaml(key, prefix="sunholo", load_from_file=False, f_string=
16
16
  kind: promptConfig
17
17
  apiVersion: v1
18
18
  prompts:
19
- sunholo:
19
+ sunholo:
20
20
  hello: |
21
21
  Say hello to {name}
22
22
  ```
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.103.2
3
+ Version: 0.104.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.103.2.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.104.0.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -30,6 +30,7 @@ Requires-Dist: azure-identity; extra == "all"
30
30
  Requires-Dist: azure-storage-blob; extra == "all"
31
31
  Requires-Dist: fastapi; extra == "all"
32
32
  Requires-Dist: flask; extra == "all"
33
+ Requires-Dist: flask-cors; extra == "all"
33
34
  Requires-Dist: google-auth; extra == "all"
34
35
  Requires-Dist: google-auth-httplib2; extra == "all"
35
36
  Requires-Dist: google-auth-oauthlib; extra == "all"
@@ -129,6 +130,7 @@ Requires-Dist: playwright; extra == "tools"
129
130
  Provides-Extra: http
130
131
  Requires-Dist: fastapi; extra == "http"
131
132
  Requires-Dist: flask; extra == "http"
133
+ Requires-Dist: flask-cors; extra == "http"
132
134
  Requires-Dist: gunicorn; extra == "http"
133
135
  Requires-Dist: httpcore; extra == "http"
134
136
  Requires-Dist: httpx; extra == "http"
@@ -11,6 +11,7 @@ azure-identity
11
11
  azure-storage-blob
12
12
  fastapi
13
13
  flask
14
+ flask-cors
14
15
  google-auth
15
16
  google-auth-httplib2
16
17
  google-auth-oauthlib
@@ -107,6 +108,7 @@ pillow
107
108
  [http]
108
109
  fastapi
109
110
  flask
111
+ flask-cors
110
112
  gunicorn
111
113
  httpcore
112
114
  httpx
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes