sunholo 0.69.13__tar.gz → 0.69.16__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 (130) hide show
  1. {sunholo-0.69.13 → sunholo-0.69.16}/PKG-INFO +2 -2
  2. {sunholo-0.69.13 → sunholo-0.69.16}/setup.py +1 -1
  3. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/discovery_engine/discovery_engine_client.py +23 -33
  4. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/utils/parsers.py +16 -1
  5. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo.egg-info/PKG-INFO +2 -2
  6. {sunholo-0.69.13 → sunholo-0.69.16}/LICENSE.txt +0 -0
  7. {sunholo-0.69.13 → sunholo-0.69.16}/MANIFEST.in +0 -0
  8. {sunholo-0.69.13 → sunholo-0.69.16}/README.md +0 -0
  9. {sunholo-0.69.13 → sunholo-0.69.16}/setup.cfg +0 -0
  10. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/__init__.py +0 -0
  11. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/agents/__init__.py +0 -0
  12. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/agents/chat_history.py +0 -0
  13. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/agents/dispatch_to_qa.py +0 -0
  14. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/agents/fastapi/__init__.py +0 -0
  15. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/agents/fastapi/base.py +0 -0
  16. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/agents/fastapi/qna_routes.py +0 -0
  17. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/agents/flask/__init__.py +0 -0
  18. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/agents/flask/base.py +0 -0
  19. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/agents/flask/qna_routes.py +0 -0
  20. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/agents/flask/vac_routes.py +0 -0
  21. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/agents/langserve.py +0 -0
  22. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/agents/pubsub.py +0 -0
  23. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/agents/route.py +0 -0
  24. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/agents/special_commands.py +0 -0
  25. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/agents/swagger.py +0 -0
  26. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/archive/__init__.py +0 -0
  27. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/archive/archive.py +0 -0
  28. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/auth/__init__.py +0 -0
  29. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/auth/run.py +0 -0
  30. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/bots/__init__.py +0 -0
  31. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/bots/discord.py +0 -0
  32. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/bots/github_webhook.py +0 -0
  33. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/bots/webapp.py +0 -0
  34. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/chunker/__init__.py +0 -0
  35. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
  36. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/chunker/doc_handling.py +0 -0
  37. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/chunker/images.py +0 -0
  38. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/chunker/loaders.py +0 -0
  39. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/chunker/message_data.py +0 -0
  40. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/chunker/pdfs.py +0 -0
  41. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/chunker/publish.py +0 -0
  42. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/chunker/splitter.py +0 -0
  43. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/cli/__init__.py +0 -0
  44. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/cli/chat_vac.py +0 -0
  45. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/cli/cli.py +0 -0
  46. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/cli/cli_init.py +0 -0
  47. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/cli/configs.py +0 -0
  48. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/cli/deploy.py +0 -0
  49. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/cli/embedder.py +0 -0
  50. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/cli/merge_texts.py +0 -0
  51. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/cli/run_proxy.py +0 -0
  52. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/cli/sun_rich.py +0 -0
  53. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/cli/swagger.py +0 -0
  54. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/components/__init__.py +0 -0
  55. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/components/llm.py +0 -0
  56. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/components/retriever.py +0 -0
  57. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/components/vectorstore.py +0 -0
  58. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/database/__init__.py +0 -0
  59. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/database/alloydb.py +0 -0
  60. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/database/alloydb_client.py +0 -0
  61. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/database/database.py +0 -0
  62. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/database/lancedb.py +0 -0
  63. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/database/sql/sb/create_function.sql +0 -0
  64. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  65. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/database/sql/sb/create_table.sql +0 -0
  66. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  67. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/database/sql/sb/return_sources.sql +0 -0
  68. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/database/sql/sb/setup.sql +0 -0
  69. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/database/static_dbs.py +0 -0
  70. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/database/uuid.py +0 -0
  71. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/discovery_engine/__init__.py +0 -0
  72. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/discovery_engine/chunker_handler.py +0 -0
  73. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/discovery_engine/create_new.py +0 -0
  74. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/embedder/__init__.py +0 -0
  75. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/embedder/embed_chunk.py +0 -0
  76. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/gcs/__init__.py +0 -0
  77. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/gcs/add_file.py +0 -0
  78. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/gcs/download_url.py +0 -0
  79. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/gcs/metadata.py +0 -0
  80. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/langfuse/__init__.py +0 -0
  81. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/langfuse/callback.py +0 -0
  82. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/langfuse/prompts.py +0 -0
  83. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/llamaindex/__init__.py +0 -0
  84. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/llamaindex/generate.py +0 -0
  85. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/llamaindex/get_files.py +0 -0
  86. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/llamaindex/import_files.py +0 -0
  87. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/logging.py +0 -0
  88. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/lookup/__init__.py +0 -0
  89. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/lookup/model_lookup.yaml +0 -0
  90. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/patches/__init__.py +0 -0
  91. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/patches/langchain/__init__.py +0 -0
  92. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/patches/langchain/lancedb.py +0 -0
  93. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/patches/langchain/vertexai.py +0 -0
  94. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/pubsub/__init__.py +0 -0
  95. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/pubsub/process_pubsub.py +0 -0
  96. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/pubsub/pubsub_manager.py +0 -0
  97. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/qna/__init__.py +0 -0
  98. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/qna/parsers.py +0 -0
  99. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/qna/retry.py +0 -0
  100. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/streaming/__init__.py +0 -0
  101. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/streaming/content_buffer.py +0 -0
  102. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/streaming/langserve.py +0 -0
  103. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/streaming/stream_lookup.py +0 -0
  104. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/streaming/streaming.py +0 -0
  105. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/summarise/__init__.py +0 -0
  106. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/summarise/summarise.py +0 -0
  107. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/utils/__init__.py +0 -0
  108. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/utils/api_key.py +0 -0
  109. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/utils/big_context.py +0 -0
  110. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/utils/config.py +0 -0
  111. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/utils/config_schema.py +0 -0
  112. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/utils/gcp.py +0 -0
  113. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/utils/gcp_project.py +0 -0
  114. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/utils/timedelta.py +0 -0
  115. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/utils/user_ids.py +0 -0
  116. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/utils/version.py +0 -0
  117. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/vertex/__init__.py +0 -0
  118. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/vertex/init.py +0 -0
  119. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/vertex/memory_tools.py +0 -0
  120. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo/vertex/safety.py +0 -0
  121. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo.egg-info/SOURCES.txt +0 -0
  122. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo.egg-info/dependency_links.txt +0 -0
  123. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo.egg-info/entry_points.txt +0 -0
  124. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo.egg-info/requires.txt +0 -0
  125. {sunholo-0.69.13 → sunholo-0.69.16}/sunholo.egg-info/top_level.txt +0 -0
  126. {sunholo-0.69.13 → sunholo-0.69.16}/tests/test_chat_history.py +0 -0
  127. {sunholo-0.69.13 → sunholo-0.69.16}/tests/test_chunker.py +0 -0
  128. {sunholo-0.69.13 → sunholo-0.69.16}/tests/test_config.py +0 -0
  129. {sunholo-0.69.13 → sunholo-0.69.16}/tests/test_dispatch_to_qa.py +0 -0
  130. {sunholo-0.69.13 → sunholo-0.69.16}/tests/test_swagger.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.69.13
