sunholo 0.119.8__tar.gz → 0.119.10__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 (186) hide show
  1. {sunholo-0.119.8/src/sunholo.egg-info → sunholo-0.119.10}/PKG-INFO +1 -1
  2. {sunholo-0.119.8 → sunholo-0.119.10}/pyproject.toml +1 -1
  3. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/chunker/process_chunker_data.py +1 -1
  4. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/discovery_engine/chunker_handler.py +6 -2
  5. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/discovery_engine/cli.py +2 -3
  6. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/discovery_engine/get_ai_search_chunks.py +28 -11
  7. {sunholo-0.119.8 → sunholo-0.119.10/src/sunholo.egg-info}/PKG-INFO +1 -1
  8. {sunholo-0.119.8 → sunholo-0.119.10}/LICENSE.txt +0 -0
  9. {sunholo-0.119.8 → sunholo-0.119.10}/MANIFEST.in +0 -0
  10. {sunholo-0.119.8 → sunholo-0.119.10}/README.md +0 -0
  11. {sunholo-0.119.8 → sunholo-0.119.10}/setup.cfg +0 -0
  12. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/__init__.py +0 -0
  13. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/agents/__init__.py +0 -0
  14. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/agents/chat_history.py +0 -0
  15. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/agents/dispatch_to_qa.py +0 -0
  16. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/agents/fastapi/__init__.py +0 -0
  17. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/agents/fastapi/base.py +0 -0
  18. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/agents/fastapi/qna_routes.py +0 -0
  19. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/agents/flask/__init__.py +0 -0
  20. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/agents/flask/base.py +0 -0
  21. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/agents/flask/qna_routes.py +0 -0
  22. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/agents/flask/vac_routes.py +0 -0
  23. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/agents/langserve.py +0 -0
  24. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/agents/pubsub.py +0 -0
  25. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/agents/route.py +0 -0
  26. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/agents/special_commands.py +0 -0
  27. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/agents/swagger.py +0 -0
  28. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/archive/__init__.py +0 -0
  29. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/archive/archive.py +0 -0
  30. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/auth/__init__.py +0 -0
  31. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/auth/gcloud.py +0 -0
  32. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/auth/refresh.py +0 -0
  33. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/auth/run.py +0 -0
  34. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/azure/__init__.py +0 -0
  35. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/azure/auth.py +0 -0
  36. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/azure/blobs.py +0 -0
  37. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/azure/event_grid.py +0 -0
  38. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/bots/__init__.py +0 -0
  39. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/bots/discord.py +0 -0
  40. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/bots/github_webhook.py +0 -0
  41. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/bots/webapp.py +0 -0
  42. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/chunker/__init__.py +0 -0
  43. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/chunker/azure.py +0 -0
  44. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/chunker/doc_handling.py +0 -0
  45. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/chunker/encode_metadata.py +0 -0
  46. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/chunker/images.py +0 -0
  47. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/chunker/loaders.py +0 -0
  48. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/chunker/message_data.py +0 -0
  49. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/chunker/pdfs.py +0 -0
  50. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/chunker/publish.py +0 -0
  51. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/chunker/pubsub.py +0 -0
  52. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/chunker/splitter.py +0 -0
  53. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/cli/__init__.py +0 -0
  54. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/cli/chat_vac.py +0 -0
  55. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/cli/cli.py +0 -0
  56. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/cli/cli_init.py +0 -0
  57. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/cli/configs.py +0 -0
  58. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/cli/deploy.py +0 -0
  59. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/cli/embedder.py +0 -0
  60. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/cli/merge_texts.py +0 -0
  61. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/cli/run_proxy.py +0 -0
  62. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/cli/sun_rich.py +0 -0
  63. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/cli/swagger.py +0 -0
  64. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/cli/vertex.py +0 -0
  65. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/components/__init__.py +0 -0
  66. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/components/llm.py +0 -0
  67. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/components/retriever.py +0 -0
  68. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/components/vectorstore.py +0 -0
  69. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/custom_logging.py +0 -0
  70. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/database/__init__.py +0 -0
  71. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/database/alloydb.py +0 -0
  72. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/database/alloydb_client.py +0 -0
  73. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/database/database.py +0 -0
  74. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/database/lancedb.py +0 -0
  75. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/database/sql/sb/create_function.sql +0 -0
  76. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/database/sql/sb/create_function_time.sql +0 -0
  77. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/database/sql/sb/create_table.sql +0 -0
  78. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  79. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/database/sql/sb/return_sources.sql +0 -0
  80. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/database/sql/sb/setup.sql +0 -0
  81. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/database/static_dbs.py +0 -0
  82. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/database/uuid.py +0 -0
  83. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/discovery_engine/__init__.py +0 -0
  84. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/discovery_engine/create_new.py +0 -0
  85. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/discovery_engine/discovery_engine_client.py +0 -0
  86. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/embedder/__init__.py +0 -0
  87. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/embedder/embed_chunk.py +0 -0
  88. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/embedder/embed_metadata.py +0 -0
  89. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/excel/__init__.py +0 -0
  90. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/excel/plugin.py +0 -0
  91. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/gcs/__init__.py +0 -0
  92. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/gcs/add_file.py +0 -0
  93. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/gcs/download_folder.py +0 -0
  94. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/gcs/download_url.py +0 -0
  95. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/gcs/extract_and_sign.py +0 -0
  96. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/gcs/metadata.py +0 -0
  97. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/genai/__init__.py +0 -0
  98. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/genai/file_handling.py +0 -0
  99. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/genai/genaiv2.py +0 -0
  100. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/genai/images.py +0 -0
  101. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/genai/init.py +0 -0
  102. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/genai/process_funcs_cls.py +0 -0
  103. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/genai/safety.py +0 -0
  104. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/invoke/__init__.py +0 -0
  105. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/invoke/async_class.py +0 -0
  106. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/invoke/direct_vac_func.py +0 -0
  107. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/invoke/invoke_vac_utils.py +0 -0
  108. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/langchain_types.py +0 -0
  109. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/langfuse/__init__.py +0 -0
  110. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/langfuse/callback.py +0 -0
  111. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/langfuse/evals.py +0 -0
  112. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/langfuse/prompts.py +0 -0
  113. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/llamaindex/__init__.py +0 -0
  114. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/llamaindex/get_files.py +0 -0
  115. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/llamaindex/import_files.py +0 -0
  116. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/llamaindex/llamaindex_class.py +0 -0
  117. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/llamaindex/user_history.py +0 -0
  118. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/lookup/__init__.py +0 -0
  119. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/lookup/model_lookup.yaml +0 -0
  120. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/mcp/__init__.py +0 -0
  121. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/mcp/cli.py +0 -0
  122. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/pubsub/__init__.py +0 -0
  123. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/pubsub/process_pubsub.py +0 -0
  124. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/pubsub/pubsub_manager.py +0 -0
  125. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/qna/__init__.py +0 -0
  126. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/qna/parsers.py +0 -0
  127. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/qna/retry.py +0 -0
  128. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/senses/__init__.py +0 -0
  129. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/senses/stream_voice.py +0 -0
  130. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/streaming/__init__.py +0 -0
  131. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/streaming/content_buffer.py +0 -0
  132. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/streaming/langserve.py +0 -0
  133. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/streaming/stream_lookup.py +0 -0
  134. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/streaming/streaming.py +0 -0
  135. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/summarise/__init__.py +0 -0
  136. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/summarise/summarise.py +0 -0
  137. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/templates/agent/__init__.py +0 -0
  138. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/templates/agent/agent_service.py +0 -0
  139. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/templates/agent/app.py +0 -0
  140. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/templates/agent/my_log.py +0 -0
  141. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/templates/agent/tools/__init__.py +0 -0
  142. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/templates/agent/tools/your_agent.py +0 -0
  143. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/templates/agent/vac_service.py +0 -0
  144. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/templates/project/__init__.py +0 -0
  145. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/templates/project/app.py +0 -0
  146. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/templates/project/my_log.py +0 -0
  147. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/templates/project/vac_service.py +0 -0
  148. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/templates/system_services/__init__.py +0 -0
  149. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/templates/system_services/app.py +0 -0
  150. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/templates/system_services/my_log.py +0 -0
  151. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/terraform/__init__.py +0 -0
  152. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/terraform/tfvars_editor.py +0 -0
  153. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/tools/__init__.py +0 -0
  154. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/tools/web_browser.py +0 -0
  155. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/utils/__init__.py +0 -0
  156. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/utils/api_key.py +0 -0
  157. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/utils/big_context.py +0 -0
  158. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/utils/config.py +0 -0
  159. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/utils/config_class.py +0 -0
  160. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/utils/config_schema.py +0 -0
  161. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/utils/gcp.py +0 -0
  162. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/utils/gcp_project.py +0 -0
  163. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/utils/mime.py +0 -0
  164. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/utils/parsers.py +0 -0
  165. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/utils/timedelta.py +0 -0
  166. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/utils/user_ids.py +0 -0
  167. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/utils/version.py +0 -0
  168. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/vertex/__init__.py +0 -0
  169. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/vertex/extensions_call.py +0 -0
  170. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/vertex/extensions_class.py +0 -0
  171. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/vertex/genai_functions.py +0 -0
  172. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/vertex/init.py +0 -0
  173. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/vertex/memory_tools.py +0 -0
  174. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/vertex/safety.py +0 -0
  175. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo/vertex/type_dict_to_json.py +0 -0
  176. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo.egg-info/SOURCES.txt +0 -0
  177. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo.egg-info/dependency_links.txt +0 -0
  178. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo.egg-info/entry_points.txt +0 -0
  179. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo.egg-info/requires.txt +0 -0
  180. {sunholo-0.119.8 → sunholo-0.119.10}/src/sunholo.egg-info/top_level.txt +0 -0
  181. {sunholo-0.119.8 → sunholo-0.119.10}/tests/test_async.py +0 -0
  182. {sunholo-0.119.8 → sunholo-0.119.10}/tests/test_async_genai2.py +0 -0
  183. {sunholo-0.119.8 → sunholo-0.119.10}/tests/test_chat_history.py +0 -0
  184. {sunholo-0.119.8 → sunholo-0.119.10}/tests/test_config.py +0 -0
  185. {sunholo-0.119.8 → sunholo-0.119.10}/tests/test_genai2.py +0 -0
  186. {sunholo-0.119.8 → sunholo-0.119.10}/tests/test_unstructured.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sunholo
