sunholo 0.61.11__tar.gz → 0.62.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.
Files changed (112) hide show
  1. {sunholo-0.61.11 → sunholo-0.62.0}/PKG-INFO +2 -2
  2. {sunholo-0.61.11 → sunholo-0.62.0}/setup.py +1 -1
  3. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/llamaindex/import_files.py +40 -20
  4. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo.egg-info/PKG-INFO +2 -2
  5. {sunholo-0.61.11 → sunholo-0.62.0}/LICENSE.txt +0 -0
  6. {sunholo-0.61.11 → sunholo-0.62.0}/MANIFEST.in +0 -0
  7. {sunholo-0.61.11 → sunholo-0.62.0}/README.md +0 -0
  8. {sunholo-0.61.11 → sunholo-0.62.0}/setup.cfg +0 -0
  9. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/__init__.py +0 -0
  10. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/agents/__init__.py +0 -0
  11. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/agents/chat_history.py +0 -0
  12. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/agents/dispatch_to_qa.py +0 -0
  13. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/agents/fastapi/__init__.py +0 -0
  14. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/agents/fastapi/base.py +0 -0
  15. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/agents/fastapi/qna_routes.py +0 -0
  16. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/agents/flask/__init__.py +0 -0
  17. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/agents/flask/base.py +0 -0
  18. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/agents/flask/qna_routes.py +0 -0
  19. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/agents/langserve.py +0 -0
  20. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/agents/pubsub.py +0 -0
  21. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/agents/route.py +0 -0
  22. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/agents/special_commands.py +0 -0
  23. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/archive/__init__.py +0 -0
  24. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/archive/archive.py +0 -0
  25. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/auth/__init__.py +0 -0
  26. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/auth/run.py +0 -0
  27. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/bots/__init__.py +0 -0
  28. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/bots/discord.py +0 -0
  29. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/bots/github_webhook.py +0 -0
  30. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/bots/webapp.py +0 -0
  31. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/chunker/__init__.py +0 -0
  32. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
  33. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/chunker/doc_handling.py +0 -0
  34. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/chunker/images.py +0 -0
  35. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/chunker/loaders.py +0 -0
  36. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/chunker/message_data.py +0 -0
  37. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/chunker/pdfs.py +0 -0
  38. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/chunker/publish.py +0 -0
  39. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/chunker/splitter.py +0 -0
  40. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/cli/__init__.py +0 -0
  41. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/cli/chat_vac.py +0 -0
  42. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/cli/cli.py +0 -0
  43. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/cli/cli_init.py +0 -0
  44. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/cli/configs.py +0 -0
  45. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/cli/deploy.py +0 -0
  46. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/cli/embedder.py +0 -0
  47. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/cli/merge_texts.py +0 -0
  48. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/cli/run_proxy.py +0 -0
  49. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/cli/sun_rich.py +0 -0
  50. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/components/__init__.py +0 -0
  51. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/components/llm.py +0 -0
  52. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/components/prompt.py +0 -0
  53. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/components/retriever.py +0 -0
  54. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/components/vectorstore.py +0 -0
  55. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/database/__init__.py +0 -0
  56. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/database/alloydb.py +0 -0
  57. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/database/database.py +0 -0
  58. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/database/lancedb.py +0 -0
  59. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/database/sql/sb/create_function.sql +0 -0
  60. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  61. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/database/sql/sb/create_table.sql +0 -0
  62. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  63. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/database/sql/sb/return_sources.sql +0 -0
  64. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/database/sql/sb/setup.sql +0 -0
  65. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/database/static_dbs.py +0 -0
  66. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/database/uuid.py +0 -0
  67. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/embedder/__init__.py +0 -0
  68. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/embedder/embed_chunk.py +0 -0
  69. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/gcs/__init__.py +0 -0
  70. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/gcs/add_file.py +0 -0
  71. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/gcs/download_url.py +0 -0
  72. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/gcs/metadata.py +0 -0
  73. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/langfuse/__init__.py +0 -0
  74. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/langfuse/callback.py +0 -0
  75. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/langfuse/prompts.py +0 -0
  76. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/llamaindex/__init__.py +0 -0
  77. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/llamaindex/generate.py +0 -0
  78. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/logging.py +0 -0
  79. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/lookup/__init__.py +0 -0
  80. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/lookup/model_lookup.yaml +0 -0
  81. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/patches/__init__.py +0 -0
  82. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/patches/langchain/__init__.py +0 -0
  83. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/patches/langchain/lancedb.py +0 -0
  84. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/patches/langchain/vertexai.py +0 -0
  85. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/pubsub/__init__.py +0 -0
  86. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/pubsub/process_pubsub.py +0 -0
  87. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/pubsub/pubsub_manager.py +0 -0
  88. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/qna/__init__.py +0 -0
  89. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/qna/parsers.py +0 -0
  90. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/qna/retry.py +0 -0
  91. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/streaming/__init__.py +0 -0
  92. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/streaming/content_buffer.py +0 -0
  93. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/streaming/langserve.py +0 -0
  94. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/streaming/streaming.py +0 -0
  95. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/summarise/__init__.py +0 -0
  96. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/summarise/summarise.py +0 -0
  97. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/utils/__init__.py +0 -0
  98. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/utils/big_context.py +0 -0
  99. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/utils/config.py +0 -0
  100. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/utils/config_schema.py +0 -0
  101. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/utils/gcp.py +0 -0
  102. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/utils/parsers.py +0 -0
  103. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/utils/user_ids.py +0 -0
  104. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/vertex/__init__.py +0 -0
  105. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo/vertex/init_vertex.py +0 -0
  106. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo.egg-info/SOURCES.txt +0 -0
  107. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo.egg-info/dependency_links.txt +0 -0
  108. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo.egg-info/entry_points.txt +0 -0
  109. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo.egg-info/requires.txt +0 -0
  110. {sunholo-0.61.11 → sunholo-0.62.0}/sunholo.egg-info/top_level.txt +0 -0
  111. {sunholo-0.61.11 → sunholo-0.62.0}/tests/test_chat_history.py +0 -0
  112. {sunholo-0.61.11 → sunholo-0.62.0}/tests/test_config.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.61.11
