sunholo 0.58.0__tar.gz → 0.58.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 (104) hide show
  1. {sunholo-0.58.0 → sunholo-0.58.2}/PKG-INFO +2 -2
  2. {sunholo-0.58.0 → sunholo-0.58.2}/setup.py +1 -1
  3. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/components/retriever.py +8 -3
  4. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/embedder/embed_chunk.py +9 -0
  5. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/llamaindex/import_files.py +14 -9
  6. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo.egg-info/PKG-INFO +2 -2
  7. {sunholo-0.58.0 → sunholo-0.58.2}/LICENSE.txt +0 -0
  8. {sunholo-0.58.0 → sunholo-0.58.2}/MANIFEST.in +0 -0
  9. {sunholo-0.58.0 → sunholo-0.58.2}/README.md +0 -0
  10. {sunholo-0.58.0 → sunholo-0.58.2}/setup.cfg +0 -0
  11. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/__init__.py +0 -0
  12. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/agents/__init__.py +0 -0
  13. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/agents/chat_history.py +0 -0
  14. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/agents/dispatch_to_qa.py +0 -0
  15. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/agents/fastapi/__init__.py +0 -0
  16. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/agents/fastapi/base.py +0 -0
  17. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/agents/fastapi/qna_routes.py +0 -0
  18. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/agents/flask/__init__.py +0 -0
  19. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/agents/flask/base.py +0 -0
  20. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/agents/flask/qna_routes.py +0 -0
  21. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/agents/langserve.py +0 -0
  22. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/agents/pubsub.py +0 -0
  23. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/agents/route.py +0 -0
  24. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/agents/special_commands.py +0 -0
  25. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/agents/test_chat_history.py +0 -0
  26. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/archive/__init__.py +0 -0
  27. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/archive/archive.py +0 -0
  28. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/auth/__init__.py +0 -0
  29. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/auth/run.py +0 -0
  30. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/bots/__init__.py +0 -0
  31. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/bots/discord.py +0 -0
  32. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/bots/webapp.py +0 -0
  33. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/chunker/__init__.py +0 -0
  34. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
  35. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/chunker/doc_handling.py +0 -0
  36. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/chunker/images.py +0 -0
  37. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/chunker/loaders.py +0 -0
  38. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/chunker/message_data.py +0 -0
  39. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/chunker/pdfs.py +0 -0
  40. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/chunker/publish.py +0 -0
  41. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/chunker/splitter.py +0 -0
  42. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/cli/__init__.py +0 -0
  43. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/cli/cli.py +0 -0
  44. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/cli/cli_init.py +0 -0
  45. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/cli/configs.py +0 -0
  46. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/cli/deploy.py +0 -0
  47. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/components/__init__.py +0 -0
  48. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/components/llm.py +0 -0
  49. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/components/prompt.py +0 -0
  50. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/components/vectorstore.py +0 -0
  51. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/database/__init__.py +0 -0
  52. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/database/alloydb.py +0 -0
  53. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/database/database.py +0 -0
  54. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/database/lancedb.py +0 -0
  55. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/database/sql/sb/create_function.sql +0 -0
  56. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  57. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/database/sql/sb/create_table.sql +0 -0
  58. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  59. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/database/sql/sb/return_sources.sql +0 -0
  60. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/database/sql/sb/setup.sql +0 -0
  61. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/database/static_dbs.py +0 -0
  62. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/database/uuid.py +0 -0
  63. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/embedder/__init__.py +0 -0
  64. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/gcs/__init__.py +0 -0
  65. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/gcs/add_file.py +0 -0
  66. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/gcs/download_url.py +0 -0
  67. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/gcs/metadata.py +0 -0
  68. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/langfuse/__init__.py +0 -0
  69. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/langfuse/callback.py +0 -0
  70. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/langfuse/prompts.py +0 -0
  71. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/llamaindex/__init__.py +0 -0
  72. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/llamaindex/generate.py +0 -0
  73. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/logging.py +0 -0
  74. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/lookup/__init__.py +0 -0
  75. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/lookup/model_lookup.yaml +0 -0
  76. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/patches/__init__.py +0 -0
  77. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/patches/langchain/__init__.py +0 -0
  78. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/patches/langchain/lancedb.py +0 -0
  79. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/patches/langchain/vertexai.py +0 -0
  80. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/pubsub/__init__.py +0 -0
  81. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/pubsub/process_pubsub.py +0 -0
  82. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/pubsub/pubsub_manager.py +0 -0
  83. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/qna/__init__.py +0 -0
  84. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/qna/parsers.py +0 -0
  85. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/qna/retry.py +0 -0
  86. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/streaming/__init__.py +0 -0
  87. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/streaming/content_buffer.py +0 -0
  88. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/streaming/langserve.py +0 -0
  89. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/streaming/streaming.py +0 -0
  90. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/summarise/__init__.py +0 -0
  91. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/summarise/summarise.py +0 -0
  92. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/utils/__init__.py +0 -0
  93. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/utils/big_context.py +0 -0
  94. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/utils/config.py +0 -0
  95. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/utils/gcp.py +0 -0
  96. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/utils/parsers.py +0 -0
  97. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/vertex/__init__.py +0 -0
  98. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo/vertex/init_vertex.py +0 -0
  99. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo.egg-info/SOURCES.txt +0 -0
  100. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo.egg-info/dependency_links.txt +0 -0
  101. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo.egg-info/entry_points.txt +0 -0
  102. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo.egg-info/requires.txt +0 -0
  103. {sunholo-0.58.0 → sunholo-0.58.2}/sunholo.egg-info/top_level.txt +0 -0
  104. {sunholo-0.58.0 → sunholo-0.58.2}/test/test_dispatch_to_qa.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.58.0
