sunholo 0.103.2__tar.gz → 0.104.0__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.103.2 → sunholo-0.104.0}/PKG-INFO +4 -2
- {sunholo-0.103.2 → sunholo-0.104.0}/setup.py +3 -1
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/dispatch_to_qa.py +5 -3
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/flask/base.py +13 -1
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/flask/vac_routes.py +5 -3
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/genai/process_funcs_cls.py +3 -1
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/langfuse/prompts.py +1 -1
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo.egg-info/PKG-INFO +4 -2
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo.egg-info/requires.txt +2 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/LICENSE.txt +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/MANIFEST.in +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/README.md +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/setup.cfg +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/chat_history.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/fastapi/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/fastapi/base.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/fastapi/qna_routes.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/flask/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/flask/qna_routes.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/langserve.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/pubsub.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/route.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/special_commands.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/agents/swagger.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/archive/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/archive/archive.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/auth/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/auth/gcloud.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/auth/refresh.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/auth/run.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/azure/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/azure/auth.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/azure/blobs.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/azure/event_grid.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/bots/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/bots/discord.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/bots/github_webhook.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/bots/webapp.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/azure.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/doc_handling.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/encode_metadata.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/images.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/loaders.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/message_data.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/pdfs.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/process_chunker_data.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/publish.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/pubsub.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/chunker/splitter.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/chat_vac.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/cli.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/cli_init.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/configs.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/deploy.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/embedder.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/merge_texts.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/run_proxy.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/sun_rich.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/swagger.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/cli/vertex.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/components/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/components/llm.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/components/retriever.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/components/vectorstore.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/custom_logging.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/alloydb.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/alloydb_client.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/database.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/lancedb.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/sql/sb/create_function.sql +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/sql/sb/create_function_time.sql +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/sql/sb/create_table.sql +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/sql/sb/return_sources.sql +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/sql/sb/setup.sql +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/static_dbs.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/database/uuid.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/discovery_engine/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/discovery_engine/chunker_handler.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/discovery_engine/create_new.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/embedder/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/embedder/embed_chunk.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/excel/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/excel/plugin.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/gcs/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/gcs/add_file.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/gcs/download_folder.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/gcs/download_url.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/gcs/extract_and_sign.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/gcs/metadata.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/genai/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/genai/images.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/genai/init.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/genai/safety.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/invoke/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/invoke/async_class.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/invoke/direct_vac_func.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/invoke/invoke_vac_utils.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/langfuse/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/langfuse/callback.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/langfuse/evals.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/llamaindex/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/llamaindex/get_files.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/llamaindex/import_files.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/llamaindex/llamaindex_class.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/llamaindex/user_history.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/lookup/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/lookup/model_lookup.yaml +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/patches/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/patches/langchain/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/patches/langchain/lancedb.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/patches/langchain/vertexai.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/pubsub/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/pubsub/process_pubsub.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/pubsub/pubsub_manager.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/qna/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/qna/parsers.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/qna/retry.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/streaming/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/streaming/content_buffer.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/streaming/langserve.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/streaming/stream_lookup.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/streaming/streaming.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/summarise/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/summarise/summarise.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/terraform/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/terraform/tfvars_editor.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/tools/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/tools/web_browser.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/api_key.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/big_context.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/config.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/config_class.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/config_schema.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/gcp.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/gcp_project.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/mime.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/parsers.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/timedelta.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/user_ids.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/utils/version.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/__init__.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/extensions_call.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/extensions_class.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/genai_functions.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/init.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/memory_tools.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/safety.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo/vertex/type_dict_to_json.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo.egg-info/SOURCES.txt +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo.egg-info/dependency_links.txt +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo.egg-info/entry_points.txt +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/sunholo.egg-info/top_level.txt +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/tests/test_async.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/tests/test_chat_history.py +0 -0
- {sunholo-0.103.2 → sunholo-0.104.0}/tests/test_config.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.104.0
|
|
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.104.0.tar.gz
|
|
7
7
|
Author: Holosun ApS
|
|
8
8
|
Author-email: multivac@sunholo.com
|
|
9
9
|
License: Apache License, Version 2.0
|
|
@@ -30,6 +30,7 @@ Requires-Dist: azure-identity; extra == "all"
|
|
|
30
30
|
Requires-Dist: azure-storage-blob; extra == "all"
|
|
31
31
|
Requires-Dist: fastapi; extra == "all"
|
|
32
32
|
Requires-Dist: flask; extra == "all"
|
|
33
|
+
Requires-Dist: flask-cors; extra == "all"
|
|
33
34
|
Requires-Dist: google-auth; extra == "all"
|
|
34
35
|
Requires-Dist: google-auth-httplib2; extra == "all"
|
|
35
36
|
Requires-Dist: google-auth-oauthlib; extra == "all"
|
|
@@ -129,6 +130,7 @@ Requires-Dist: playwright; extra == "tools"
|
|
|
129
130
|
Provides-Extra: http
|
|
130
131
|
Requires-Dist: fastapi; extra == "http"
|
|
131
132
|
Requires-Dist: flask; extra == "http"
|
|
133
|
+
Requires-Dist: flask-cors; extra == "http"
|
|
132
134
|
Requires-Dist: gunicorn; extra == "http"
|
|
133
135
|
Requires-Dist: httpcore; extra == "http"
|
|
134
136
|
Requires-Dist: httpx; extra == "http"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from setuptools import setup, find_packages
|
|
2
2
|
|
|
3
|
-
version = '0.
|
|
3
|
+
version = '0.104.0'
|
|
4
4
|
|
|
5
5
|
setup(
|
|
6
6
|
name='sunholo',
|
|
@@ -42,6 +42,7 @@ setup(
|
|
|
42
42
|
"azure-storage-blob",
|
|
43
43
|
"fastapi",
|
|
44
44
|
"flask",
|
|
45
|
+
"flask-cors",
|
|
45
46
|
"google-auth",
|
|
46
47
|
"google-auth-httplib2",
|
|
47
48
|
"google-auth-oauthlib",
|
|
@@ -151,6 +152,7 @@ setup(
|
|
|
151
152
|
'http': [
|
|
152
153
|
"fastapi",
|
|
153
154
|
"flask",
|
|
155
|
+
"flask-cors",
|
|
154
156
|
"gunicorn",
|
|
155
157
|
"httpcore",
|
|
156
158
|
"httpx",
|
|
@@ -19,6 +19,7 @@ import aiohttp
|
|
|
19
19
|
from .langserve import prepare_request_data
|
|
20
20
|
import traceback
|
|
21
21
|
from .route import route_endpoint
|
|
22
|
+
import os
|
|
22
23
|
|
|
23
24
|
try:
|
|
24
25
|
from langfuse import Langfuse
|
|
@@ -86,7 +87,8 @@ def prep_request_payload(user_input, chat_history, vector_name, stream, **kwargs
|
|
|
86
87
|
if 'vector_name' not in qna_data:
|
|
87
88
|
qna_data['vector_name'] = vector_name
|
|
88
89
|
|
|
89
|
-
|
|
90
|
+
if not kwargs.get('trace_id'):
|
|
91
|
+
qna_data['trace_id'] = add_langfuse_trace(qna_endpoint)
|
|
90
92
|
|
|
91
93
|
return qna_endpoint, qna_data
|
|
92
94
|
|
|
@@ -94,9 +96,9 @@ def add_langfuse_trace(qna_endpoint):
|
|
|
94
96
|
if not langfuse:
|
|
95
97
|
return None
|
|
96
98
|
|
|
97
|
-
trace = langfuse.trace(name = f'
|
|
99
|
+
trace = langfuse.trace(name = f'dispatch/{os.path.basename(qna_endpoint)}')
|
|
98
100
|
|
|
99
|
-
log.info('Adding langfuse trace {trace.id}')
|
|
101
|
+
log.info(f'Adding langfuse trace {trace.id}')
|
|
100
102
|
|
|
101
103
|
return trace.id
|
|
102
104
|
|
|
@@ -13,8 +13,20 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
def create_app(name):
|
|
15
15
|
from flask import Flask
|
|
16
|
-
|
|
16
|
+
from flask_cors import CORS
|
|
17
|
+
|
|
17
18
|
app = Flask(name)
|
|
19
|
+
|
|
20
|
+
CORS(app,
|
|
21
|
+
origins=["https://*.sunholo.com", "http://*.sunholo.com"], # Allow all subdomains of sunholo.com
|
|
22
|
+
methods=["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"], # Allow all necessary HTTP methods
|
|
23
|
+
allow_headers=["DNT", "User-Agent", "X-Requested-With", "If-Modified-Since",
|
|
24
|
+
"Cache-Control", "Content-Type", "Range", "Authorization", "x-api-key"], # Add custom headers
|
|
25
|
+
expose_headers=["Content-Length", "Content-Range"], # Optional: headers that are exposed to clients
|
|
26
|
+
supports_credentials=True,
|
|
27
|
+
max_age=1728000 # Set max age of preflight request caching (in seconds)
|
|
28
|
+
)
|
|
29
|
+
|
|
18
30
|
app.config['TRAP_HTTP_EXCEPTIONS'] = True
|
|
19
31
|
app.config['PROPAGATE_EXCEPTIONS'] = True
|
|
20
32
|
|
|
@@ -357,7 +357,7 @@ if __name__ == "__main__":
|
|
|
357
357
|
|
|
358
358
|
try:
|
|
359
359
|
if span:
|
|
360
|
-
|
|
360
|
+
gen = span.generation(
|
|
361
361
|
name="vac_interpreter",
|
|
362
362
|
metadata=vac_config.configs_by_kind,
|
|
363
363
|
input = all_input,
|
|
@@ -371,7 +371,7 @@ if __name__ == "__main__":
|
|
|
371
371
|
**all_input["kwargs"]
|
|
372
372
|
)
|
|
373
373
|
if span:
|
|
374
|
-
|
|
374
|
+
gen.end(output=bot_output)
|
|
375
375
|
# {"answer": "The answer", "source_documents": [{"page_content": "The page content", "metadata": "The metadata"}]}
|
|
376
376
|
bot_output = parse_output(bot_output)
|
|
377
377
|
if trace:
|
|
@@ -383,7 +383,9 @@ if __name__ == "__main__":
|
|
|
383
383
|
|
|
384
384
|
except Exception as err:
|
|
385
385
|
bot_output = {'answer': f'QNA_ERROR: An error occurred while processing /vac/{vector_name}: {str(err)} traceback: {traceback.format_exc()}'}
|
|
386
|
-
|
|
386
|
+
if span:
|
|
387
|
+
gen.end(output=bot_output)
|
|
388
|
+
|
|
387
389
|
if trace:
|
|
388
390
|
span.end(output=jsonify(bot_output))
|
|
389
391
|
trace.update(output=jsonify(bot_output))
|
|
@@ -266,7 +266,9 @@ class GenAIFunctionProcessor:
|
|
|
266
266
|
params_obj = {key: val for key, val in fn.args.items()}
|
|
267
267
|
|
|
268
268
|
params = ', '.join(f'{key}={val}' for key, val in params_obj.items())
|
|
269
|
-
log.info(f"Executing {function_name} with params {params}")
|
|
269
|
+
log.info(f"Executing {function_name} with params {params} (Total Characters: {len(params)})")
|
|
270
|
+
if len(params)>8000:
|
|
271
|
+
log.warning(f"Total parameters are over 8000 characters - it may not work properly: {params[:10000]}....[{len(params)}]")
|
|
270
272
|
|
|
271
273
|
# Check if the function is in our dictionary of available functions
|
|
272
274
|
if function_name in self.funcs:
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.104.0
|
|
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.104.0.tar.gz
|
|
7
7
|
Author: Holosun ApS
|
|
8
8
|
Author-email: multivac@sunholo.com
|
|
9
9
|
License: Apache License, Version 2.0
|
|
@@ -30,6 +30,7 @@ Requires-Dist: azure-identity; extra == "all"
|
|
|
30
30
|
Requires-Dist: azure-storage-blob; extra == "all"
|
|
31
31
|
Requires-Dist: fastapi; extra == "all"
|
|
32
32
|
Requires-Dist: flask; extra == "all"
|
|
33
|
+
Requires-Dist: flask-cors; extra == "all"
|
|
33
34
|
Requires-Dist: google-auth; extra == "all"
|
|
34
35
|
Requires-Dist: google-auth-httplib2; extra == "all"
|
|
35
36
|
Requires-Dist: google-auth-oauthlib; extra == "all"
|
|
@@ -129,6 +130,7 @@ Requires-Dist: playwright; extra == "tools"
|
|
|
129
130
|
Provides-Extra: http
|
|
130
131
|
Requires-Dist: fastapi; extra == "http"
|
|
131
132
|
Requires-Dist: flask; extra == "http"
|
|
133
|
+
Requires-Dist: flask-cors; extra == "http"
|
|
132
134
|
Requires-Dist: gunicorn; extra == "http"
|
|
133
135
|
Requires-Dist: httpcore; extra == "http"
|
|
134
136
|
Requires-Dist: httpx; extra == "http"
|
|
@@ -11,6 +11,7 @@ azure-identity
|
|
|
11
11
|
azure-storage-blob
|
|
12
12
|
fastapi
|
|
13
13
|
flask
|
|
14
|
+
flask-cors
|
|
14
15
|
google-auth
|
|
15
16
|
google-auth-httplib2
|
|
16
17
|
google-auth-oauthlib
|
|
@@ -107,6 +108,7 @@ pillow
|
|
|
107
108
|
[http]
|
|
108
109
|
fastapi
|
|
109
110
|
flask
|
|
111
|
+
flask-cors
|
|
110
112
|
gunicorn
|
|
111
113
|
httpcore
|
|
112
114
|
httpx
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|