3
+ Version: 0.62.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.61.11.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.62.0.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.61.11'
4
+ version = '0.62.0'
5
5
 
6
6
  setup(
7
7
  name='sunholo',
@@ -6,10 +6,11 @@ except ImportError:
6
6
  from ..logging import log
7
7
  from ..utils.config import load_config_key
8
8
  from ..vertex import init_vertex
9
+ from ..components import load_memories
9
10
 
10
11
  # Create a RAG Corpus, Import Files
11
12
 
12
- def get_corpus(gcp_config):
13
+ def get_corpus(vector_name):
13
14
  """
14
15
  Retrieves a LlamaIndex corpus from Vertex AI based on the provided Google Cloud configuration.
15
16
 
@@ -17,13 +18,10 @@ def get_corpus(gcp_config):
17
18
  to fetch the corresponding corpus. If the corpus cannot be retrieved, it raises an error.
18
19
 
19
20
  Parameters:
20
- - gcp_config (dict): Configuration dictionary that must include:
21
- - project_id (str): Google Cloud project identifier.
22
- - location (str): Google Cloud location.
23
- - rag_id (str): Identifier for the RAG (Retrieval-Augmented Generation) corpus.
21
+ - vector_name: The name of the of VAC
24
22
 
25
23
  Returns:
26
- - The corpus object fetched from Vertex AI.
24
+ - List of corpus objects fetched from Vertex AI.
27
25
 
28
26
  Raises:
29
27
  - ValueError: If any of the required configurations (project_id, location, or rag_id) are missing,
@@ -31,32 +29,54 @@ def get_corpus(gcp_config):
31
29
 
32
30
  Example:
33
31
  ```python
34
- # Example configuration dictionary
35
- gcp_config = {
36
- 'project_id': 'your-project-id',
37
- 'location': 'your-location',
38
- 'rag_id': 'your-rag-id'
39
- }
40
32
 
41
33
  # Fetch the corpus
42
34
  try:
43
- corpus = get_corpus(gcp_config)
35
+ corpus = get_corpus("edmonbrain")
44
36
  print("Corpus fetched successfully:", corpus)
45
37
  except ValueError as e:
46
38
  print("Error fetching corpus:", str(e))
47
39
  ```
48
40
  """
41
+ gcp_config = load_config_key("gcp_config", vector_name=vector_name, type="vacConfig")
42
+
49
43
  if not rag:
50
44
  raise ValueError("Need to install vertexai module via `pip install sunholo[gcp]`")
51
45
 
52
- project_id = gcp_config.get('project_id')
53
- location = gcp_config.get('location')
54
- rag_id = gcp_config.get('rag_id')
55
- if not project_id:
56
- raise ValueError("Need config.gcp.project_id to configure llamaindex on VertexAI")
57
- if not rag_id:
58
- raise ValueError("Need config.gcp.rag_id to configure llamaindex on VertexAI. Create via `rag.create_corpus(display_name=vector_name, description=description)`")
46
+ global_project_id = gcp_config.get('project_id')
47
+ global_location = gcp_config.get('location')
48
+ global_rag_id = gcp_config.get('rag_id')
49
+
50
+ memories = load_memories(vector_name)
51
+ corpii = []
52
+ for memory in memories:
53
+ for key, value in memory.items(): # Now iterate over the dictionary
54
+ log.info(f"Found memory {key}")
55
+ vectorstore = value.get('vectorstore')
56
+ if vectorstore == "llamaindex":
57
+ log.info(f"Found vectorstore {vectorstore}")
58
+ rag_id = value.get('rag_id')
59
+ project_id = gcp_config.get('project_id')
60
+ location = gcp_config.get('location')
61
+ corpus = fetch_corpus(
62
+ project_id=project_id or global_project_id,
63
+ location=location or global_location,
64
+ rag_id=rag_id or global_rag_id
65
+ )
66
+ corpii.append(corpus)
67
+
68
+ if not project_id or not global_project_id:
69
+ raise ValueError("Need config.gcp.project_id or config.memory.llamaindex.project_id to configure llamaindex on VertexAI")
70
+ if not rag_id or not global_project_id:
71
+ raise ValueError("Need config.gcp.rag_id or config.memory.llamaindex.rag_id to configure llamaindex on VertexAI. Create via `rag.create_corpus(display_name=vector_name, description=description)`")
72
+
73
+ if not corpii:
74
+ raise ValueError("No llamaindex Vertex corpus configurations could be found")
75
+
76
+ return corpii
77
+
59
78
 
79
+ def fetch_corpus(project_id, location, rag_id):
60
80
  corpus_name = f"projects/{project_id}/locations/{location}/ragCorpora/{rag_id}"
61
81
 
62
82
  try:
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.61.11
3
+ Version: 0.62.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.61.11.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.62.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