sunholo 0.80.1__tar.gz → 0.80.2__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 (149) hide show
  1. {sunholo-0.80.1 → sunholo-0.80.2}/PKG-INFO +2 -2
  2. {sunholo-0.80.1 → sunholo-0.80.2}/setup.py +1 -1
  3. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/agents/flask/qna_routes.py +1 -0
  4. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/components/retriever.py +22 -13
  5. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/utils/config_class.py +1 -2
  6. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo.egg-info/PKG-INFO +2 -2
  7. {sunholo-0.80.1 → sunholo-0.80.2}/LICENSE.txt +0 -0
  8. {sunholo-0.80.1 → sunholo-0.80.2}/MANIFEST.in +0 -0
  9. {sunholo-0.80.1 → sunholo-0.80.2}/README.md +0 -0
  10. {sunholo-0.80.1 → sunholo-0.80.2}/setup.cfg +0 -0
  11. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/__init__.py +0 -0
  12. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/agents/__init__.py +0 -0
  13. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/agents/chat_history.py +0 -0
  14. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/agents/dispatch_to_qa.py +0 -0
  15. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/agents/fastapi/__init__.py +0 -0
  16. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/agents/fastapi/base.py +0 -0
  17. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/agents/fastapi/qna_routes.py +0 -0
  18. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/agents/flask/__init__.py +0 -0
  19. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/agents/flask/base.py +0 -0
  20. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/agents/flask/vac_routes.py +0 -0
  21. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/agents/langserve.py +0 -0
  22. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/agents/pubsub.py +0 -0
  23. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/agents/route.py +0 -0
  24. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/agents/special_commands.py +0 -0
  25. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/agents/swagger.py +0 -0
  26. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/archive/__init__.py +0 -0
  27. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/archive/archive.py +0 -0
  28. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/auth/__init__.py +0 -0
  29. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/auth/gcloud.py +0 -0
  30. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/auth/refresh.py +0 -0
  31. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/auth/run.py +0 -0
  32. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/azure/__init__.py +0 -0
  33. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/azure/auth.py +0 -0
  34. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/azure/blobs.py +0 -0
  35. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/azure/event_grid.py +0 -0
  36. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/bots/__init__.py +0 -0
  37. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/bots/discord.py +0 -0
  38. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/bots/github_webhook.py +0 -0
  39. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/bots/webapp.py +0 -0
  40. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/chunker/__init__.py +0 -0
  41. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/chunker/azure.py +0 -0
  42. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/chunker/doc_handling.py +0 -0
  43. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/chunker/encode_metadata.py +0 -0
  44. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/chunker/images.py +0 -0
  45. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/chunker/loaders.py +0 -0
  46. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/chunker/message_data.py +0 -0
  47. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/chunker/pdfs.py +0 -0
  48. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/chunker/process_chunker_data.py +0 -0
  49. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/chunker/publish.py +0 -0
  50. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/chunker/pubsub.py +0 -0
  51. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/chunker/splitter.py +0 -0
  52. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/cli/__init__.py +0 -0
  53. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/cli/chat_vac.py +0 -0
  54. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/cli/cli.py +0 -0
  55. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/cli/cli_init.py +0 -0
  56. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/cli/configs.py +0 -0
  57. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/cli/deploy.py +0 -0
  58. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/cli/embedder.py +0 -0
  59. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/cli/merge_texts.py +0 -0
  60. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/cli/run_proxy.py +0 -0
  61. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/cli/sun_rich.py +0 -0
  62. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/cli/swagger.py +0 -0
  63. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/cli/vertex.py +0 -0
  64. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/components/__init__.py +0 -0
  65. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/components/llm.py +0 -0
  66. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/components/vectorstore.py +0 -0
  67. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/custom_logging.py +0 -0
  68. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/database/__init__.py +0 -0
  69. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/database/alloydb.py +0 -0
  70. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/database/alloydb_client.py +0 -0
  71. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/database/database.py +0 -0
  72. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/database/lancedb.py +0 -0
  73. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/database/sql/sb/create_function.sql +0 -0
  74. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  75. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/database/sql/sb/create_table.sql +0 -0
  76. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  77. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/database/sql/sb/return_sources.sql +0 -0
  78. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/database/sql/sb/setup.sql +0 -0
  79. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/database/static_dbs.py +0 -0
  80. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/database/uuid.py +0 -0
  81. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/discovery_engine/__init__.py +0 -0
  82. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/discovery_engine/chunker_handler.py +0 -0
  83. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/discovery_engine/create_new.py +0 -0
  84. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
  85. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/embedder/__init__.py +0 -0
  86. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/embedder/embed_chunk.py +0 -0
  87. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/gcs/__init__.py +0 -0
  88. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/gcs/add_file.py +0 -0
  89. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/gcs/download_folder.py +0 -0
  90. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/gcs/download_url.py +0 -0
  91. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/gcs/metadata.py +0 -0
  92. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/invoke/__init__.py +0 -0
  93. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/invoke/direct_vac_func.py +0 -0
  94. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/invoke/invoke_vac_utils.py +0 -0
  95. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/langfuse/__init__.py +0 -0
  96. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/langfuse/callback.py +0 -0
  97. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/langfuse/prompts.py +0 -0
  98. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/llamaindex/__init__.py +0 -0
  99. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/llamaindex/get_files.py +0 -0
  100. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/llamaindex/import_files.py +0 -0
  101. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/llamaindex/llamaindex_class.py +0 -0
  102. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/llamaindex/user_history.py +0 -0
  103. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/lookup/__init__.py +0 -0
  104. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/lookup/model_lookup.yaml +0 -0
  105. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/patches/__init__.py +0 -0
  106. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/patches/langchain/__init__.py +0 -0
  107. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/patches/langchain/lancedb.py +0 -0
  108. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/patches/langchain/vertexai.py +0 -0
  109. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/pubsub/__init__.py +0 -0
  110. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/pubsub/process_pubsub.py +0 -0
  111. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/pubsub/pubsub_manager.py +0 -0
  112. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/qna/__init__.py +0 -0
  113. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/qna/parsers.py +0 -0
  114. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/qna/retry.py +0 -0
  115. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/streaming/__init__.py +0 -0
  116. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/streaming/content_buffer.py +0 -0
  117. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/streaming/langserve.py +0 -0
  118. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/streaming/stream_lookup.py +0 -0
  119. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/streaming/streaming.py +0 -0
  120. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/summarise/__init__.py +0 -0
  121. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/summarise/summarise.py +0 -0
  122. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/tools/__init__.py +0 -0
  123. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/tools/web_browser.py +0 -0
  124. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/utils/__init__.py +0 -0
  125. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/utils/api_key.py +0 -0
  126. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/utils/big_context.py +0 -0
  127. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/utils/config.py +0 -0
  128. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/utils/config_schema.py +0 -0
  129. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/utils/gcp.py +0 -0
  130. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/utils/gcp_project.py +0 -0
  131. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/utils/parsers.py +0 -0
  132. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/utils/timedelta.py +0 -0
  133. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/utils/user_ids.py +0 -0
  134. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/utils/version.py +0 -0
  135. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/vertex/__init__.py +0 -0
  136. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/vertex/extensions_call.py +0 -0
  137. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/vertex/extensions_class.py +0 -0
  138. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/vertex/genai_functions.py +0 -0
  139. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/vertex/init.py +0 -0
  140. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/vertex/memory_tools.py +0 -0
  141. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/vertex/safety.py +0 -0
  142. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo/vertex/type_dict_to_json.py +0 -0
  143. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo.egg-info/SOURCES.txt +0 -0
  144. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo.egg-info/dependency_links.txt +0 -0
  145. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo.egg-info/entry_points.txt +0 -0
  146. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo.egg-info/requires.txt +0 -0
  147. {sunholo-0.80.1 → sunholo-0.80.2}/sunholo.egg-info/top_level.txt +0 -0
  148. {sunholo-0.80.1 → sunholo-0.80.2}/tests/test_chat_history.py +0 -0
  149. {sunholo-0.80.1 → sunholo-0.80.2}/tests/test_config.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.80.1
