sunholo 0.71.23__py3-none-any.whl → 0.71.25__py3-none-any.whl

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.
@@ -510,11 +510,11 @@ def prep_vac(request, vector_name):
510
510
  data["image_uri"] = image_uri
511
511
  data["mime"] = mime_type
512
512
  except Exception as e:
513
- return jsonify({'error': str(e), 'traceback': traceback.format_exc()}), 500
513
+ log.error(f"Error uploading file: {str(e)}")
514
514
  else:
515
- return jsonify({"error": "No file selected"}), 400
515
+ log.info("No file selected to upload to GCS")
516
516
  else:
517
- return jsonify({"error": "Unsupported content type"}), 400
517
+ log.warning(f"Error uploading file: Unsupported content type {request.content_type}")
518
518
 
519
519
  log.info(f"vac/{vector_name} got data: {data}")
520
520
 
sunholo/cli/chat_vac.py CHANGED
@@ -50,10 +50,14 @@ def handle_file_upload(file, vector_name):
50
50
  if not Path(file).is_file():
51
51
  return None
52
52
 
53
+ agent_name = load_config_key("agent", vector_name, kind="vacConfig")
54
+ # vertex can't handle directories
55
+ bucket_filepath = f"{vector_name}/uploads/{os.path.basename(file)}" if agent_name != "vertex-genai" else os.path.basename(file)
56
+
53
57
  file_url = add_file_to_gcs(file,
54
58
  vector_name=vector_name,
55
59
  metadata={"type": "cli"},
56
- bucket_filepath=f"{vector_name}/uploads/{os.path.basename(file)}")
60
+ bucket_filepath=bucket_filepath)
57
61
 
58
62
  return file_url
59
63
 
@@ -61,6 +65,7 @@ def stream_chat_session(service_url, service_name, stream=True):
61
65
 
62
66
  user_id = generate_user_id()
63
67
  chat_history = []
68
+ agent_name = load_config_key("agent", service_name, kind="vacConfig")
64
69
  while True:
65
70
  session_id = str(uuid.uuid4())
66
71
  user_input = Prompt.ask("[bold cyan]You[/bold cyan]")
@@ -136,7 +141,7 @@ def stream_chat_session(service_url, service_name, stream=True):
136
141
  chat_history=chat_history,
137
142
  generate_f_output=lambda x: x, # Replace with actual processing function
138
143
  stream_wait_time=0.5,
139
- stream_timeout=120,
144
+ stream_timeout=120 if agent_name != "vertex-genai" else 1200,
140
145
  message_author=user_id,
141
146
  #TODO: populate these
142
147
  image_url=file_reply,
sunholo/gcs/add_file.py CHANGED
@@ -85,7 +85,11 @@ def resolve_bucket(vector_name):
85
85
 
86
86
  return bucket_name
87
87
 
88
- def add_file_to_gcs(filename: str, vector_name:str, bucket_name: str=None, metadata:dict=None, bucket_filepath:str=None):
88
+ def add_file_to_gcs(filename: str,
89
+ vector_name:str,
90
+ bucket_name: str=None,
91
+ metadata:dict=None,
92
+ bucket_filepath:str=None):
89
93
 
90
94
  if not storage:
91
95
  return None
