sunholo 0.57.0__tar.gz → 0.57.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.57.0 → sunholo-0.57.2}/PKG-INFO +2 -2
- {sunholo-0.57.0 → sunholo-0.57.2}/setup.py +1 -1
- sunholo-0.57.2/sunholo/__init__.py +40 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/agents/flask/qna_routes.py +12 -5
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/components/vectorstore.py +5 -1
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/streaming/content_buffer.py +1 -4
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/streaming/streaming.py +2 -2
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo.egg-info/PKG-INFO +2 -2
- sunholo-0.57.0/sunholo/patches/langchain/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/LICENSE.txt +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/MANIFEST.in +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/README.md +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/setup.cfg +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/agents/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/agents/chat_history.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/agents/dispatch_to_qa.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/agents/fastapi/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/agents/fastapi/base.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/agents/fastapi/qna_routes.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/agents/flask/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/agents/flask/base.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/agents/langserve.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/agents/pubsub.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/agents/route.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/agents/special_commands.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/agents/test_chat_history.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/archive/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/archive/archive.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/auth/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/auth/run.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/bots/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/bots/discord.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/bots/webapp.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/chunker/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/chunker/doc_handling.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/chunker/images.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/chunker/loaders.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/chunker/message_data.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/chunker/pdfs.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/chunker/publish.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/chunker/splitter.py +0 -0
- {sunholo-0.57.0/sunholo → sunholo-0.57.2/sunholo/cli}/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/cli/cli.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/components/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/components/llm.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/components/prompt.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/components/retriever.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/database/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/database/alloydb.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/database/database.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/database/lancedb.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/database/sql/sb/create_function.sql +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/database/sql/sb/create_function_time.sql +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/database/sql/sb/create_table.sql +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/database/sql/sb/return_sources.sql +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/database/sql/sb/setup.sql +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/database/static_dbs.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/database/uuid.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/embedder/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/embedder/embed_chunk.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/gcs/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/gcs/add_file.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/gcs/download_url.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/gcs/metadata.py +0 -0
- {sunholo-0.57.0/sunholo/cli → sunholo-0.57.2/sunholo/langfuse}/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/langfuse/callback.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/langfuse/prompts.py +0 -0
- {sunholo-0.57.0/sunholo/langfuse → sunholo-0.57.2/sunholo/llamaindex}/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/llamaindex/generate.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/llamaindex/import_files.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/logging.py +0 -0
- {sunholo-0.57.0/sunholo/llamaindex → sunholo-0.57.2/sunholo/lookup}/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/lookup/model_lookup.yaml +0 -0
- {sunholo-0.57.0/sunholo/lookup → sunholo-0.57.2/sunholo/patches}/__init__.py +0 -0
- {sunholo-0.57.0/sunholo/patches → sunholo-0.57.2/sunholo/patches/langchain}/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/patches/langchain/lancedb.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/patches/langchain/vertexai.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/pubsub/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/pubsub/process_pubsub.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/pubsub/pubsub_manager.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/qna/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/qna/parsers.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/qna/retry.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/streaming/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/streaming/langserve.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/summarise/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/summarise/summarise.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/utils/__init__.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/utils/config.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/utils/gcp.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo/utils/parsers.py +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo.egg-info/SOURCES.txt +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo.egg-info/dependency_links.txt +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo.egg-info/entry_points.txt +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo.egg-info/requires.txt +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/sunholo.egg-info/top_level.txt +0 -0
- {sunholo-0.57.0 → sunholo-0.57.2}/test/test_dispatch_to_qa.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.57.
|
|
3
|
+
Version: 0.57.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.57.
|
|
6
|
+
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.57.2.tar.gz
|
|
7
7
|
Author: Holosun ApS
|
|
8
8
|
Author-email: multivac@sunholo.com
|
|
9
9
|
License: Apache License, Version 2.0
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from . import agents
|
|
2
|
+
from . import archive
|
|
3
|
+
from . import auth
|
|
4
|
+
from . import bots
|
|
5
|
+
from . import chunker
|
|
6
|
+
from . import cli
|
|
7
|
+
from . import components
|
|
8
|
+
from . import database
|
|
9
|
+
from . import embedder
|
|
10
|
+
from . import gcs
|
|
11
|
+
from . import langfuse
|
|
12
|
+
from . import llamaindex
|
|
13
|
+
from . import lookup
|
|
14
|
+
from . import patches
|
|
15
|
+
from . import pubsub
|
|
16
|
+
from . import qna
|
|
17
|
+
from . import streaming
|
|
18
|
+
from . import utils
|
|
19
|
+
import logging
|
|
20
|
+
|
|
21
|
+
__all__ = ['agents',
|
|
22
|
+
'archive',
|
|
23
|
+
'auth',
|
|
24
|
+
'bots',
|
|
25
|
+
'chunker',
|
|
26
|
+
'cli',
|
|
27
|
+
'components',
|
|
28
|
+
'database',
|
|
29
|
+
'embedder',
|
|
30
|
+
'gcs',
|
|
31
|
+
'langfuse',
|
|
32
|
+
'llamaindex',
|
|
33
|
+
'lookup',
|
|
34
|
+
'patches',
|
|
35
|
+
'pubsub',
|
|
36
|
+
'qna',
|
|
37
|
+
'streaming',
|
|
38
|
+
'utils',
|
|
39
|
+
'logging']
|
|
40
|
+
|
|
@@ -29,9 +29,16 @@ try:
|
|
|
29
29
|
except ImportError:
|
|
30
30
|
print("No flask installed for agents.flask.register_qna_routes, install via `pip install sunholo[http]`")
|
|
31
31
|
|
|
32
|
+
try:
|
|
33
|
+
from langfuse.decorators import langfuse_context, observe
|
|
34
|
+
except ImportError as err:
|
|
35
|
+
print(f"No langfuse installed for agents.flask.register_qna_routes, install via `pip install sunholo[http]` - {str(err)}")
|
|
36
|
+
|
|
37
|
+
|
|
32
38
|
def register_qna_routes(app, stream_interpreter, vac_interpreter):
|
|
33
39
|
|
|
34
40
|
@app.route('/vac/streaming/<vector_name>', methods=['POST'])
|
|
41
|
+
@observe()
|
|
35
42
|
def stream_qa(vector_name):
|
|
36
43
|
prep = prep_vac(request, vector_name)
|
|
37
44
|
log.debug(f"Processing prep: {prep}")
|
|
@@ -54,9 +61,9 @@ def register_qna_routes(app, stream_interpreter, vac_interpreter):
|
|
|
54
61
|
model=vac_config.get("model") or vac_config.get("llm")
|
|
55
62
|
)
|
|
56
63
|
|
|
64
|
+
@observe()
|
|
57
65
|
def generate_response_content():
|
|
58
66
|
|
|
59
|
-
chunks = ""
|
|
60
67
|
for chunk in start_streaming_chat(question=all_input["user_input"],
|
|
61
68
|
vector_name=vector_name,
|
|
62
69
|
qna_func=stream_interpreter,
|
|
@@ -82,9 +89,6 @@ def register_qna_routes(app, stream_interpreter, vac_interpreter):
|
|
|
82
89
|
|
|
83
90
|
else:
|
|
84
91
|
# Otherwise, we yield the plain text chunks as they come in.
|
|
85
|
-
if chunk:
|
|
86
|
-
chunks += chunk
|
|
87
|
-
|
|
88
92
|
yield chunk
|
|
89
93
|
|
|
90
94
|
# Here, the generator function will handle streaming the content to the client.
|
|
@@ -100,6 +104,7 @@ def register_qna_routes(app, stream_interpreter, vac_interpreter):
|
|
|
100
104
|
return response
|
|
101
105
|
|
|
102
106
|
@app.route('/vac/<vector_name>', methods=['POST'])
|
|
107
|
+
@observe()
|
|
103
108
|
def process_qna(vector_name):
|
|
104
109
|
prep = prep_vac(request, vector_name)
|
|
105
110
|
log.debug(f"Processing prep: {prep}")
|
|
@@ -177,7 +182,9 @@ def create_langfuse_trace(request, vector_name):
|
|
|
177
182
|
)
|
|
178
183
|
|
|
179
184
|
def prep_vac(request, vector_name):
|
|
180
|
-
trace = create_langfuse_trace(request, vector_name)
|
|
185
|
+
#trace = create_langfuse_trace(request, vector_name)
|
|
186
|
+
trace = None
|
|
187
|
+
span = None
|
|
181
188
|
data = request.get_json()
|
|
182
189
|
log.info(f"vac/{vector_name} got data: {data}")
|
|
183
190
|
config, _ = load_config("config/llm_config.yaml")
|
|
@@ -94,7 +94,11 @@ def pick_vectorstore(vs_str, vector_name, embeddings):
|
|
|
94
94
|
log.error(f"Could not locate LANCEDB_BUCKET environment variable for {vector_name}")
|
|
95
95
|
log.info(f"LANCEDB_BUCKET environment variable found for {vector_name} - {LANCEDB_BUCKET}")
|
|
96
96
|
|
|
97
|
-
|
|
97
|
+
try:
|
|
98
|
+
log.info(f"Attempting LanceDB connection to {vector_name} for {LANCEDB_BUCKET}")
|
|
99
|
+
db = lancedb.connect(LANCEDB_BUCKET)
|
|
100
|
+
except Exception as err:
|
|
101
|
+
log.error(f"Could not connect to {LANCEDB_BUCKET} - {str(err)}")
|
|
98
102
|
|
|
99
103
|
log.info(f"LanceDB Tables: {db.table_names()} using {LANCEDB_BUCKET}")
|
|
100
104
|
log.info(f"Opening LanceDB table: {vector_name} using {LANCEDB_BUCKET}")
|
|
@@ -51,7 +51,6 @@ class ContentBuffer:
|
|
|
51
51
|
Adds the given text to the existing content of the buffer.
|
|
52
52
|
"""
|
|
53
53
|
self.content += text
|
|
54
|
-
log.debug(f"Written {text} to buffer")
|
|
55
54
|
|
|
56
55
|
def read(self) -> str:
|
|
57
56
|
"""
|
|
@@ -61,8 +60,7 @@ class ContentBuffer:
|
|
|
61
60
|
str: The content of the buffer.
|
|
62
61
|
|
|
63
62
|
Provides the entire content stored in the buffer.
|
|
64
|
-
"""
|
|
65
|
-
log.debug(f"Read content from buffer")
|
|
63
|
+
"""
|
|
66
64
|
return self.content
|
|
67
65
|
|
|
68
66
|
def clear(self):
|
|
@@ -71,7 +69,6 @@ class ContentBuffer:
|
|
|
71
69
|
|
|
72
70
|
Empties the buffer content, resetting it to an empty string.
|
|
73
71
|
"""
|
|
74
|
-
log.debug(f"Clearing content buffer")
|
|
75
72
|
self.content = ""
|
|
76
73
|
|
|
77
74
|
|
|
@@ -306,8 +306,8 @@ async def generate_proxy_stream_async(stream_to_f, user_input, vector_name, chat
|
|
|
306
306
|
):
|
|
307
307
|
print(output) # Process each streaming output chunk
|
|
308
308
|
"""
|
|
309
|
-
agent = load_config_key("agent", vector_name=vector_name,
|
|
310
|
-
agent_type = load_config_key("agent_type", vector_name=vector_name,
|
|
309
|
+
agent = load_config_key("agent", vector_name=vector_name, type = "vacConfig")
|
|
310
|
+
agent_type = load_config_key("agent_type", vector_name=vector_name, type = "vacConfig")
|
|
311
311
|
|
|
312
312
|
async def generate():
|
|
313
313
|
json_buffer = ""
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.57.
|
|
3
|
+
Version: 0.57.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.57.
|
|
6
|
+
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.57.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
|