sunholo 0.69.17__tar.gz → 0.70.1__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.17 → sunholo-0.70.1}/PKG-INFO +2 -2
  2. {sunholo-0.69.17 → sunholo-0.70.1}/setup.py +1 -1
  3. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/chunker/data_to_embed_pubsub.py +2 -2
  4. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/cli/chat_vac.py +5 -1
  5. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/discovery_engine/chunker_handler.py +2 -0
  6. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/llamaindex/import_files.py +2 -0
  7. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/vertex/memory_tools.py +30 -21
  8. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo.egg-info/PKG-INFO +2 -2
  9. {sunholo-0.69.17 → sunholo-0.70.1}/LICENSE.txt +0 -0
  10. {sunholo-0.69.17 → sunholo-0.70.1}/MANIFEST.in +0 -0
  11. {sunholo-0.69.17 → sunholo-0.70.1}/README.md +0 -0
  12. {sunholo-0.69.17 → sunholo-0.70.1}/setup.cfg +0 -0
  13. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/__init__.py +0 -0
  14. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/agents/__init__.py +0 -0
  15. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/agents/chat_history.py +0 -0
  16. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/agents/dispatch_to_qa.py +0 -0
  17. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/agents/fastapi/__init__.py +0 -0
  18. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/agents/fastapi/base.py +0 -0
  19. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/agents/fastapi/qna_routes.py +0 -0
  20. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/agents/flask/__init__.py +0 -0
  21. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/agents/flask/base.py +0 -0
  22. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/agents/flask/qna_routes.py +0 -0
  23. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/agents/flask/vac_routes.py +0 -0
  24. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/agents/langserve.py +0 -0
  25. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/agents/pubsub.py +0 -0
  26. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/agents/route.py +0 -0
  27. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/agents/special_commands.py +0 -0
  28. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/agents/swagger.py +0 -0
  29. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/archive/__init__.py +0 -0
  30. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/archive/archive.py +0 -0
  31. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/auth/__init__.py +0 -0
  32. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/auth/run.py +0 -0
  33. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/bots/__init__.py +0 -0
  34. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/bots/discord.py +0 -0
  35. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/bots/github_webhook.py +0 -0
  36. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/bots/webapp.py +0 -0
  37. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/chunker/__init__.py +0 -0
  38. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/chunker/doc_handling.py +0 -0
  39. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/chunker/images.py +0 -0
  40. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/chunker/loaders.py +0 -0
  41. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/chunker/message_data.py +0 -0
  42. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/chunker/pdfs.py +0 -0
  43. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/chunker/publish.py +0 -0
  44. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/chunker/splitter.py +0 -0
  45. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/cli/__init__.py +0 -0
  46. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/cli/cli.py +0 -0
  47. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/cli/cli_init.py +0 -0
  48. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/cli/configs.py +0 -0
  49. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/cli/deploy.py +0 -0
  50. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/cli/embedder.py +0 -0
  51. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/cli/merge_texts.py +0 -0
  52. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/cli/run_proxy.py +0 -0
  53. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/cli/sun_rich.py +0 -0
  54. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/cli/swagger.py +0 -0
  55. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/components/__init__.py +0 -0
  56. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/components/llm.py +0 -0
  57. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/components/retriever.py +0 -0
  58. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/components/vectorstore.py +0 -0
  59. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/database/__init__.py +0 -0
  60. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/database/alloydb.py +0 -0
  61. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/database/alloydb_client.py +0 -0
  62. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/database/database.py +0 -0
  63. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/database/lancedb.py +0 -0
  64. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/database/sql/sb/create_function.sql +0 -0
  65. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  66. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/database/sql/sb/create_table.sql +0 -0
  67. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  68. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/database/sql/sb/return_sources.sql +0 -0
  69. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/database/sql/sb/setup.sql +0 -0
  70. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/database/static_dbs.py +0 -0
  71. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/database/uuid.py +0 -0
  72. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/discovery_engine/__init__.py +0 -0
  73. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/discovery_engine/create_new.py +0 -0
  74. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
  75. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/embedder/__init__.py +0 -0
  76. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/embedder/embed_chunk.py +0 -0
  77. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/gcs/__init__.py +0 -0
  78. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/gcs/add_file.py +0 -0
  79. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/gcs/download_url.py +0 -0
  80. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/gcs/metadata.py +0 -0
  81. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/langfuse/__init__.py +0 -0
  82. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/langfuse/callback.py +0 -0
  83. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/langfuse/prompts.py +0 -0
  84. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/llamaindex/__init__.py +0 -0
  85. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/llamaindex/generate.py +0 -0
  86. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/llamaindex/get_files.py +0 -0
  87. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/logging.py +0 -0
  88. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/lookup/__init__.py +0 -0
  89. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/lookup/model_lookup.yaml +0 -0
  90. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/patches/__init__.py +0 -0
  91. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/patches/langchain/__init__.py +0 -0
  92. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/patches/langchain/lancedb.py +0 -0
  93. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/patches/langchain/vertexai.py +0 -0
  94. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/pubsub/__init__.py +0 -0
  95. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/pubsub/process_pubsub.py +0 -0
  96. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/pubsub/pubsub_manager.py +0 -0
  97. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/qna/__init__.py +0 -0
  98. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/qna/parsers.py +0 -0
  99. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/qna/retry.py +0 -0
  100. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/streaming/__init__.py +0 -0
  101. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/streaming/content_buffer.py +0 -0
  102. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/streaming/langserve.py +0 -0
  103. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/streaming/stream_lookup.py +0 -0
  104. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/streaming/streaming.py +0 -0
  105. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/summarise/__init__.py +0 -0
  106. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/summarise/summarise.py +0 -0
  107. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/utils/__init__.py +0 -0
  108. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/utils/api_key.py +0 -0
  109. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/utils/big_context.py +0 -0
  110. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/utils/config.py +0 -0
  111. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/utils/config_schema.py +0 -0
  112. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/utils/gcp.py +0 -0
  113. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/utils/gcp_project.py +0 -0
  114. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/utils/parsers.py +0 -0
  115. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/utils/timedelta.py +0 -0
  116. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/utils/user_ids.py +0 -0
  117. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/utils/version.py +0 -0
  118. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/vertex/__init__.py +0 -0
  119. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/vertex/init.py +0 -0
  120. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo/vertex/safety.py +0 -0
  121. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo.egg-info/SOURCES.txt +0 -0
  122. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo.egg-info/dependency_links.txt +0 -0
  123. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo.egg-info/entry_points.txt +0 -0
  124. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo.egg-info/requires.txt +0 -0
  125. {sunholo-0.69.17 → sunholo-0.70.1}/sunholo.egg-info/top_level.txt +0 -0
  126. {sunholo-0.69.17 → sunholo-0.70.1}/tests/test_chat_history.py +0 -0
  127. {sunholo-0.69.17 → sunholo-0.70.1}/tests/test_chunker.py +0 -0
  128. {sunholo-0.69.17 → sunholo-0.70.1}/tests/test_config.py +0 -0
  129. {sunholo-0.69.17 → sunholo-0.70.1}/tests/test_dispatch_to_qa.py +0 -0
  130. {sunholo-0.69.17 → sunholo-0.70.1}/tests/test_swagger.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.69.17
