sunholo 0.126.2__tar.gz → 0.126.4__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 (188) hide show
  1. {sunholo-0.126.2/src/sunholo.egg-info → sunholo-0.126.4}/PKG-INFO +1 -1
  2. {sunholo-0.126.2 → sunholo-0.126.4}/pyproject.toml +1 -1
  3. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/discovery_engine/chunker_handler.py +21 -6
  4. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/discovery_engine/discovery_engine_client.py +7 -2
  5. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/embedder/embed_metadata.py +1 -1
  6. {sunholo-0.126.2 → sunholo-0.126.4/src/sunholo.egg-info}/PKG-INFO +1 -1
  7. {sunholo-0.126.2 → sunholo-0.126.4}/LICENSE.txt +0 -0
  8. {sunholo-0.126.2 → sunholo-0.126.4}/MANIFEST.in +0 -0
  9. {sunholo-0.126.2 → sunholo-0.126.4}/README.md +0 -0
  10. {sunholo-0.126.2 → sunholo-0.126.4}/setup.cfg +0 -0
  11. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/__init__.py +0 -0
  12. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/agents/__init__.py +0 -0
  13. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/agents/chat_history.py +0 -0
  14. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/agents/dispatch_to_qa.py +0 -0
  15. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/agents/fastapi/__init__.py +0 -0
  16. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/agents/fastapi/base.py +0 -0
  17. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/agents/fastapi/qna_routes.py +0 -0
  18. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/agents/flask/__init__.py +0 -0
  19. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/agents/flask/base.py +0 -0
  20. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/agents/flask/qna_routes.py +0 -0
  21. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/agents/flask/vac_routes.py +0 -0
  22. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/agents/langserve.py +0 -0
  23. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/agents/pubsub.py +0 -0
  24. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/agents/route.py +0 -0
  25. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/agents/special_commands.py +0 -0
  26. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/agents/swagger.py +0 -0
  27. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/archive/__init__.py +0 -0
  28. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/archive/archive.py +0 -0
  29. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/auth/__init__.py +0 -0
  30. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/auth/gcloud.py +0 -0
  31. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/auth/refresh.py +0 -0
  32. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/auth/run.py +0 -0
  33. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/azure/__init__.py +0 -0
  34. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/azure/auth.py +0 -0
  35. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/azure/blobs.py +0 -0
  36. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/azure/event_grid.py +0 -0
  37. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/bots/__init__.py +0 -0
  38. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/bots/discord.py +0 -0
  39. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/bots/github_webhook.py +0 -0
  40. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/bots/webapp.py +0 -0
  41. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/chunker/__init__.py +0 -0
  42. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/chunker/azure.py +0 -0
  43. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/chunker/doc_handling.py +0 -0
  44. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/chunker/encode_metadata.py +0 -0
  45. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/chunker/images.py +0 -0
  46. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/chunker/loaders.py +0 -0
  47. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/chunker/message_data.py +0 -0
  48. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/chunker/pdfs.py +0 -0
  49. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/chunker/process_chunker_data.py +0 -0
  50. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/chunker/publish.py +0 -0
  51. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/chunker/pubsub.py +0 -0
  52. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/chunker/splitter.py +0 -0
  53. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/cli/__init__.py +0 -0
  54. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/cli/chat_vac.py +0 -0
  55. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/cli/cli.py +0 -0
  56. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/cli/cli_init.py +0 -0
  57. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/cli/configs.py +0 -0
  58. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/cli/deploy.py +0 -0
  59. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/cli/embedder.py +0 -0
  60. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/cli/merge_texts.py +0 -0
  61. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/cli/run_proxy.py +0 -0
  62. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/cli/sun_rich.py +0 -0
  63. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/cli/swagger.py +0 -0
  64. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/cli/vertex.py +0 -0
  65. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/components/__init__.py +0 -0
  66. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/components/llm.py +0 -0
  67. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/components/retriever.py +0 -0
  68. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/components/vectorstore.py +0 -0
  69. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/custom_logging.py +0 -0
  70. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/database/__init__.py +0 -0
  71. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/database/alloydb.py +0 -0
  72. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/database/alloydb_client.py +0 -0
  73. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/database/database.py +0 -0
  74. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/database/lancedb.py +0 -0
  75. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/database/sql/sb/create_function.sql +0 -0
  76. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/database/sql/sb/create_function_time.sql +0 -0
  77. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/database/sql/sb/create_table.sql +0 -0
  78. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  79. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/database/sql/sb/return_sources.sql +0 -0
  80. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/database/sql/sb/setup.sql +0 -0
  81. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/database/static_dbs.py +0 -0
  82. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/database/uuid.py +0 -0
  83. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/discovery_engine/__init__.py +0 -0
  84. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/discovery_engine/cli.py +0 -0
  85. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/discovery_engine/create_new.py +0 -0
  86. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
  87. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/embedder/__init__.py +0 -0
  88. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/embedder/embed_chunk.py +0 -0
  89. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/excel/__init__.py +0 -0
  90. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/excel/plugin.py +0 -0
  91. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/gcs/__init__.py +0 -0
  92. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/gcs/add_file.py +0 -0
  93. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/gcs/download_folder.py +0 -0
  94. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/gcs/download_url.py +0 -0
  95. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/gcs/extract_and_sign.py +0 -0
  96. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/gcs/metadata.py +0 -0
  97. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/genai/__init__.py +0 -0
  98. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/genai/file_handling.py +0 -0
  99. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/genai/genaiv2.py +0 -0
  100. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/genai/images.py +0 -0
  101. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/genai/init.py +0 -0
  102. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/genai/process_funcs_cls.py +0 -0
  103. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/genai/safety.py +0 -0
  104. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/invoke/__init__.py +0 -0
  105. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/invoke/async_class.py +0 -0
  106. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/invoke/direct_vac_func.py +0 -0
  107. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/invoke/invoke_vac_utils.py +0 -0
  108. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/langchain_types.py +0 -0
  109. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/langfuse/__init__.py +0 -0
  110. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/langfuse/callback.py +0 -0
  111. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/langfuse/evals.py +0 -0
  112. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/langfuse/prompts.py +0 -0
  113. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/llamaindex/__init__.py +0 -0
  114. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/llamaindex/get_files.py +0 -0
  115. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/llamaindex/import_files.py +0 -0
  116. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/llamaindex/llamaindex_class.py +0 -0
  117. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/llamaindex/user_history.py +0 -0
  118. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/lookup/__init__.py +0 -0
  119. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/lookup/model_lookup.yaml +0 -0
  120. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/mcp/__init__.py +0 -0
  121. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/mcp/cli.py +0 -0
  122. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/ollama/__init__.py +0 -0
  123. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/ollama/ollama_images.py +0 -0
  124. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/pubsub/__init__.py +0 -0
  125. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/pubsub/process_pubsub.py +0 -0
  126. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/pubsub/pubsub_manager.py +0 -0
  127. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/qna/__init__.py +0 -0
  128. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/qna/parsers.py +0 -0
  129. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/qna/retry.py +0 -0
  130. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/senses/__init__.py +0 -0
  131. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/senses/stream_voice.py +0 -0
  132. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/streaming/__init__.py +0 -0
  133. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/streaming/content_buffer.py +0 -0
  134. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/streaming/langserve.py +0 -0
  135. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/streaming/stream_lookup.py +0 -0
  136. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/streaming/streaming.py +0 -0
  137. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/summarise/__init__.py +0 -0
  138. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/summarise/summarise.py +0 -0
  139. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/templates/agent/__init__.py +0 -0
  140. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/templates/agent/agent_service.py +0 -0
  141. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/templates/agent/app.py +0 -0
  142. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/templates/agent/my_log.py +0 -0
  143. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/templates/agent/tools/__init__.py +0 -0
  144. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/templates/agent/tools/your_agent.py +0 -0
  145. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/templates/agent/vac_service.py +0 -0
  146. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/templates/project/__init__.py +0 -0
  147. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/templates/project/app.py +0 -0
  148. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/templates/project/my_log.py +0 -0
  149. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/templates/project/vac_service.py +0 -0
  150. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/templates/system_services/__init__.py +0 -0
  151. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/templates/system_services/app.py +0 -0
  152. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/templates/system_services/my_log.py +0 -0
  153. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/terraform/__init__.py +0 -0
  154. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/terraform/tfvars_editor.py +0 -0
  155. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/tools/__init__.py +0 -0
  156. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/tools/web_browser.py +0 -0
  157. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/utils/__init__.py +0 -0
  158. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/utils/api_key.py +0 -0
  159. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/utils/big_context.py +0 -0
  160. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/utils/config.py +0 -0
  161. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/utils/config_class.py +0 -0
  162. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/utils/config_schema.py +0 -0
  163. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/utils/gcp.py +0 -0
  164. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/utils/gcp_project.py +0 -0
  165. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/utils/mime.py +0 -0
  166. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/utils/parsers.py +0 -0
  167. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/utils/timedelta.py +0 -0
  168. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/utils/user_ids.py +0 -0
  169. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/utils/version.py +0 -0
  170. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/vertex/__init__.py +0 -0
  171. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/vertex/extensions_call.py +0 -0
  172. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/vertex/extensions_class.py +0 -0
  173. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/vertex/genai_functions.py +0 -0
  174. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/vertex/init.py +0 -0
  175. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/vertex/memory_tools.py +0 -0
  176. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/vertex/safety.py +0 -0
  177. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo/vertex/type_dict_to_json.py +0 -0
  178. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo.egg-info/SOURCES.txt +0 -0
  179. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo.egg-info/dependency_links.txt +0 -0
  180. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo.egg-info/entry_points.txt +0 -0
  181. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo.egg-info/requires.txt +0 -0
  182. {sunholo-0.126.2 → sunholo-0.126.4}/src/sunholo.egg-info/top_level.txt +0 -0
  183. {sunholo-0.126.2 → sunholo-0.126.4}/tests/test_async.py +0 -0
  184. {sunholo-0.126.2 → sunholo-0.126.4}/tests/test_async_genai2.py +0 -0
  185. {sunholo-0.126.2 → sunholo-0.126.4}/tests/test_chat_history.py +0 -0
  186. {sunholo-0.126.2 → sunholo-0.126.4}/tests/test_config.py +0 -0
  187. {sunholo-0.126.2 → sunholo-0.126.4}/tests/test_genai2.py +0 -0
  188. {sunholo-0.126.2 → sunholo-0.126.4}/tests/test_unstructured.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sunholo