3
+ Version: 0.58.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.58.0.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.58.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.58.0'
4
+ version = '0.58.2'
5
5
 
6
6
  setup(
7
7
  name='sunholo',
@@ -27,7 +27,7 @@ from langchain.retrievers import ContextualCompressionRetriever
27
27
 
28
28
 
29
29
  def load_memories(vector_name):
30
- memories = load_config_key("memory", vector_name, filename="config/llm_config.yaml")
30
+ memories = load_config_key("memory", vector_name, type="vacConfig")
31
31
  log.info(f"Found memory settings for {vector_name}: {memories}")
32
32
  if len(memories) == 0:
33
33
  log.info(f"No memory settings found for {vector_name}")
@@ -49,7 +49,8 @@ def pick_retriever(vector_name, embeddings=None):
49
49
  if embeddings is None:
50
50
  embeddings = get_embeddings(vector_name)
51
51
  vectorstore = pick_vectorstore(vectorstore, vector_name=vector_name, embeddings=embeddings)
52
- vs_retriever = vectorstore.as_retriever(search_kwargs=dict(k=3))
52
+ k_override = value.get('k', 3)
53
+ vs_retriever = vectorstore.as_retriever(search_kwargs=dict(k=k_override))
53
54
  retriever_list.append(vs_retriever)
54
55
 
55
56
  if value.get('provider') == "GoogleCloudEnterpriseSearchRetriever":
@@ -68,6 +69,10 @@ def pick_retriever(vector_name, embeddings=None):
68
69
  if len(retriever_list) == 0:
69
70
  log.info(f"No retrievers were created for {memories}")
70
71
  return None
72
+
73
+ k_override = load_config_key("memory_k", vector_name, type="vacConfig")
74
+ if not k_override:
75
+ k_override = 3
71
76
 
72
77
  lotr = MergerRetriever(retrievers=retriever_list)
73
78
 
@@ -76,6 +81,6 @@ def pick_retriever(vector_name, embeddings=None):
76
81
  pipeline = DocumentCompressorPipeline(transformers=[filter])
77
82
  retriever = ContextualCompressionRetriever(
78
83
  base_compressor=pipeline, base_retriever=lotr,
79
- k=3)
84
+ k=k_override)
80
85
 
81
86
  return retriever
@@ -115,6 +115,15 @@ def embed_pubsub_chunk(data: dict):
115
115
  embed_llm = value.get('llm')
116
116
  if embed_llm:
117
117
  embeddings = pick_embedding(embed_llm)
118
+ # check if read only
119
+ read_only = value.get('readonly')
120
+ if read_only:
121
+ continue
122
+ # read from a different vector_name
123
+ vector_name_other = value.get('vector_name')
124
+ if vector_name_other:
125
+ log.warning(f"Using different vector_name for vectorstore: {vector_name_other} overriding {vector_name}")
126
+ vector_name = vector_name_other
118
127
  vectorstore_obj = pick_vectorstore(vectorstore, vector_name=vector_name, embeddings=embeddings)
119
128
  vs_retriever = vectorstore_obj.as_retriever(search_kwargs=dict(k=3))
120
129
  vectorstore_list.append(vs_retriever)
@@ -159,12 +159,8 @@ def do_llamaindex(message_data, metadata, vector_name):
159
159
  # description=description,
160
160
  #)
161
161
 
162
-
163
- def llamaindex_chunker_check(message_data, metadata, vector_name):
164
- # llamaindex handles its own chunking/embedding
162
+ def check_llamaindex_in_memory(vector_name):
165
163
  memories = load_config_key("memory", vector_name=vector_name, type="vacConfig")
166
- total_memories = len(memories)
167
- llama = None
168
164
  for memory in memories: # Iterate over the list
169
165
  for key, value in memory.items(): # Now iterate over the dictionary
170
166
  log.info(f"Found memory {key}")
@@ -172,10 +168,19 @@ def llamaindex_chunker_check(message_data, metadata, vector_name):
172
168
  if vectorstore:
173
169
  log.info(f"Found vectorstore {vectorstore}")
174
170
  if vectorstore == "llamaindex":
175
- # https://cloud.google.com/vertex-ai/generative-ai/docs/llamaindex-on-vertexai
176
- log.info(f"llamaindex on vertex indexing for {vector_name}")
177
- llama = do_llamaindex(message_data, metadata, vector_name)
178
- log.info(f"Processed llamaindex: {llama}")
171
+
172
+ return True
173
+
174
+ return False
175
+
176
+ def llamaindex_chunker_check(message_data, metadata, vector_name):
177
+ # llamaindex handles its own chunking/embedding
178
+ memories = load_config_key("memory", vector_name=vector_name, type="vacConfig")
179
+ total_memories = len(memories)
180
+ llama = None
181
+ if check_llamaindex_in_memory(vector_name):
182
+ llama = do_llamaindex(message_data, metadata, vector_name)
183
+ log.info(f"Processed llamaindex: {llama}")
179
184
 
180
185
  # If llamaindex is the only entry, return
181
186
  if llama and total_memories == 1:
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.58.0
3
+ Version: 0.58.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.58.0.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.58.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