3
- Version: 0.119.8
3
+ Version: 0.119.10
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.119.8"
7
+ version = "0.119.10"
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"
@@ -38,7 +38,7 @@ def process_chunker_data(message_data, metadata, vector_name):
38
38
  return llamacheck
39
39
 
40
40
  # if only a discovery engine memory, return early as no other processing needed
41
- discovery_check = discovery_engine_chunker_check(message_data, metadata, config=config)
41
+ discovery_check = discovery_engine_chunker_check(message_data, metadata, config=config, process=False)
42
42
  if discovery_check:
43
43
  return discovery_check
44
44
 
@@ -125,7 +125,11 @@ def check_write_memories(config:ConfigManager):
125
125
 
126
126
  return write_mem
127
127
 
128
- def discovery_engine_chunker_check(message_data, metadata, vector_name:str=None, config:ConfigManager=None):
128
+ def discovery_engine_chunker_check(message_data,
129
+ metadata,
130
+ vector_name:str=None,
131
+ config:ConfigManager=None,
132
+ process:bool=True):
129
133
 
130
134
  if config is None:
131
135
  if vector_name is None:
@@ -139,7 +143,7 @@ def discovery_engine_chunker_check(message_data, metadata, vector_name:str=None,
139
143
 
140
144
  total_memories = len(check_write_memories(config))
141
145
  llama = None
142
- if check_discovery_engine_in_memory(config):
146
+ if check_discovery_engine_in_memory(config) and process:
143
147
  llama = do_discovery_engine(message_data, metadata, config=config)
144
148
  log.info(f"Processed discovery engine: {llama}")
145
149
 
@@ -223,12 +223,11 @@ def setup_discovery_engine_subparser(subparsers):
223
223
  # Search subcommand
224
224
  search_parser = discovery_engine_subparsers.add_parser('search', help='Search a Discovery Engine datastore')
225
225
  search_parser.add_argument('--query', required=True, help='The search query')
226
- search_parser.add_argument('--num-previous-chunks', type=int, default=3, help='Number of previous chunks to return for context')
227
- search_parser.add_argument('--num-next-chunks', type=int, default=3, help='Number of next chunks to return for context')
226
+ search_parser.add_argument('--data-store-id', required=True, help='Data store ID to search')
228
227
  search_parser.add_argument('--page-size', type=int, default=10, help='The maximum number of results to return per page')
229
228
  search_parser.add_argument('--parse-chunks-to-string', action='store_true', help='Combine chunks into a single string')
230
229
  search_parser.add_argument('--serving-config', default='default_serving_config', help='The serving configuration to use')
231
- search_parser.add_argument('--data-store-ids', nargs='+', help='List of data store IDs to search (optional)')
230
+
232
231
  search_parser.set_defaults(func=discovery_engine_command)
233
232
 
234
233
  # Search by ID and/or Date subcommand
@@ -5,12 +5,13 @@ from .discovery_engine_client import DiscoveryEngineClient
5
5
  from ..components import load_memories
6
6
  import traceback
7
7
 
8
- def get_all_chunks(question:str, config:ConfigManager):
8
+ def get_all_chunks(question:str, config:ConfigManager, filter_str=None):
9
9
  """
10
10
  Look through a config memory key and find all Vertex AI Search retrievers, call them and return a joined string of chunks
11
11
 
12
12
  args: question - question to search similarity for
13
13
  config: A ConfigManager object
14
+ filter_str: A filter that will restrict ai search via its metadata. See https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata
14
15
 
15
16
  returns: a big string of chunks
16
17
  """
@@ -39,7 +40,7 @@ def get_all_chunks(question:str, config:ConfigManager):
39
40
  project_id = gcp_config.get('project_id')
40
41
  serving_config = value.get('serving_config')
41
42
 
42
- chunk = get_chunks(question, vector_name, num_chunks, project_id=project_id, serving_config=serving_config)
43
+ chunk = get_chunks(question, vector_name, num_chunks, filter_str=filter_str, project_id=project_id, serving_config=serving_config)
43
44
  if chunk:
44
45
  chunks.append(chunk)
45
46
  if chunks:
@@ -48,23 +49,30 @@ def get_all_chunks(question:str, config:ConfigManager):
48
49
  log.warning(f"No chunks found for {vector_name}")
49
50
  return None
50
51
 
51
- def get_chunks(question, vector_name, num_chunks, project_id=None, serving_config=None):
52
+ def get_chunks(question, vector_name, num_chunks, filter_str=None, project_id=None, serving_config=None):
52
53
  if serving_config is None:
53
54
  serving_config = "default_serving_config"
54
55
  de = DiscoveryEngineClient(vector_name, project_id=project_id or get_gcp_project(include_config=True))
55
56
  try:
56
- return de.get_chunks(question, num_previous_chunks=num_chunks, num_next_chunks=num_chunks, serving_config=serving_config)
57
+ if filter_str:
58
+ return de.search_with_filters(query=question,
59
+ filter_str=filter_str,
60
+ num_previous_chunks=num_chunks,
61
+ num_next_chunks=num_chunks)
62
+ else:
63
+ return de.get_chunks(question, num_previous_chunks=num_chunks, num_next_chunks=num_chunks, serving_config=serving_config)
57
64
  except Exception as err:
58
- log.error(f"No discovery engine chunks found: {str(err)}")
65
+ log.error(f"No discovery engine chunks found: {str(err)} {traceback.format_exc()}")
59
66
 
60
67
 
61
68
 
62
- async def async_get_all_chunks(question:str, config:ConfigManager):
69
+ async def async_get_all_chunks(question:str, config:ConfigManager, filter_str=None):
63
70
  """
64
71
  Look through a config memory key and find all Vertex AI Search retrievers, call them and return a joined string of chunks
65
72
 
66
73
  args: question - question to search similarity for
67
74
  config: A ConfigManager object
75
+ filter_str: A filter that will restrict ai search via its metadata. See https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata
68
76
 
69
77
  returns: a big string of chunks
70
78
  """
@@ -87,10 +95,16 @@ async def async_get_all_chunks(question:str, config:ConfigManager):
87
95
  continue
88
96
  else:
89
97
  vector_name = new_vector_name
90
-
98
+
99
+ project_id = value.get('project_id') or get_gcp_project(include_config=True)
91
100
  num_chunks = value.get('num_chunks') or 3
92
101
 
93
- chunk = await async_get_chunks(question, vector_name, num_chunks)
102
+ chunk = await async_get_chunks(question,
103
+ vector_name=vector_name,
104
+ num_chunks=num_chunks,
105
+ filter_str=filter_str,
106
+ project_id=project_id)
107
+
94
108
  if chunk:
95
109
  chunks.append(chunk)
96
110
  if chunks:
@@ -99,9 +113,12 @@ async def async_get_all_chunks(question:str, config:ConfigManager):
99
113
  log.warning(f"No chunks found for {vector_name}")
100
114
  return None
101
115
 
102
- async def async_get_chunks(question, vector_name, num_chunks):
103
- de = DiscoveryEngineClient(vector_name, project_id=get_gcp_project(include_config=True))
116
+ async def async_get_chunks(question, vector_name, num_chunks, filter_str, project_id=None):
117
+ de = DiscoveryEngineClient(vector_name, project_id=project_id)
104
118
  try:
105
- return await de.async_get_chunks(question, num_previous_chunks=num_chunks, num_next_chunks=num_chunks)
119
+ return await de.search_with_filters(query=question,
120
+ filter_str=filter_str,
121
+ num_previous_chunks=num_chunks,
122
+ num_next_chunks=num_chunks)
106
123
  except Exception as err:
107
124
  log.error(f"No discovery engine chunks found: {str(err)} {traceback.format_exc()}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sunholo
3
- Version: 0.119.8
3
+ Version: 0.119.10
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