3
- Version: 0.126.2
3
+ Version: 0.126.4
4
4
  Summary: Large Language Model DevOps - a package to help deploy LLMs to the Cloud.
5
5
  Author-email: Holosun ApS <multivac@sunholo.com>
6
6
  License: Apache License, Version 2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "sunholo"
7
- version = "0.126.2"
7
+ version = "0.126.4"
8
8
  description = "Large Language Model DevOps - a package to help deploy LLMs to the Cloud."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -6,6 +6,7 @@ from ..components import load_memories
6
6
  from .discovery_engine_client import DiscoveryEngineClient
7
7
  from .create_new import create_new_discovery_engine
8
8
  from ..embedder.embed_metadata import audit_metadata
9
+ import traceback
9
10
 
10
11
  def do_discovery_engine(message_data:str, metadata:dict, config:ConfigManager=None):
11
12
  """
@@ -35,6 +36,7 @@ def do_discovery_engine(message_data:str, metadata:dict, config:ConfigManager=No
35
36
  if vectorstore == "discovery_engine" or vectorstore == "vertex_ai_search":
36
37
  log.info(f"Found vectorstore {vectorstore}")
37
38
  if value.get('read_only'):
39
+ log.info(f"{vectorstore} is read only, skipping")
38
40
  continue
39
41
 
40
42
  project_id = value.get("project_id")
@@ -49,6 +51,7 @@ def do_discovery_engine(message_data:str, metadata:dict, config:ConfigManager=No
49
51
  if not project_id:
50
52
  raise ValueError("Couldn't retrieve project_id for vertex_ai_search")
51
53
 
54
+ log.info(f"Using {project_id} and {location} for DiscoveryEngineClient")
52
55
  corpus = DiscoveryEngineClient(
53
56
  data_store_id=config.vector_name,
54
57
  project_id=project_id,
@@ -66,10 +69,13 @@ def do_discovery_engine(message_data:str, metadata:dict, config:ConfigManager=No
66
69
  if message_data.startswith("gs://"):
67
70
  log.info(f"DiscoveryEngineClient.import_files for {message_data}")
68
71
  if "/pdf_parts/" in message_data:
72
+ log.info(f"Not processing files with /pdf_parts/ - {message_data}")
69
73
  return None
70
74
  for corp in corpuses:
71
75
  try:
76
+
72
77
  metadata = audit_metadata(metadata, chunk_length=500)
78
+ log.info(f"Importing {message_data} {metadata=} to {corp}")
73
79
  response = corp.import_document_with_metadata(
74
80
  gcs_uri=message_data,
75
81
  metadata=metadata
@@ -79,7 +85,7 @@ def do_discovery_engine(message_data:str, metadata:dict, config:ConfigManager=No
79
85
  else:
80
86
  log.warning(f"Could not import {message_data} got not response")
81
87
  except Exception as err:
82
- log.error(f"Error importing {message_data} - {corp=} - {str(err)}")
88
+ log.error(f"Error importing {message_data} - {corp=} - {str(err)} {traceback.format_exc()}")
83
89
 
84
90
  if str(err).startswith("404"):
85
91
  log.info(f"Attempting to create a new DiscoveryEngine corpus: {config.vector_name}")
@@ -94,8 +100,8 @@ def do_discovery_engine(message_data:str, metadata:dict, config:ConfigManager=No
94
100
  gcs_uri=message_data,
95
101
  metadata=metadata
96
102
  )
97
-
98
- continue
103
+ else:
104
+ raise Exception(f"Error importing {message_data} - {corp=} - {str(err)}")
99
105
 
100
106
  metadata["source"] = message_data
101
107
  return metadata
@@ -156,9 +162,18 @@ def discovery_engine_chunker_check(message_data,
156
162
  return metadata
157
163
 
158
164
  if total_discovery_memories > 0:
159
- log.info(f"Process discovery engine for {metadata}")
160
- disc_meta = do_discovery_engine(message_data, metadata, config=config)
161
- log.info(f"Processed discovery engine: {disc_meta}")
165
+ try:
166
+ log.info(f"Process discovery engine for {metadata}")
167
+ disc_meta = do_discovery_engine(message_data, metadata, config=config)
168
+ if disc_meta is None:
169
+ log.error(f"No disc_meta found for {metadata}")
170
+ else:
171
+ log.info(f"Processed discovery engine: {disc_meta}")
172
+ except Exception as err:
173
+ log.error(f"Error processing discovery engine: {str(err)} {traceback.format_exc()}")
174
+ disc_meta = None
175
+
176
+ return disc_meta
162
177
 
163
178
  # If discovery engine is the only entry, return
164
179
  if total_discovery_memories == total_memories:
@@ -16,6 +16,7 @@ import asyncio
16
16
  import json
17
17
  import uuid
18
18
  from ..utils.mime import guess_mime_type
19
+ import traceback
19
20
 
20
21
  class DiscoveryEngineClient:
21
22
  """