@@ -117,7 +121,7 @@ def add_file_to_gcs(filename: str, vector_name:str, bucket_name: str=None, metad
117
121
  blob = bucket.blob(bucket_filepath)
118
122
  blob_prev = bucket.blob(bucket_filepath_prev)
119
123
 
120
- if blob.exists():
124
+ if blob.exists() and not os.getenv('EXTENSIONS_BUCKET'):
121
125
  log.info(f"File {filename} already exists in gs://{bucket_name}/{bucket_filepath}")
122
126
  return f"gs://{bucket_name}/{bucket_filepath}"
123
127
 
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.71.23
3
+ Version: 0.71.25
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.71.23.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.71.25.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -13,7 +13,7 @@ sunholo/agents/fastapi/base.py,sha256=clk76cHbUAvU0OYJrRfCWX_5f0ACbhDsIzYBhI3wyo
13
13
  sunholo/agents/fastapi/qna_routes.py,sha256=DgK4Btu5XriOC1JaRQ4G_nWEjJfnQ0J5pyLanF6eF1g,3857
14
14
  sunholo/agents/flask/__init__.py,sha256=uqfHNw2Ru3EJ4dJEcbp86h_lkquBQPMxZbjhV_xe3rs,72
15
15
  sunholo/agents/flask/base.py,sha256=FgSaCODyoTtlstJtsqlLPScdgRUtv9_plxftdzHdVFo,809
16
- sunholo/agents/flask/qna_routes.py,sha256=TUsVn1MGcJ-8JFET5aR9mjGPd4z6K__SjTN8JOOsiTU,21814
16
+ sunholo/agents/flask/qna_routes.py,sha256=K7blcozShXIN3qvXSp3fxSa6qXsEA0z2-cM7SwMcRlU,21805
17
17
  sunholo/agents/flask/vac_routes.py,sha256=l2-w7x437F0Uu3QvwNueEYPtnKuIee6bHJ7LUMt_tkY,19520
18
18
  sunholo/archive/__init__.py,sha256=qNHWm5rGPVOlxZBZCpA1wTYPbalizRT7f8X4rs2t290,31
19
19
  sunholo/archive/archive.py,sha256=C-UhG5x-XtZ8VheQp92IYJqgD0V3NFQjniqlit94t18,1197
@@ -33,7 +33,7 @@ sunholo/chunker/pdfs.py,sha256=daCZ1xjn1YvxlifIyxskWNpLJLe-Q9D_Jq12MWx3tZo,2473
33
33
  sunholo/chunker/publish.py,sha256=tiO615A2uo_ZjzdFDzNH1PL_1kJeLMUQwLJ4w67rNIc,2932
34
34
  sunholo/chunker/splitter.py,sha256=jtGfi_ZdhVdyFhfw0e4ynEpmwIyrxQtV63OituYWy6o,6729
35
35
  sunholo/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- sunholo/cli/chat_vac.py,sha256=8MEwhFafPugGWf9mzn7cFNVtalb31eaRuJJRqZOjynU,20379
36
+ sunholo/cli/chat_vac.py,sha256=wvpFF2MRLVeomLcd31TK6tX61u-pL5nGEtMSE33wAK8,20705
37
37
  sunholo/cli/cli.py,sha256=8e00HBN6eYIUJ8cnvKteBJNn7aZPRMk4b82jwcGg9D4,3741
38
38
  sunholo/cli/cli_init.py,sha256=JMZ9AX2cPDZ-_mv3adiv2ToFVNyRPtjk9Biszl1kiR0,2358
39
39
  sunholo/cli/configs.py,sha256=QUM9DvKOdZmEQRM5uI3Nh887T0YDiSMr7O240zTLqws,4546
@@ -67,7 +67,7 @@ sunholo/discovery_engine/discovery_engine_client.py,sha256=YYsFeaW41l8jmWCruQnYx
67
67
  sunholo/embedder/__init__.py,sha256=sI4N_CqgEVcrMDxXgxKp1FsfsB4FpjoXgPGkl4N_u4I,44
68
68
  sunholo/embedder/embed_chunk.py,sha256=d_dIzeNF630Q0Ar-u1hxos60s0tLIImJccAvuo_LTIw,6814
69
69
  sunholo/gcs/__init__.py,sha256=DtVw_AZwQn-IguR5BJuIi2XJeF_FQXizhJikzRNrXiE,50
70
- sunholo/gcs/add_file.py,sha256=HefZjddhzguejkmFAKK7rWiY7nuh60p3rEF-JQ_wCqM,6801
70
+ sunholo/gcs/add_file.py,sha256=Nj75z1MH9fp3fvwd1BVLcHNFm0CVCR2uS4uByThos-o,6924
71
71
  sunholo/gcs/download_url.py,sha256=8XSEf8byfubqs5CMQeF_tn9wxqwUTq3n9mo5mLNIUTA,4801
72
72
  sunholo/gcs/metadata.py,sha256=C9sMPsHsq1ETetdQCqB3EBs3Kws8b8QHS9L7ei_v5aw,891
73
73
  sunholo/langfuse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -115,9 +115,9 @@ sunholo/vertex/extensions_class.py,sha256=E0ix4YqFQG9EglKeTmp2-zwuZUA2crileGahAh
115
115
  sunholo/vertex/init.py,sha256=-w7b9GKsyJnAJpYHYz6_zBUtmeJeLXlEkgOfwoe4DEI,2715
116
116
  sunholo/vertex/memory_tools.py,sha256=FLTbNX_YbpxxUxZHAsXEihlUgLELfLOfxsdEkwDm_GI,6546
117
117
  sunholo/vertex/safety.py,sha256=S9PgQT1O_BQAkcqauWncRJaydiP8Q_Jzmu9gxYfy1VA,2482
118
- sunholo-0.71.23.dist-info/LICENSE.txt,sha256=SdE3QjnD3GEmqqg9EX3TM9f7WmtOzqS1KJve8rhbYmU,11345
119
- sunholo-0.71.23.dist-info/METADATA,sha256=t4yUfSvmxXbtNGkhxpyeSsE76rvilLaTDjl6B_kbmkE,6767
120
- sunholo-0.71.23.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
121
- sunholo-0.71.23.dist-info/entry_points.txt,sha256=bZuN5AIHingMPt4Ro1b_T-FnQvZ3teBes-3OyO0asl4,49
122
- sunholo-0.71.23.dist-info/top_level.txt,sha256=wt5tadn5--5JrZsjJz2LceoUvcrIvxjHJe-RxuudxAk,8
123
- sunholo-0.71.23.dist-info/RECORD,,
118
+ sunholo-0.71.25.dist-info/LICENSE.txt,sha256=SdE3QjnD3GEmqqg9EX3TM9f7WmtOzqS1KJve8rhbYmU,11345
119
+ sunholo-0.71.25.dist-info/METADATA,sha256=jeT1MeC4ye3x0FA3iqWvsl31pKOP_wLCqlawDyB0TjM,6767
120
+ sunholo-0.71.25.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
121
+ sunholo-0.71.25.dist-info/entry_points.txt,sha256=bZuN5AIHingMPt4Ro1b_T-FnQvZ3teBes-3OyO0asl4,49
122
+ sunholo-0.71.25.dist-info/top_level.txt,sha256=wt5tadn5--5JrZsjJz2LceoUvcrIvxjHJe-RxuudxAk,8
123
+ sunholo-0.71.25.dist-info/RECORD,,