sunholo 0.92.5__tar.gz → 0.93.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.92.5 → sunholo-0.93.0}/PKG-INFO +2 -2
- {sunholo-0.92.5 → sunholo-0.93.0}/setup.py +1 -1
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/components/llm.py +21 -4
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/database/alloydb_client.py +21 -2
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/genai/process_funcs_cls.py +5 -3
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo.egg-info/PKG-INFO +2 -2
- {sunholo-0.92.5 → sunholo-0.93.0}/LICENSE.txt +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/MANIFEST.in +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/README.md +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/setup.cfg +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/agents/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/agents/chat_history.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/agents/dispatch_to_qa.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/agents/fastapi/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/agents/fastapi/base.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/agents/fastapi/qna_routes.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/agents/flask/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/agents/flask/base.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/agents/flask/qna_routes.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/agents/flask/vac_routes.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/agents/langserve.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/agents/pubsub.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/agents/route.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/agents/special_commands.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/agents/swagger.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/archive/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/archive/archive.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/auth/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/auth/gcloud.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/auth/refresh.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/auth/run.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/azure/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/azure/auth.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/azure/blobs.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/azure/event_grid.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/bots/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/bots/discord.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/bots/github_webhook.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/bots/webapp.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/chunker/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/chunker/azure.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/chunker/doc_handling.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/chunker/encode_metadata.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/chunker/images.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/chunker/loaders.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/chunker/message_data.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/chunker/pdfs.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/chunker/process_chunker_data.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/chunker/publish.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/chunker/pubsub.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/chunker/splitter.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/cli/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/cli/chat_vac.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/cli/cli.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/cli/cli_init.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/cli/configs.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/cli/deploy.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/cli/embedder.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/cli/merge_texts.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/cli/run_proxy.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/cli/sun_rich.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/cli/swagger.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/cli/vertex.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/components/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/components/retriever.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/components/vectorstore.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/custom_logging.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/database/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/database/alloydb.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/database/database.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/database/lancedb.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/database/sql/sb/create_function.sql +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/database/sql/sb/create_function_time.sql +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/database/sql/sb/create_table.sql +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/database/sql/sb/return_sources.sql +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/database/sql/sb/setup.sql +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/database/static_dbs.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/database/uuid.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/discovery_engine/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/discovery_engine/chunker_handler.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/discovery_engine/create_new.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/embedder/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/embedder/embed_chunk.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/excel/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/excel/plugin.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/gcs/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/gcs/add_file.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/gcs/download_folder.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/gcs/download_url.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/gcs/metadata.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/genai/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/genai/init.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/genai/safety.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/invoke/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/invoke/async_class.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/invoke/direct_vac_func.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/invoke/invoke_vac_utils.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/langfuse/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/langfuse/callback.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/langfuse/evals.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/langfuse/prompts.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/llamaindex/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/llamaindex/get_files.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/llamaindex/import_files.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/llamaindex/llamaindex_class.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/llamaindex/user_history.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/lookup/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/lookup/model_lookup.yaml +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/patches/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/patches/langchain/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/patches/langchain/lancedb.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/patches/langchain/vertexai.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/pubsub/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/pubsub/process_pubsub.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/pubsub/pubsub_manager.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/qna/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/qna/parsers.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/qna/retry.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/streaming/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/streaming/content_buffer.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/streaming/langserve.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/streaming/stream_lookup.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/streaming/streaming.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/summarise/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/summarise/summarise.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/terraform/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/terraform/tfvars_editor.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/tools/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/tools/web_browser.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/utils/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/utils/api_key.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/utils/big_context.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/utils/config.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/utils/config_class.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/utils/config_schema.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/utils/gcp.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/utils/gcp_project.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/utils/parsers.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/utils/timedelta.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/utils/user_ids.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/utils/version.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/vertex/__init__.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/vertex/extensions_call.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/vertex/extensions_class.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/vertex/genai_functions.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/vertex/init.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/vertex/memory_tools.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/vertex/safety.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo/vertex/type_dict_to_json.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo.egg-info/SOURCES.txt +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo.egg-info/dependency_links.txt +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo.egg-info/entry_points.txt +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo.egg-info/requires.txt +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/sunholo.egg-info/top_level.txt +0 -0
- {sunholo-0.92.5 → sunholo-0.93.0}/tests/test_chat_history.py +0 -0
- {sunholo-0.92.5 → sunholo-0.93.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.93.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.93.0.tar.gz
|
|
7
7
|
Author: Holosun ApS
|
|
8
8
|
Author-email: multivac@sunholo.com
|
|
9
9
|
License: Apache License, Version 2.0
|
|
@@ -87,18 +87,25 @@ def llm_str_to_llm(llm_str, model=None, vector_name=None, config=None):
|
|
|
87
87
|
elif llm_str == 'genai':
|
|
88
88
|
from langchain_google_genai import ChatGoogleGenerativeAI
|
|
89
89
|
if model is None:
|
|
90
|
-
model = "gemini-pro"
|
|
90
|
+
model = "gemini-1.5-pro"
|
|
91
91
|
log.info(f"No 'model' value in config file - selecting default {model}")
|
|
92
92
|
|
|
93
93
|
return ChatGoogleGenerativeAI(model=model)
|
|
94
94
|
|
|
95
95
|
elif llm_str == 'vertex':
|
|
96
96
|
# Setup for Vertex LLM
|
|
97
|
-
|
|
97
|
+
|
|
98
98
|
if model is None:
|
|
99
|
-
model = '
|
|
99
|
+
model = 'gemini-1.5-pro'
|
|
100
100
|
log.info(f"No 'model' value in config file - selecting default {model}")
|
|
101
|
+
if model.startswith('claude'):
|
|
102
|
+
from langchain_google_vertexai.model_garden import ChatAnthropicVertex
|
|
103
|
+
gcp_config = config.vacConfig("gcp_config")
|
|
104
|
+
return ChatAnthropicVertex(model_name=model,
|
|
105
|
+
project=gcp_config.get('project_id'),
|
|
106
|
+
location=gcp_config.get('location'))
|
|
101
107
|
|
|
108
|
+
from langchain_google_vertexai import VertexAI
|
|
102
109
|
return VertexAI(model_name = model, temperature=0, max_output_tokens=1024)
|
|
103
110
|
|
|
104
111
|
elif llm_str == 'model_garden':
|
|
@@ -116,13 +123,16 @@ def llm_str_to_llm(llm_str, model=None, vector_name=None, config=None):
|
|
|
116
123
|
if model is None:
|
|
117
124
|
model = 'claude-3-5-sonnet-20240620'
|
|
118
125
|
log.info(f"No 'model' value in config file - selecting default {model}")
|
|
126
|
+
|
|
119
127
|
return ChatAnthropic(model_name = model, temperature=0)
|
|
128
|
+
|
|
120
129
|
elif llm_str == 'anthropic-vertex':
|
|
121
130
|
from langchain_google_vertexai.model_garden import ChatAnthropicVertex
|
|
122
131
|
if model is None:
|
|
123
132
|
model = "claude-3-5-sonnet@20240620"
|
|
124
133
|
log.info(f"No 'model' value in config file - selecting default {model}")
|
|
125
134
|
gcp_config = config.vacConfig("gcp_config")
|
|
135
|
+
|
|
126
136
|
return ChatAnthropicVertex(model_name=model,
|
|
127
137
|
project=gcp_config.get('project_id'),
|
|
128
138
|
location=gcp_config.get('location'))
|
|
@@ -171,7 +181,13 @@ def get_llm_chat(vector_name:str=None, model=None, config:ConfigManager=None):
|
|
|
171
181
|
if model is None:
|
|
172
182
|
model = 'gemini-1.0-pro'
|
|
173
183
|
log.info(f"No 'model' value in config file - selecting default {model}")
|
|
174
|
-
|
|
184
|
+
if model.startswith('claude'):
|
|
185
|
+
from langchain_google_vertexai.model_garden import ChatAnthropicVertex
|
|
186
|
+
gcp_config = config.vacConfig("gcp_config")
|
|
187
|
+
return ChatAnthropicVertex(model_name=model,
|
|
188
|
+
project=gcp_config.get('project_id'),
|
|
189
|
+
location=gcp_config.get('location'))
|
|
190
|
+
|
|
175
191
|
return ChatVertexAI(model_name = model, temperature=0, max_output_tokens=1024)
|
|
176
192
|
|
|
177
193
|
elif llm_str == 'gemini':
|
|
@@ -189,6 +205,7 @@ def get_llm_chat(vector_name:str=None, model=None, config:ConfigManager=None):
|
|
|
189
205
|
log.info(f"No 'model' value in config file - selecting default {model}")
|
|
190
206
|
|
|
191
207
|
return ChatAnthropic(model_name = model, temperature=0)
|
|
208
|
+
|
|
192
209
|
elif llm_str == 'azure':
|
|
193
210
|
from langchain_openai import AzureChatOpenAI
|
|
194
211
|
azure_config = config.vacConfig("azure")
|
|
@@ -197,6 +197,7 @@ class AlloyDBClient:
|
|
|
197
197
|
return await self.vectorstore.asimilarity_search(query, filter=source_filter_cmd, k=k)
|
|
198
198
|
|
|
199
199
|
def execute_sql(self, sql_statement):
|
|
200
|
+
log.info(f"Executing sync SQL statement: {sql_statement}")
|
|
200
201
|
if self.engine_type == "pg8000":
|
|
201
202
|
return self._execute_sql_pg8000(sql_statement)
|
|
202
203
|
elif self.engine_type == "langchain":
|
|
@@ -228,6 +229,7 @@ class AlloyDBClient:
|
|
|
228
229
|
return result
|
|
229
230
|
|
|
230
231
|
async def execute_sql_async(self, sql_statement):
|
|
232
|
+
log.info(f"Executing async SQL statement: {sql_statement}")
|
|
231
233
|
if self.engine_type == "pg8000":
|
|
232
234
|
result = await self._execute_sql_async_pg8000(sql_statement)
|
|
233
235
|
elif self.engine_type == "langchain":
|
|
@@ -273,13 +275,30 @@ class AlloyDBClient:
|
|
|
273
275
|
raise ValueError("The 'source' parameter must be a single string, not a list of strings or other iterable.")
|
|
274
276
|
|
|
275
277
|
table_name = f"{vector_name}_docstore"
|
|
276
|
-
doc_id = generate_uuid_from_object_id(source)
|
|
278
|
+
#doc_id = generate_uuid_from_object_id(source)
|
|
279
|
+
|
|
280
|
+
query = f"""
|
|
281
|
+
SELECT page_content, source, langchain_metadata, images_gsurls, doc_id::text as doc_id
|
|
282
|
+
FROM "{table_name}"
|
|
283
|
+
WHERE source = '{source}'
|
|
284
|
+
LIMIT 500;
|
|
285
|
+
"""
|
|
286
|
+
|
|
287
|
+
return query
|
|
288
|
+
|
|
289
|
+
def _get_document_via_docid(self, source:str, vector_name:str, doc_id: str):
|
|
290
|
+
if not isinstance(source, str):
|
|
291
|
+
raise ValueError("The 'source' parameter must be a single string, not a list of strings or other iterable.")
|
|
292
|
+
|
|
293
|
+
table_name = f"{vector_name}_docstore"
|
|
294
|
+
if not doc_id:
|
|
295
|
+
doc_id = generate_uuid_from_object_id(source)
|
|
277
296
|
|
|
278
297
|
query = f"""
|
|
279
298
|
SELECT page_content, source, langchain_metadata, images_gsurls, doc_id::text as doc_id
|
|
280
299
|
FROM "{table_name}"
|
|
281
300
|
WHERE doc_id = '{doc_id}'
|
|
282
|
-
LIMIT
|
|
301
|
+
LIMIT 50;
|
|
283
302
|
"""
|
|
284
303
|
|
|
285
304
|
return query
|
|
@@ -255,7 +255,9 @@ class GenAIFunctionProcessor:
|
|
|
255
255
|
if not isinstance(fn_exec, genai.protos.FunctionDeclaration):
|
|
256
256
|
# Execute the function with the provided parameters
|
|
257
257
|
result = fn_exec(**params_obj)
|
|
258
|
-
log.info(f"Got result from {function_name}: {result}")
|
|
258
|
+
log.info(f"Got result from {function_name}: {result} of type: {type(result)}")
|
|
259
|
+
if not isinstance(result, str):
|
|
260
|
+
log.warning(f"Tool functions should return strings: {function_name} returned type: {type(result)}")
|
|
259
261
|
else:
|
|
260
262
|
fn_result = type(fn).to_dict(fn)
|
|
261
263
|
result = fn_result.get("result")
|
|
@@ -448,7 +450,7 @@ class GenAIFunctionProcessor:
|
|
|
448
450
|
callback.on_llm_new_token(token=token)
|
|
449
451
|
|
|
450
452
|
try:
|
|
451
|
-
|
|
453
|
+
# Convert MapComposite to a standard Python dictionary
|
|
452
454
|
if isinstance(fn_result, proto.marshal.collections.maps.MapComposite):
|
|
453
455
|
fn_result = dict(fn_result)
|
|
454
456
|
fn_result_json = json.loads(fn_result)
|
|
@@ -471,7 +473,7 @@ class GenAIFunctionProcessor:
|
|
|
471
473
|
log.warning(f"{fn_result_json} did not work for decide_to_go_on")
|
|
472
474
|
token = f"Error calling decide_to_go_on with {fn_result_json}\n"
|
|
473
475
|
else:
|
|
474
|
-
token = f"--- {
|
|
476
|
+
token = f"--- {fn}() result --- \n"
|
|
475
477
|
if fn_result_json:
|
|
476
478
|
if fn_result_json.get('stdout'):
|
|
477
479
|
text = fn_result_json.get('stdout').encode('utf-8').decode('unicode_escape')
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.93.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.93.0.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|