@@ -80,8 +81,10 @@ class DiscoveryEngineClient:
80
81
  self.async_search_client = discoveryengine.SearchServiceAsyncClient(client_options=client_options)
81
82
  except RuntimeError:
82
83
  # No event loop in non-async environment, set async client to None
83
- log.info("No event loop detected; skipping async client initialization")
84
+ log.info("No event loop detected; skipping Discoveryengine async client initialization")
84
85
  self.async_search_client = None
86
+
87
+ log.info(f"Discovery Engine client initialized with {self.project_id=}, {self.data_store_id=}, {self.location=}")
85
88
 
86
89
  @classmethod
87
90
  def my_retry(cls):
@@ -490,6 +493,7 @@ class DiscoveryEngineClient:
490
493
  return doc_client.import_documents(request=request)
491
494
 
492
495
  try:
496
+ log.debug(f"Requesting import of documents: {request=}")
493
497
  operation = import_documents_with_retry(self.doc_client, request)
494
498
  except ResourceExhausted as e:
495
499
  log.error(f"DiscoveryEngine Operation failed after retries due to quota exceeded: {e}")
@@ -632,6 +636,7 @@ class DiscoveryEngineClient:
632
636
  str: The operation name.
633
637
  """
634
638
  try:
639
+ log.info(f"Importing doc with metadata: {gcs_uri=}, {metadata=}")
635
640
  # 1. Generate a unique document ID
636
641
  document_id = self._create_unique_gsuri_docid(gcs_uri)
637
642
 
@@ -662,7 +667,7 @@ class DiscoveryEngineClient:
662
667
  return self._import_document_request(request)
663
668
 
664
669
  except Exception as e:
665
- log.error(f"Error importing document with metadata: {e}")
670
+ log.error(f"Error importing document with metadata: {e} {traceback.format_exc()}")
666
671
  raise e
667
672
 
668
673
  def get_mime_type(self, uri:str):
@@ -6,7 +6,7 @@ from ..utils.mime import guess_mime_type
6
6
 
7
7
  from ..custom_logging import log
8
8
 
9
- def audit_metadata(metadata, chunk_length=None):
9
+ def audit_metadata(metadata:dict, chunk_length:int=None) -> dict:
10
10
 
11
11
  if 'eventTime' not in metadata:
12
12
  metadata['eventTime'] = datetime.datetime.now().isoformat(timespec='microseconds') + "Z"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sunholo
3
- Version: 0.126.2
3
+ Version: 0.126.4
4
4
  Summary: Large Language Model DevOps - a package to help deploy LLMs to the Cloud.
5
5
  Author-email: Holosun ApS <multivac@sunholo.com>
6
6
  License: Apache License, Version 2.0
File without changes
File without changes
File without changes
File without changes
File without changes