3
+ Version: 0.70.1
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.17.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.70.1.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.17'
4
+ version = '0.70.1'
5
5
 
6
6
  setup(
7
7
  name='sunholo',
@@ -60,10 +60,10 @@ def process_chunker_data(message_data, metadata, vector_name):
60
60
  metadata["vector_name"] = vector_name
61
61
 
62
62
  if message_data is None:
63
- log.error(f"No message_data was found in data: {message_data}")
63
+ log.warning(f"No message_data was found in data: {metadata=}")
64
64
  return
65
65
 
66
- log.debug(f"Found metadata in pubsub: {metadata}")
66
+ log.debug(f"Found metadata in pubsub: {metadata=}")
67
67
 
68
68
  # checks if only a llamaindex chunking/embedder, return early as no other processing needed
69
69
  llamacheck = llamaindex_chunker_check(message_data, metadata, vector_name)
@@ -211,7 +211,11 @@ def headless_mode(service_url, service_name, user_input, chat_history=None, stre
211
211
  if isinstance(token, bytes):
212
212
  token = token.decode('utf-8')
213
213
  print(token, end='', flush=True)
214
- answer += token
214
+ if isinstance(token, dict):
215
+ # ?
216
+ pass
217
+ elif isinstance(token, str):
218
+ answer += token
215
219
 
216
220
  if answer:
217
221
  chat_history.append({"name": "Human", "content": user_input})
@@ -34,6 +34,8 @@ def do_discovery_engine(message_data, metadata, vector_name):
34
34
  vectorstore = value.get('vectorstore')
35
35
  if vectorstore == "discovery_engine" or vectorstore == "vertex_ai_search":
36
36
  log.info(f"Found vectorstore {vectorstore}")
37
+ if value.get('read_only'):
38
+ continue
37
39
  #location = gcp_config.get('location')
38
40
  corpus = DiscoveryEngineClient(
39
41
  data_store_id=vector_name,
@@ -64,6 +64,8 @@ def do_llamaindex(message_data, metadata, vector_name):
64
64
  vectorstore = value.get('vectorstore')
65
65
  if vectorstore == "llamaindex":
66
66
  log.info(f"Found vectorstore {vectorstore}")
67
+ if value.get('read_only'):
68
+ continue
67
69
  rag_id = value.get('rag_id')
68
70
  project_id = gcp_config.get('project_id')
69
71
  location = gcp_config.get('location')
@@ -65,34 +65,43 @@ def get_vertex_memories(vector_name):
65
65
  project_id = gcp_config.get('project_id')
66
66
  location = gcp_config.get('location')
67
67
 
68
- corpus = fetch_corpus(
69
- project_id=project_id or get_gcp_project(),
70
- location=location or global_location,
71
- rag_id=rag_id
72
- )
73
- corpus_tool = Tool.from_retrieval(
74
- retrieval=rag.Retrieval(
75
- source=rag.VertexRagStore(
76
- rag_corpora=[corpus.name], # Currently only 1 corpus is allowed.
77
- similarity_top_k=10, # Optional
78
- ),
68
+ try:
69
+ corpus = fetch_corpus(
70
+ project_id=project_id or get_gcp_project(),
71
+ location=location or global_location,
72
+ rag_id=rag_id
79
73
  )
80
- )
81
- tools.append(corpus_tool)
74
+ corpus_tool = Tool.from_retrieval(
75
+ retrieval=rag.Retrieval(
76
+ source=rag.VertexRagStore(
77
+ rag_corpora=[corpus.name], # Currently only 1 corpus is allowed.
78
+ similarity_top_k=10, # Optional
79
+ ),
80
+ )
81
+ )
82
+ tools.append(corpus_tool)
83
+ except Exception as err:
84
+ log.error(f"Failed to fetch vertex.rag: {str(err)} - skipping")
85
+ continue
86
+
82
87
  elif vectorstore == "discovery_engine" or vectorstore == "vertex_ai_search":
83
88
 
84
- de = DiscoveryEngineClient(vector_name, project_id=get_gcp_project())
85
- log.info(f"Found vectorstore {vectorstore}")
89
+ try:
90
+ de = DiscoveryEngineClient(vector_name, project_id=get_gcp_project())
91
+ log.info(f"Found vectorstore {vectorstore}")
86
92
 
87
- data_store_path = de.data_store_path()
88
- corpus_tool = Tool.from_retrieval(
89
- grounding.Retrieval(grounding.VertexAISearch(datastore=data_store_path))
90
- )
91
- tools.append(corpus_tool)
93
+ data_store_path = de.data_store_path()
94
+ corpus_tool = Tool.from_retrieval(
95
+ grounding.Retrieval(grounding.VertexAISearch(datastore=data_store_path))
96
+ )
97
+ tools.append(corpus_tool)
98
+ except Exception as err:
99
+ log.error(f"Failed to fetch DiscoveryEngine groudning - {str(err)} - skipping")
100
+ continue
92
101
 
93
102
 
94
103
  if not tools:
95
- log.warning("No llamaindex Vertex corpus configurations could be found")
104
+ log.warning("No Vertex corpus configurations could be found")
96
105
 
97
106
  return tools
98
107
 
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.69.17
3
+ Version: 0.70.1
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.17.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.70.1.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