sunholo 0.66.0__tar.gz → 0.66.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.
- {sunholo-0.66.0 → sunholo-0.66.2}/PKG-INFO +2 -2
- {sunholo-0.66.0 → sunholo-0.66.2}/setup.py +1 -1
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/agents/swagger.py +5 -3
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/llamaindex/import_files.py +43 -12
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo.egg-info/PKG-INFO +2 -2
- {sunholo-0.66.0 → sunholo-0.66.2}/LICENSE.txt +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/MANIFEST.in +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/README.md +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/setup.cfg +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/agents/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/agents/chat_history.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/agents/dispatch_to_qa.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/agents/fastapi/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/agents/fastapi/base.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/agents/fastapi/qna_routes.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/agents/flask/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/agents/flask/base.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/agents/flask/qna_routes.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/agents/langserve.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/agents/pubsub.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/agents/route.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/agents/special_commands.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/archive/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/archive/archive.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/auth/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/auth/run.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/bots/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/bots/discord.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/bots/github_webhook.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/bots/webapp.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/chunker/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/chunker/doc_handling.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/chunker/images.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/chunker/loaders.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/chunker/message_data.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/chunker/pdfs.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/chunker/publish.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/chunker/splitter.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/cli/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/cli/chat_vac.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/cli/cli.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/cli/cli_init.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/cli/configs.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/cli/deploy.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/cli/embedder.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/cli/merge_texts.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/cli/run_proxy.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/cli/sun_rich.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/cli/swagger.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/components/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/components/llm.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/components/retriever.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/components/vectorstore.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/database/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/database/alloydb.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/database/database.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/database/lancedb.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/database/sql/sb/create_function.sql +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/database/sql/sb/create_function_time.sql +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/database/sql/sb/create_table.sql +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/database/sql/sb/return_sources.sql +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/database/sql/sb/setup.sql +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/database/static_dbs.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/database/uuid.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/embedder/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/embedder/embed_chunk.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/gcs/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/gcs/add_file.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/gcs/download_url.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/gcs/metadata.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/langfuse/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/langfuse/callback.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/langfuse/prompts.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/llamaindex/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/llamaindex/generate.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/llamaindex/get_files.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/logging.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/lookup/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/lookup/model_lookup.yaml +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/patches/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/patches/langchain/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/patches/langchain/lancedb.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/patches/langchain/vertexai.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/pubsub/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/pubsub/process_pubsub.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/pubsub/pubsub_manager.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/qna/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/qna/parsers.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/qna/retry.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/streaming/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/streaming/content_buffer.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/streaming/langserve.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/streaming/stream_lookup.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/streaming/streaming.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/summarise/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/summarise/summarise.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/utils/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/utils/big_context.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/utils/config.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/utils/config_schema.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/utils/gcp.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/utils/gcp_project.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/utils/parsers.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/utils/timedelta.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/utils/user_ids.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/utils/version.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/vertex/__init__.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/vertex/init.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/vertex/memory_tools.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo/vertex/safety.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo.egg-info/SOURCES.txt +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo.egg-info/dependency_links.txt +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo.egg-info/entry_points.txt +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo.egg-info/requires.txt +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/sunholo.egg-info/top_level.txt +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/tests/test_chat_history.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/tests/test_chunker.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/tests/test_config.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/tests/test_dispatch_to_qa.py +0 -0
- {sunholo-0.66.0 → sunholo-0.66.2}/tests/test_swagger.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.66.
|
|
3
|
+
Version: 0.66.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.66.
|
|
6
|
+
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.66.2.tar.gz
|
|
7
7
|
Author: Holosun ApS
|
|
8
8
|
Author-email: multivac@sunholo.com
|
|
9
9
|
License: Apache License, Version 2.0
|
|
@@ -195,7 +195,8 @@ def generate_swagger(vac_config, agent_config):
|
|
|
195
195
|
'operationId': operation_id,
|
|
196
196
|
'x-google-backend': {
|
|
197
197
|
'address': endpoint_address,
|
|
198
|
-
'protocol': 'h2'
|
|
198
|
+
'protocol': 'h2',
|
|
199
|
+
'deadline': 180000 # Timeout of 3 minutes (1,800,00 milliseconds)
|
|
199
200
|
},
|
|
200
201
|
'security': security,
|
|
201
202
|
'responses': copy.deepcopy(agent_config_paths.get('response', {}).get(endpoint_key, {
|
|
@@ -252,7 +253,7 @@ def generate_swagger(vac_config, agent_config):
|
|
|
252
253
|
swagger_template['paths'][endpoint_path] = {}
|
|
253
254
|
|
|
254
255
|
operation_id = f"{method}_{agent_type}_{endpoint_key}_{vector_name}"
|
|
255
|
-
|
|
256
|
+
|
|
256
257
|
security = [{'ApiKeyAuth': []}] if do_auth else [{'None': []}]
|
|
257
258
|
|
|
258
259
|
swagger_template['paths'][endpoint_path][method] = {
|
|
@@ -260,7 +261,8 @@ def generate_swagger(vac_config, agent_config):
|
|
|
260
261
|
'operationId': operation_id,
|
|
261
262
|
'x-google-backend': {
|
|
262
263
|
'address': endpoint_address,
|
|
263
|
-
'protocol': 'h2'
|
|
264
|
+
'protocol': 'h2',
|
|
265
|
+
'deadline': 180000 # Timeout of 3 minutes (1,800,00 milliseconds)
|
|
264
266
|
},
|
|
265
267
|
'security': security,
|
|
266
268
|
'responses': copy.deepcopy(default_agent_config.get('response', {}).get(endpoint_key, {
|
|
@@ -7,6 +7,7 @@ from ..logging import log
|
|
|
7
7
|
from ..utils.config import load_config_key
|
|
8
8
|
from ..vertex import init_vertex
|
|
9
9
|
from .get_files import fetch_corpus
|
|
10
|
+
from ..components import load_memories
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
def do_llamaindex(message_data, metadata, vector_name):
|
|
@@ -45,30 +46,60 @@ def do_llamaindex(message_data, metadata, vector_name):
|
|
|
45
46
|
raise ValueError(f"Need config.{vector_name}.gcp_config to configure llamaindex on VertexAI")
|
|
46
47
|
|
|
47
48
|
init_vertex(gcp_config)
|
|
48
|
-
corpus = fetch_corpus(gcp_config)
|
|
49
|
-
#display_name = load_config_key("display_name", vector_name=vector_name, filename="config/llm_config.yaml")
|
|
50
|
-
#description = load_config_key("description", vector_name=vector_name, filename="config/llm_config.yaml")
|
|
51
49
|
|
|
50
|
+
global_project_id = gcp_config.get('project_id')
|
|
51
|
+
global_location = gcp_config.get('location')
|
|
52
|
+
global_rag_id = gcp_config.get('rag_id')
|
|
53
|
+
#global_data_store_id = gcp_config.get('data_store_id')
|
|
54
|
+
|
|
55
|
+
memories = load_memories(vector_name)
|
|
56
|
+
tools = []
|
|
57
|
+
|
|
58
|
+
if not memories:
|
|
59
|
+
return tools
|
|
60
|
+
|
|
61
|
+
corpuses = None
|
|
62
|
+
for memory in memories:
|
|
63
|
+
for key, value in memory.items(): # Now iterate over the dictionary
|
|
64
|
+
log.info(f"Found memory {key}")
|
|
65
|
+
vectorstore = value.get('vectorstore')
|
|
66
|
+
if vectorstore == "llamaindex":
|
|
67
|
+
log.info(f"Found vectorstore {vectorstore}")
|
|
68
|
+
rag_id = value.get('rag_id')
|
|
69
|
+
project_id = gcp_config.get('project_id')
|
|
70
|
+
location = gcp_config.get('location')
|
|
71
|
+
corpus = fetch_corpus(
|
|
72
|
+
project_id=project_id or global_project_id,
|
|
73
|
+
location=location or global_location,
|
|
74
|
+
rag_id=rag_id or global_rag_id
|
|
75
|
+
)
|
|
76
|
+
corpuses.append(corpus)
|
|
77
|
+
if not corpuses:
|
|
78
|
+
log.error("Could not find a RAG corpus to import data to")
|
|
79
|
+
return None
|
|
80
|
+
|
|
52
81
|
try:
|
|
53
82
|
corpura = rag.list_corpora()
|
|
54
|
-
log.info(f"Corpora: {corpura} - {type(corpura)}")
|
|
83
|
+
log.info(f"All Corpora: {corpura} - {type(corpura)}")
|
|
55
84
|
except Exception as err:
|
|
56
85
|
log.warning(f"Could not list any corpora - {str(err)}")
|
|
57
86
|
|
|
58
|
-
log.info(f"Found llamaindex corpus: {
|
|
87
|
+
log.info(f"Found llamaindex corpus: {corpuses}")
|
|
59
88
|
|
|
60
89
|
# native support for cloud storage and drive links
|
|
61
90
|
chunker_config = load_config_key("chunker", vector_name=vector_name, kind="vacConfig")
|
|
62
91
|
|
|
92
|
+
|
|
63
93
|
if message_data.startswith("gs://") or message_data.startswith("https://drive.google.com"):
|
|
64
94
|
log.info(f"rag.import_files for {message_data}")
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
95
|
+
for corp in corpuses:
|
|
96
|
+
response = rag.import_files(
|
|
97
|
+
corpus_name=corp.name,
|
|
98
|
+
paths=[message_data],
|
|
99
|
+
chunk_size=chunker_config.get("chunk_size"), # Optional
|
|
100
|
+
chunk_overlap=chunker_config.get("overlap"), # Optional
|
|
101
|
+
)
|
|
102
|
+
log.info(f"Imported file to corpus: {response} with metadata: {metadata}")
|
|
72
103
|
|
|
73
104
|
metadata["source"] = message_data
|
|
74
105
|
return metadata
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.66.
|
|
3
|
+
Version: 0.66.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.66.
|
|
6
|
+
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.66.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
|
|
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
|