sunholo 0.55.13__tar.gz → 0.55.15__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.
Files changed (95) hide show
  1. {sunholo-0.55.13/sunholo.egg-info → sunholo-0.55.15}/PKG-INFO +2 -2
  2. {sunholo-0.55.13 → sunholo-0.55.15}/setup.py +1 -1
  3. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/agents/chat_history.py +1 -1
  4. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/agents/flask/qna_routes.py +25 -22
  5. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/streaming/content_buffer.py +1 -0
  6. {sunholo-0.55.13 → sunholo-0.55.15/sunholo.egg-info}/PKG-INFO +2 -2
  7. {sunholo-0.55.13 → sunholo-0.55.15}/LICENSE.txt +0 -0
  8. {sunholo-0.55.13 → sunholo-0.55.15}/MANIFEST.in +0 -0
  9. {sunholo-0.55.13 → sunholo-0.55.15}/README.md +0 -0
  10. {sunholo-0.55.13 → sunholo-0.55.15}/setup.cfg +0 -0
  11. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/__init__.py +0 -0
  12. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/agents/__init__.py +0 -0
  13. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/agents/dispatch_to_qa.py +0 -0
  14. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/agents/fastapi/__init__.py +0 -0
  15. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/agents/fastapi/base.py +0 -0
  16. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/agents/fastapi/qna_routes.py +0 -0
  17. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/agents/flask/__init__.py +0 -0
  18. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/agents/flask/base.py +0 -0
  19. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/agents/langserve.py +0 -0
  20. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/agents/pubsub.py +0 -0
  21. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/agents/route.py +0 -0
  22. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/agents/special_commands.py +0 -0
  23. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/agents/test_chat_history.py +0 -0
  24. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/archive/__init__.py +0 -0
  25. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/archive/archive.py +0 -0
  26. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/auth/__init__.py +0 -0
  27. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/auth/run.py +0 -0
  28. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/bots/__init__.py +0 -0
  29. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/bots/discord.py +0 -0
  30. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/bots/webapp.py +0 -0
  31. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/chunker/__init__.py +0 -0
  32. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
  33. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/chunker/doc_handling.py +0 -0
  34. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/chunker/images.py +0 -0
  35. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/chunker/loaders.py +0 -0
  36. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/chunker/message_data.py +0 -0
  37. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/chunker/pdfs.py +0 -0
  38. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/chunker/publish.py +0 -0
  39. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/chunker/splitter.py +0 -0
  40. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/components/__init__.py +0 -0
  41. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/components/llm.py +0 -0
  42. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/components/prompt.py +0 -0
  43. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/components/retriever.py +0 -0
  44. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/components/vectorstore.py +0 -0
  45. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/database/__init__.py +0 -0
  46. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/database/alloydb.py +0 -0
  47. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/database/database.py +0 -0
  48. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/database/lancedb.py +0 -0
  49. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/database/sql/sb/create_function.sql +0 -0
  50. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  51. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/database/sql/sb/create_table.sql +0 -0
  52. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  53. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/database/sql/sb/return_sources.sql +0 -0
  54. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/database/sql/sb/setup.sql +0 -0
  55. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/database/static_dbs.py +0 -0
  56. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/database/uuid.py +0 -0
  57. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/embedder/__init__.py +0 -0
  58. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/embedder/embed_chunk.py +0 -0
  59. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/gcs/__init__.py +0 -0
  60. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/gcs/add_file.py +0 -0
  61. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/gcs/download_url.py +0 -0
  62. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/gcs/metadata.py +0 -0
  63. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/langfuse/__init__.py +0 -0
  64. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/langfuse/callback.py +0 -0
  65. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/langfuse/prompts.py +0 -0
  66. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/llamaindex/__init__.py +0 -0
  67. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/llamaindex/generate.py +0 -0
  68. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/llamaindex/import_files.py +0 -0
  69. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/logging.py +0 -0
  70. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/lookup/__init__.py +0 -0
  71. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/lookup/model_lookup.yaml +0 -0
  72. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/patches/__init__.py +0 -0
  73. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/patches/langchain/__init__.py +0 -0
  74. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/patches/langchain/lancedb.py +0 -0
  75. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/patches/langchain/vertexai.py +0 -0
  76. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/pubsub/__init__.py +0 -0
  77. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/pubsub/process_pubsub.py +0 -0
  78. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/pubsub/pubsub_manager.py +0 -0
  79. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/qna/__init__.py +0 -0
  80. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/qna/parsers.py +0 -0
  81. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/qna/retry.py +0 -0
  82. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/streaming/__init__.py +0 -0
  83. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/streaming/langserve.py +0 -0
  84. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/streaming/streaming.py +0 -0
  85. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/summarise/__init__.py +0 -0
  86. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/summarise/summarise.py +0 -0
  87. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/utils/__init__.py +0 -0
  88. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/utils/config.py +0 -0
  89. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/utils/gcp.py +0 -0
  90. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo/utils/parsers.py +0 -0
  91. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo.egg-info/SOURCES.txt +0 -0
  92. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo.egg-info/dependency_links.txt +0 -0
  93. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo.egg-info/requires.txt +0 -0
  94. {sunholo-0.55.13 → sunholo-0.55.15}/sunholo.egg-info/top_level.txt +0 -0
  95. {sunholo-0.55.13 → sunholo-0.55.15}/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.55.13
