sunholo 0.69.5__tar.gz → 0.69.8__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.
- {sunholo-0.69.5 → sunholo-0.69.8}/PKG-INFO +2 -2
- {sunholo-0.69.5 → sunholo-0.69.8}/setup.py +1 -1
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/discovery_engine/create_new.py +8 -6
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/discovery_engine/discovery_engine_client.py +22 -11
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo.egg-info/PKG-INFO +2 -2
- {sunholo-0.69.5 → sunholo-0.69.8}/LICENSE.txt +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/MANIFEST.in +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/README.md +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/setup.cfg +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/agents/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/agents/chat_history.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/agents/dispatch_to_qa.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/agents/fastapi/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/agents/fastapi/base.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/agents/fastapi/qna_routes.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/agents/flask/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/agents/flask/base.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/agents/flask/qna_routes.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/agents/flask/vac_routes.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/agents/langserve.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/agents/pubsub.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/agents/route.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/agents/special_commands.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/agents/swagger.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/archive/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/archive/archive.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/auth/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/auth/run.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/bots/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/bots/discord.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/bots/github_webhook.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/bots/webapp.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/chunker/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/chunker/doc_handling.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/chunker/images.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/chunker/loaders.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/chunker/message_data.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/chunker/pdfs.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/chunker/publish.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/chunker/splitter.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/cli/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/cli/chat_vac.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/cli/cli.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/cli/cli_init.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/cli/configs.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/cli/deploy.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/cli/embedder.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/cli/merge_texts.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/cli/run_proxy.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/cli/sun_rich.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/cli/swagger.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/components/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/components/llm.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/components/retriever.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/components/vectorstore.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/database/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/database/alloydb.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/database/alloydb_client.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/database/database.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/database/lancedb.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/database/sql/sb/create_function.sql +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/database/sql/sb/create_function_time.sql +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/database/sql/sb/create_table.sql +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/database/sql/sb/return_sources.sql +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/database/sql/sb/setup.sql +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/database/static_dbs.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/database/uuid.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/discovery_engine/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/discovery_engine/chunker_handler.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/embedder/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/embedder/embed_chunk.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/gcs/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/gcs/add_file.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/gcs/download_url.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/gcs/metadata.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/langfuse/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/langfuse/callback.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/langfuse/prompts.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/llamaindex/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/llamaindex/generate.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/llamaindex/get_files.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/llamaindex/import_files.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/logging.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/lookup/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/lookup/model_lookup.yaml +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/patches/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/patches/langchain/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/patches/langchain/lancedb.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/patches/langchain/vertexai.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/pubsub/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/pubsub/process_pubsub.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/pubsub/pubsub_manager.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/qna/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/qna/parsers.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/qna/retry.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/streaming/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/streaming/content_buffer.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/streaming/langserve.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/streaming/stream_lookup.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/streaming/streaming.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/summarise/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/summarise/summarise.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/utils/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/utils/api_key.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/utils/big_context.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/utils/config.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/utils/config_schema.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/utils/gcp.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/utils/gcp_project.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/utils/parsers.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/utils/timedelta.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/utils/user_ids.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/utils/version.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/vertex/__init__.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/vertex/init.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/vertex/memory_tools.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo/vertex/safety.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo.egg-info/SOURCES.txt +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo.egg-info/dependency_links.txt +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo.egg-info/entry_points.txt +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo.egg-info/requires.txt +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/sunholo.egg-info/top_level.txt +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/tests/test_chat_history.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/tests/test_chunker.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/tests/test_config.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/tests/test_dispatch_to_qa.py +0 -0
- {sunholo-0.69.5 → sunholo-0.69.8}/tests/test_swagger.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.69.
|
|
3
|
+
Version: 0.69.8
|
|
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.
|
|
6
|
+
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.69.8.tar.gz
|
|
7
7
|
Author: Holosun ApS
|
|
8
8
|
Author-email: multivac@sunholo.com
|
|
9
9
|
License: Apache License, Version 2.0
|
|
@@ -2,18 +2,20 @@ from .discovery_engine_client import DiscoveryEngineClient
|
|
|
2
2
|
from ..utils.config import load_config_key
|
|
3
3
|
|
|
4
4
|
def create_new_discovery_engine(vector_name):
|
|
5
|
+
global_config = load_config_key("gcp_config", "global", kind="vacConfig")
|
|
5
6
|
gcp_config = load_config_key("gcp_config", vector_name=vector_name, kind="vacConfig")
|
|
6
7
|
|
|
7
8
|
chunker_config = load_config_key("chunker", vector_name=vector_name, kind="vacConfig")
|
|
8
9
|
|
|
10
|
+
chunk_size = 500
|
|
9
11
|
if chunker_config:
|
|
10
|
-
chunk_size
|
|
11
|
-
|
|
12
|
-
if not chunk_size:
|
|
13
|
-
chunk_size = 500
|
|
14
|
-
|
|
12
|
+
if "chunk_size" in chunker_config:
|
|
13
|
+
chunk_size = chunker_config["chunk_size"]
|
|
15
14
|
|
|
16
|
-
project_id = gcp_config.get('project_id')
|
|
15
|
+
project_id = gcp_config.get('project_id') or global_config.get('project_id')
|
|
16
|
+
if not project_id:
|
|
17
|
+
raise ValueError("Could not find project_id in gcp_config")
|
|
18
|
+
|
|
17
19
|
#location = gcp_config.get('location')
|
|
18
20
|
|
|
19
21
|
de = DiscoveryEngineClient(
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
try:
|
|
2
2
|
from google.api_core.client_options import ClientOptions
|
|
3
3
|
from google.cloud import discoveryengine_v1alpha as discoveryengine
|
|
4
|
+
from google.api_core.retry import Retry, if_exception_type
|
|
5
|
+
from google.api_core.exceptions import ResourceExhausted
|
|
4
6
|
except ImportError:
|
|
5
7
|
ClientOptions = None
|
|
6
8
|
discoveryengine = None
|
|
@@ -65,6 +67,16 @@ class DiscoveryEngineClient:
|
|
|
65
67
|
self.doc_client = discoveryengine.DocumentServiceClient(client_options=client_options)
|
|
66
68
|
self.search_client = discoveryengine.SearchServiceClient(client_options=client_options)
|
|
67
69
|
|
|
70
|
+
@classmethod
|
|
71
|
+
def my_retry(cls):
|
|
72
|
+
return Retry(
|
|
73
|
+
initial=1.0, # Initial delay before retrying (in seconds)
|
|
74
|
+
maximum=60.0, # Maximum delay between retries (in seconds)
|
|
75
|
+
multiplier=2.0, # Multiplier for the delay between retries
|
|
76
|
+
timeout=300.0, # Maximum total time to wait before giving up (in seconds)
|
|
77
|
+
predicate=if_exception_type(ResourceExhausted) # Retry if a ResourceExhausted error occurs
|
|
78
|
+
)
|
|
79
|
+
|
|
68
80
|
def create_data_store(
|
|
69
81
|
self, chunk_size: int = 500,
|
|
70
82
|
collection: str = "default_collection"
|
|
@@ -237,17 +249,16 @@ class DiscoveryEngineClient:
|
|
|
237
249
|
)
|
|
238
250
|
|
|
239
251
|
# Make the request
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
log.info(f"{response=} {metadata=}")
|
|
252
|
+
@self.my_retry()
|
|
253
|
+
def import_documents_with_retry(doc_client, request):
|
|
254
|
+
return doc_client.import_documents(request=request)
|
|
255
|
+
|
|
256
|
+
try:
|
|
257
|
+
operation = import_documents_with_retry(self.doc_client, request)
|
|
258
|
+
except ResourceExhausted as e:
|
|
259
|
+
print(f"Operation failed after retries due to quota exceeded: {e}")
|
|
260
|
+
except Exception as e:
|
|
261
|
+
print(f"An unexpected error occurred: {e}")
|
|
251
262
|
|
|
252
263
|
return operation.operation.name
|
|
253
264
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.69.
|
|
3
|
+
Version: 0.69.8
|
|
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.
|
|
6
|
+
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.69.8.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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|