3
+ Version: 0.80.2
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.80.1.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.80.2.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.80.1'
4
+ version = '0.80.2'
5
5
 
6
6
  setup(
7
7
  name='sunholo',
@@ -535,6 +535,7 @@ def prep_vac(request, vector_name):
535
535
  chat_history = data.pop('chat_history', None)
536
536
  vector_name = data.pop('vector_name', vector_name)
537
537
 
538
+ log.info("Turning chat_history into paired tuples")
538
539
  paired_messages = extract_chat_history(chat_history)
539
540
 
540
541
  all_input = {'user_input': user_input,
@@ -57,6 +57,26 @@ def pick_retriever(vector_name:str=None, config:ConfigManager=None, embeddings=N
57
57
  vectorstore = value.get('vectorstore')
58
58
  if vectorstore:
59
59
  log.info(f"Found vectorstore {vectorstore}")
60
+
61
+ if vectorstore == "vertex_ai_search" or vectorstore == "discovery_engine":
62
+ # use direct retriever
63
+ from langchain.retrievers import GoogleVertexAISearchRetriever
64
+ gcp_config = config.vacConfig('gcp_config')
65
+ try:
66
+ gcp_retriever = GoogleVertexAISearchRetriever(
67
+ data_store_id=None if value.get("search_engine_id") else vector_name,
68
+ max_documents=value.get('max_documents', 5),
69
+ project_id=gcp_config.get('project_id') or get_gcp_project(),
70
+ search_engine_id=value.get("search_engine_id"),
71
+ location_id=gcp_config.get("location", "global"),
72
+ engine_data_type=value.get("engine_data_type",0)
73
+ )
74
+ except Exception as err:
75
+ log.error(f"Could not init GoogleVertexAISearchRetriever - {str(err)}")
76
+ continue
77
+
78
+ retriever_list.append(gcp_retriever)
79
+
60
80
  from_metadata_id = value.get('from_metadata_id')
61
81
  if from_metadata_id:
62
82
  # this entry needs to be fetched via metadata key
@@ -66,7 +86,7 @@ def pick_retriever(vector_name:str=None, config:ConfigManager=None, embeddings=N
66
86
  embeddings = embeddings or get_embeddings(config=config)
67
87
  read_only = value.get('read_only')
68
88
  try:
69
- vectorstore = pick_vectorstore(
89
+ vectorstore_obj = pick_vectorstore(
70
90
  vectorstore,
71
91
  config=config,
72
92
  embeddings=embeddings,
@@ -76,23 +96,12 @@ def pick_retriever(vector_name:str=None, config:ConfigManager=None, embeddings=N
76
96
  continue
77
97
 
78
98
  k_override = value.get('k', 3)
79
- if vectorstore:
99
+ if vectorstore_obj:
80
100
  vs_retriever = vectorstore.as_retriever(search_kwargs=dict(k=k_override))
81
101
  retriever_list.append(vs_retriever)
82
102
  else:
83
103
  log.warning(f"No vectorstore found despite being in config: {key=}")
84
104
 
85
- if value.get('provider') == "GoogleCloudEnterpriseSearchRetriever":
86
- log.info(f"Found GoogleCloudEnterpriseSearchRetriever {value['provider']}")
87
- gcp_retriever = GoogleCloudEnterpriseSearchRetriever(
88
- project_id=get_gcp_project(),
89
- search_engine_id=value["db_id"],
90
- location_id=value.get("location", "global"),
91
- engine_data_type=1 if value.get("type","unstructured") == "structured" else 0,
92
- query_expansion_condition=2
93
- )
94
- retriever_list.append(gcp_retriever)
95
-
96
105
  #TODO: more memory stores here
97
106
 
98
107
  if not retriever_list or len(retriever_list) == 0:
@@ -86,7 +86,7 @@ class ConfigManager:
86
86
  continue
87
87
  if filename.endswith(('.yaml', '.yml', '.json')):
88
88
  config_file = os.path.join(folder, filename)
89
- log.info("Checking config file: {config_file}")
89
+ log.debug(f"Checking config file: {config_file}")
90
90
  if filename in self.config_cache:
91
91
  cached_config, cache_time = self.config_cache[filename]
92
92
  time_to_recache = (current_time - cache_time)
@@ -160,7 +160,6 @@ class ConfigManager:
160
160
  if isinstance(value, dict) and key in dict1 and isinstance(dict1[key], dict):
161
161
  dict1[key] = self._merge_dicts(dict1[key], value)
162
162
  else:
163
- print(f"Merging '{key}' to new '{value[:20]}'")
164
163
  dict1[key] = value
165
164
  return dict1
166
165
 
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.80.1
3
+ Version: 0.80.2
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.80.1.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.80.2.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