sunholo 0.64.19__tar.gz → 0.66.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.
- {sunholo-0.64.19 → sunholo-0.66.1}/PKG-INFO +2 -2
- {sunholo-0.64.19 → sunholo-0.66.1}/setup.py +1 -1
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/agents/swagger.py +45 -7
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo.egg-info/PKG-INFO +2 -2
- {sunholo-0.64.19 → sunholo-0.66.1}/LICENSE.txt +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/MANIFEST.in +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/README.md +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/setup.cfg +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/agents/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/agents/chat_history.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/agents/dispatch_to_qa.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/agents/fastapi/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/agents/fastapi/base.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/agents/fastapi/qna_routes.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/agents/flask/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/agents/flask/base.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/agents/flask/qna_routes.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/agents/langserve.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/agents/pubsub.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/agents/route.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/agents/special_commands.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/archive/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/archive/archive.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/auth/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/auth/run.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/bots/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/bots/discord.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/bots/github_webhook.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/bots/webapp.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/chunker/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/chunker/doc_handling.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/chunker/images.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/chunker/loaders.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/chunker/message_data.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/chunker/pdfs.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/chunker/publish.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/chunker/splitter.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/cli/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/cli/chat_vac.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/cli/cli.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/cli/cli_init.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/cli/configs.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/cli/deploy.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/cli/embedder.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/cli/merge_texts.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/cli/run_proxy.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/cli/sun_rich.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/cli/swagger.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/components/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/components/llm.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/components/retriever.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/components/vectorstore.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/database/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/database/alloydb.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/database/database.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/database/lancedb.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/database/sql/sb/create_function.sql +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/database/sql/sb/create_function_time.sql +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/database/sql/sb/create_table.sql +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/database/sql/sb/return_sources.sql +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/database/sql/sb/setup.sql +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/database/static_dbs.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/database/uuid.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/embedder/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/embedder/embed_chunk.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/gcs/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/gcs/add_file.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/gcs/download_url.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/gcs/metadata.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/langfuse/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/langfuse/callback.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/langfuse/prompts.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/llamaindex/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/llamaindex/generate.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/llamaindex/get_files.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/llamaindex/import_files.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/logging.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/lookup/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/lookup/model_lookup.yaml +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/patches/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/patches/langchain/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/patches/langchain/lancedb.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/patches/langchain/vertexai.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/pubsub/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/pubsub/process_pubsub.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/pubsub/pubsub_manager.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/qna/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/qna/parsers.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/qna/retry.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/streaming/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/streaming/content_buffer.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/streaming/langserve.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/streaming/stream_lookup.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/streaming/streaming.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/summarise/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/summarise/summarise.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/utils/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/utils/big_context.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/utils/config.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/utils/config_schema.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/utils/gcp.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/utils/gcp_project.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/utils/parsers.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/utils/timedelta.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/utils/user_ids.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/utils/version.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/vertex/__init__.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/vertex/init.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/vertex/memory_tools.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo/vertex/safety.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo.egg-info/SOURCES.txt +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo.egg-info/dependency_links.txt +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo.egg-info/entry_points.txt +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo.egg-info/requires.txt +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/sunholo.egg-info/top_level.txt +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/tests/test_chat_history.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/tests/test_chunker.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/tests/test_config.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/tests/test_dispatch_to_qa.py +0 -0
- {sunholo-0.64.19 → sunholo-0.66.1}/tests/test_swagger.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.66.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.
|
|
6
|
+
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.66.1.tar.gz
|
|
7
7
|
Author: Holosun ApS
|
|
8
8
|
Author-email: multivac@sunholo.com
|
|
9
9
|
License: Apache License, Version 2.0
|
|
@@ -158,9 +158,24 @@ def generate_swagger(vac_config, agent_config):
|
|
|
158
158
|
log.warning(f"Failed to find URL stem for {vector_name}/{agent_type} - using {stem} instead")
|
|
159
159
|
|
|
160
160
|
for method, endpoints in agent_config_paths.items():
|
|
161
|
-
if
|
|
162
|
-
|
|
161
|
+
# controls if get requests are protected or not
|
|
162
|
+
do_auth = True
|
|
163
|
+
|
|
164
|
+
# default get: noauth, post: auth
|
|
165
|
+
if method not in ['get', 'post', 'get-auth', 'post-noauth']:
|
|
163
166
|
continue
|
|
167
|
+
|
|
168
|
+
if method == 'get-auth':
|
|
169
|
+
do_auth = True
|
|
170
|
+
method = 'get'
|
|
171
|
+
elif method == 'post-noauth':
|
|
172
|
+
do_auth = False
|
|
173
|
+
method = 'post'
|
|
174
|
+
elif method == 'get':
|
|
175
|
+
do_auth = False
|
|
176
|
+
elif method == 'post':
|
|
177
|
+
do_auth = True # not needed but to be clear whats happening
|
|
178
|
+
|
|
164
179
|
for endpoint_key, endpoint_template in endpoints.items():
|
|
165
180
|
endpoint_template = endpoint_template.strip()
|
|
166
181
|
endpoint_address = endpoint_template.replace("{stem}", stem).replace("{vector_name}", vector_name).strip()
|
|
@@ -173,14 +188,17 @@ def generate_swagger(vac_config, agent_config):
|
|
|
173
188
|
|
|
174
189
|
operation_id = f"{method}_{agent_type}_{endpoint_key}_{vector_name}"
|
|
175
190
|
|
|
191
|
+
security = [{'ApiKeyAuth': []}] if do_auth else [{'None': []}]
|
|
192
|
+
|
|
176
193
|
swagger_template['paths'][endpoint_path][method] = {
|
|
177
194
|
'summary': f"{method.capitalize()} {vector_name}",
|
|
178
195
|
'operationId': operation_id,
|
|
179
196
|
'x-google-backend': {
|
|
180
197
|
'address': endpoint_address,
|
|
181
|
-
'protocol': 'h2'
|
|
198
|
+
'protocol': 'h2',
|
|
199
|
+
'deadline': 180000 # Timeout of 3 minutes (1,800,00 milliseconds)
|
|
182
200
|
},
|
|
183
|
-
'security':
|
|
201
|
+
'security': security,
|
|
184
202
|
'responses': copy.deepcopy(agent_config_paths.get('response', {}).get(endpoint_key, {
|
|
185
203
|
'200': {
|
|
186
204
|
'description': 'Default - A successful response',
|
|
@@ -204,9 +222,26 @@ def generate_swagger(vac_config, agent_config):
|
|
|
204
222
|
stem = f"${{{agent_type.upper()}_BACKEND_URL}}"
|
|
205
223
|
log.warning(f"Failed to find URL stem for {vector_name}/{agent_type} - using {stem} instead")
|
|
206
224
|
|
|
225
|
+
|
|
207
226
|
for method, endpoints in default_agent_config.items():
|
|
208
|
-
if
|
|
227
|
+
# controls if get requests are protected or not
|
|
228
|
+
do_auth = True
|
|
229
|
+
|
|
230
|
+
# default get: noauth, post: auth
|
|
231
|
+
if method not in ['get', 'post', 'get-auth', 'post-noauth']:
|
|
209
232
|
continue
|
|
233
|
+
|
|
234
|
+
if method == 'get-auth':
|
|
235
|
+
do_auth = True
|
|
236
|
+
method = 'get'
|
|
237
|
+
elif method == 'post-noauth':
|
|
238
|
+
do_auth = False
|
|
239
|
+
method = 'post'
|
|
240
|
+
elif method == 'get':
|
|
241
|
+
do_auth = False
|
|
242
|
+
elif method == 'post':
|
|
243
|
+
do_auth = True # not needed but to be clear whats happening
|
|
244
|
+
|
|
210
245
|
for endpoint_key, endpoint_template in endpoints.items():
|
|
211
246
|
endpoint_template = endpoint_template.strip()
|
|
212
247
|
endpoint_address = endpoint_template.replace("{stem}", stem).replace("{vector_name}", vector_name).strip()
|
|
@@ -219,14 +254,17 @@ def generate_swagger(vac_config, agent_config):
|
|
|
219
254
|
|
|
220
255
|
operation_id = f"{method}_{agent_type}_{endpoint_key}_{vector_name}"
|
|
221
256
|
|
|
257
|
+
security = [{'ApiKeyAuth': []}] if do_auth else [{'None': []}]
|
|
258
|
+
|
|
222
259
|
swagger_template['paths'][endpoint_path][method] = {
|
|
223
260
|
'summary': f"{method.capitalize()} {agent_type}",
|
|
224
261
|
'operationId': operation_id,
|
|
225
262
|
'x-google-backend': {
|
|
226
263
|
'address': endpoint_address,
|
|
227
|
-
'protocol': 'h2'
|
|
264
|
+
'protocol': 'h2',
|
|
265
|
+
'deadline': 180000 # Timeout of 3 minutes (1,800,00 milliseconds)
|
|
228
266
|
},
|
|
229
|
-
'security':
|
|
267
|
+
'security': security,
|
|
230
268
|
'responses': copy.deepcopy(default_agent_config.get('response', {}).get(endpoint_key, {
|
|
231
269
|
'200': {
|
|
232
270
|
'description': 'Default - A successful response',
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.66.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.
|
|
6
|
+
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.66.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
|
|
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
|