3
+ Version: 0.55.15
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.55.13.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.55.15.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -1,7 +1,7 @@
1
1
  from setuptools import setup, find_packages
2
2
 
3
3
  # Define your base version
4
- version = '0.55.13'
4
+ version = '0.55.15'
5
5
 
6
6
  setup(
7
7
  name='sunholo',
@@ -25,7 +25,7 @@ def extract_chat_history(chat_history=None):
25
25
  # Output: [("Hello, AI!", "Hello, Human! How can I help you today?")]
26
26
  ```
27
27
  """
28
- if chat_history is None:
28
+ if not chat_history:
29
29
  log.info("No chat history found")
30
30
  return []
31
31
 
@@ -52,15 +52,17 @@ def register_qna_routes(app, stream_interpreter, vac_interpreter):
52
52
  return jsonify(command_response)
53
53
 
54
54
  log.info(f'Streaming data with: {all_input}')
55
+ if span:
56
+ generation = span.generation(
57
+ name="start_streaming_chat",
58
+ metadata=vac_config,
59
+ input = all_input,
60
+ completion_start_time=datetime.datetime.now(),
61
+ model=vac_config.get("model") or vac_config.get("llm")
62
+ )
63
+
55
64
  def generate_response_content():
56
- if span:
57
- generation = span.generation(
58
- name="start_streaming_chat",
59
- metadata=vac_config,
60
- input = all_input,
61
- completion_start_time=datetime.datetime.now(),
62
- model=vac_config.get("model") or vac_config.get("llm")
63
- )
65
+
64
66
  chunks = ""
65
67
  for chunk in start_streaming_chat(question=all_input["user_input"],
66
68
  vector_name=vector_name,
@@ -69,7 +71,7 @@ def register_qna_routes(app, stream_interpreter, vac_interpreter):
69
71
  wait_time=all_input["stream_wait_time"],
70
72
  timeout=all_input["stream_timeout"],
71
73
  #kwargs
72
- message_author=all_input["message_author"]
74
+ **all_input["kwargs"]
73
75
  ):
74
76
  if isinstance(chunk, dict) and 'answer' in chunk:
75
77
  # When we encounter the dictionary, we yield it as a JSON string
@@ -92,14 +94,15 @@ def register_qna_routes(app, stream_interpreter, vac_interpreter):
92
94
 
93
95
  yield chunk
94
96
 
95
- if trace:
96
- generation.end(output=chunks)
97
- span.end(output=chunks)
98
- trace.update(output=chunks)
99
-
100
97
  # Here, the generator function will handle streaming the content to the client.
101
98
  response = Response(generate_response_content(), content_type='text/plain; charset=utf-8')
102
99
  response.headers['Transfer-Encoding'] = 'chunked'
100
+
101
+ log.debug(f"streaming response: {response}")
102
+ if trace:
103
+ generation.end(output=response)
104
+ span.end(output=response)
105
+ trace.update(output=response)
103
106
 
104
107
  if langfuse:
105
108
  langfuse.flush()
@@ -131,7 +134,7 @@ def register_qna_routes(app, stream_interpreter, vac_interpreter):
131
134
  question=all_input["user_input"],
132
135
  vector_name=vector_name,
133
136
  chat_history=all_input["chat_history"],
134
- message_author=all_input["message_author"]
137
+ **all_input["kwargs"]
135
138
  )
136
139
  if generation:
137
140
  generation.end(output=bot_output)
@@ -198,18 +201,18 @@ def prep_vac(request, vector_name):
198
201
  if trace:
199
202
  trace.update(input=data, metadata=vac_config)
200
203
 
201
- user_input = data['user_input'].strip()
202
- message_author = data.get('message_author', None)
203
- stream_wait_time = data.get('stream_wait_time', 7)
204
- stream_timeout = data.get('stream_timeout', 120)
204
+ user_input = data.pop('user_input').strip()
205
+ stream_wait_time = data.pop('stream_wait_time', 7)
206
+ stream_timeout = data.pop('stream_timeout', 120)
207
+ chat_history = data.pop('chat_history', None)
208
+ paired_messages = extract_chat_history(chat_history)
205
209
 
206
- paired_messages = extract_chat_history(data.get('chat_history', None))
207
210
  all_input = {'user_input': user_input,
208
211
  'vector_name': vector_name,
209
212
  'chat_history': paired_messages,
210
- 'message_author': message_author,
211
213
  'stream_wait_time': stream_wait_time,
212
- 'stream_timeout':stream_timeout}
214
+ 'stream_timeout':stream_timeout,
215
+ 'kwargs': data}
213
216
 
214
217
  if trace:
215
218
  span = trace.span(
@@ -130,6 +130,7 @@ class BufferStreamingStdOutCallbackHandler(StreamingStdOutCallbackHandler):
130
130
  patterns are detected.
131
131
  """
132
132
  log.debug(f"on_llm_new_token: {token}")
133
+
133
134
  self.buffer += token
134
135
 
135
136
  if '```' in token:
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.55.13
3
+ Version: 0.55.15
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.55.13.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.55.15.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