3
+ Version: 0.69.16
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.69.13.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.69.16.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -1,7 +1,7 @@
1
1
  from setuptools import setup, find_packages
2
2
 
3
3
  # Define your base version
4
- version = '0.69.13'
4
+ version = '0.69.16'
5
5
 
6
6
  setup(
7
7
  name='sunholo',
@@ -3,9 +3,12 @@ try:
3
3
  from google.cloud import discoveryengine_v1alpha as discoveryengine
4
4
  from google.api_core.retry import Retry, if_exception_type
5
5
  from google.api_core.exceptions import ResourceExhausted
6
+ from google.cloud.discoveryengine_v1alpha import SearchResponse, Chunk
6
7
  except ImportError:
7
8
  ClientOptions = None
8
9
  discoveryengine = None
10
+ Chunk = None
11
+ SearchResponse = None
9
12
 
10
13
  from ..logging import log
11
14
  from typing import Optional
@@ -214,8 +217,17 @@ class DiscoveryEngineClient:
214
217
 
215
218
  log.info("Discovery engine response object")
216
219
  return search_response
217
-
218
- def process_chunks(self, response):
220
+
221
+ def chunk_format(self, chunk: Chunk):
222
+ return (
223
+ f"# {chunk.id}\n"
224
+ f"{chunk.content}\n"
225
+ f"## metadata\n"
226
+ f"Document URI: {chunk.document_metadata.uri}\n"
227
+ f"Document Title: {chunk.document_metadata.title}\n"
228
+ )
229
+
230
+ def process_chunks(self, response: SearchResponse):
219
231
  all_chunks = []
220
232
 
221
233
  # Check if the response contains results
@@ -225,41 +237,19 @@ class DiscoveryEngineClient:
225
237
  # Iterate through each result in the response
226
238
  for result in response.results:
227
239
  chunk = result.chunk
228
- chunk_metadata = chunk.chunkMetadata
240
+ chunk_metadata = chunk.ChunkMetadata
229
241
 
230
- if hasattr(chunk_metadata, 'previousChunks'):
242
+ if hasattr(chunk_metadata, 'previous_chunks'):
231
243
  # Process previous chunks
232
- for prev_chunk in chunk_metadata.previousChunks:
233
- prev_chunk_string = (
234
- f"# {prev_chunk.id}\n"
235
- f"{prev_chunk.content}\n"
236
- f"## metadata\n"
237
- f"Document URI: {prev_chunk.documentMetadata.uri}\n"
238
- f"Document Title: {prev_chunk.documentMetadata.title}\n"
239
- )
240
- all_chunks.append(prev_chunk_string)
241
-
242
- # Process fetched chunk
243
- fetched_chunk_string = (
244
- f"# {chunk.id}\n"
245
- f"{chunk.content}\n"
246
- f"## metadata\n"
247
- f"Document URI: {chunk.documentMetadata.uri}\n"
248
- f"Document Title: {chunk.documentMetadata.title}\n"
249
- )
250
- all_chunks.append(fetched_chunk_string)
244
+ for prev_chunk in chunk_metadata.previous_chunks:
245
+ all_chunks.append(self.chunk_format(prev_chunk))
246
+
247
+ all_chunks.append(self.chunk_format(chunk))
251
248
 
252
249
  # Process next chunks
253
- if hasattr(chunk_metadata, 'nextChunks'):
254
- for next_chunk in chunk_metadata.nextChunks:
255
- next_chunk_string = (
256
- f"# {next_chunk.id}\n"
257
- f"{next_chunk.content}\n"
258
- f"## metadata\n"
259
- f"Document URI: {next_chunk.documentMetadata.uri}\n"
260
- f"Document Title: {next_chunk.documentMetadata.title}\n"
261
- )
262
- all_chunks.append(next_chunk_string)
250
+ if hasattr(chunk_metadata, 'next_chunks'):
251
+ for next_chunk in chunk_metadata.next_chunks:
252
+ all_chunks.append(self.chunk_format(next_chunk))
263
253
 
264
254
  # Combine all chunks into one long string
265
255
  result_string = "\n".join(all_chunks)
@@ -136,4 +136,19 @@ def check_kwargs_support(func):
136
136
  for param in sig.parameters.values():
137
137
  if param.kind == param.VAR_KEYWORD:
138
138
  return True
139
- return False
139
+ return False
140
+
141
+ def escape_braces(text):
142
+ """
143
+ Escapes single braces in the text by converting them to double braces.
144
+
145
+ Args:
146
+ text (str): The input string containing single braces.
147
+
148
+ Returns:
149
+ str: The modified string with single braces converted to double braces.
150
+ """
151
+ # Replace single braces with double braces
152
+ text = re.sub(r'(?<!{){(?!{)', '{{', text) # Replace '{' with '{{' if not already double braced
153
+ text = re.sub(r'(?<!})}(?!})', '}}', text) # Replace '}' with '}}' if not already double braced
154
+ return text
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.69.13
3
+ Version: 0.69.16
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.69.13.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.69.16.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