sunholo 0.119.12__tar.gz → 0.119.14__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.119.12/src/sunholo.egg-info → sunholo-0.119.14}/PKG-INFO +1 -1
- {sunholo-0.119.12 → sunholo-0.119.14}/pyproject.toml +1 -1
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/discovery_engine/discovery_engine_client.py +92 -2
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/discovery_engine/get_ai_search_chunks.py +1 -1
- {sunholo-0.119.12 → sunholo-0.119.14/src/sunholo.egg-info}/PKG-INFO +1 -1
- {sunholo-0.119.12 → sunholo-0.119.14}/LICENSE.txt +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/MANIFEST.in +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/README.md +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/setup.cfg +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/agents/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/agents/chat_history.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/agents/dispatch_to_qa.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/agents/fastapi/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/agents/fastapi/base.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/agents/fastapi/qna_routes.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/agents/flask/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/agents/flask/base.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/agents/flask/qna_routes.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/agents/flask/vac_routes.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/agents/langserve.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/agents/pubsub.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/agents/route.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/agents/special_commands.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/agents/swagger.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/archive/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/archive/archive.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/auth/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/auth/gcloud.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/auth/refresh.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/auth/run.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/azure/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/azure/auth.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/azure/blobs.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/azure/event_grid.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/bots/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/bots/discord.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/bots/github_webhook.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/bots/webapp.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/chunker/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/chunker/azure.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/chunker/doc_handling.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/chunker/encode_metadata.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/chunker/images.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/chunker/loaders.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/chunker/message_data.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/chunker/pdfs.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/chunker/process_chunker_data.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/chunker/publish.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/chunker/pubsub.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/chunker/splitter.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/cli/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/cli/chat_vac.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/cli/cli.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/cli/cli_init.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/cli/configs.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/cli/deploy.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/cli/embedder.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/cli/merge_texts.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/cli/run_proxy.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/cli/sun_rich.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/cli/swagger.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/cli/vertex.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/components/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/components/llm.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/components/retriever.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/components/vectorstore.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/custom_logging.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/database/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/database/alloydb.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/database/alloydb_client.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/database/database.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/database/lancedb.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/database/sql/sb/create_function.sql +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/database/sql/sb/create_function_time.sql +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/database/sql/sb/create_table.sql +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/database/sql/sb/delete_source_row.sql +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/database/sql/sb/return_sources.sql +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/database/sql/sb/setup.sql +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/database/static_dbs.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/database/uuid.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/discovery_engine/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/discovery_engine/chunker_handler.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/discovery_engine/cli.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/discovery_engine/create_new.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/embedder/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/embedder/embed_chunk.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/embedder/embed_metadata.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/excel/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/excel/plugin.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/gcs/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/gcs/add_file.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/gcs/download_folder.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/gcs/download_url.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/gcs/extract_and_sign.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/gcs/metadata.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/genai/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/genai/file_handling.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/genai/genaiv2.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/genai/images.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/genai/init.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/genai/process_funcs_cls.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/genai/safety.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/invoke/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/invoke/async_class.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/invoke/direct_vac_func.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/invoke/invoke_vac_utils.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/langchain_types.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/langfuse/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/langfuse/callback.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/langfuse/evals.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/langfuse/prompts.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/llamaindex/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/llamaindex/get_files.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/llamaindex/import_files.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/llamaindex/llamaindex_class.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/llamaindex/user_history.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/lookup/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/lookup/model_lookup.yaml +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/mcp/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/mcp/cli.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/pubsub/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/pubsub/process_pubsub.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/pubsub/pubsub_manager.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/qna/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/qna/parsers.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/qna/retry.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/senses/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/senses/stream_voice.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/streaming/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/streaming/content_buffer.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/streaming/langserve.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/streaming/stream_lookup.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/streaming/streaming.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/summarise/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/summarise/summarise.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/templates/agent/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/templates/agent/agent_service.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/templates/agent/app.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/templates/agent/my_log.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/templates/agent/tools/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/templates/agent/tools/your_agent.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/templates/agent/vac_service.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/templates/project/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/templates/project/app.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/templates/project/my_log.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/templates/project/vac_service.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/templates/system_services/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/templates/system_services/app.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/templates/system_services/my_log.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/terraform/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/terraform/tfvars_editor.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/tools/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/tools/web_browser.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/utils/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/utils/api_key.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/utils/big_context.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/utils/config.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/utils/config_class.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/utils/config_schema.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/utils/gcp.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/utils/gcp_project.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/utils/mime.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/utils/parsers.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/utils/timedelta.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/utils/user_ids.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/utils/version.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/vertex/__init__.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/vertex/extensions_call.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/vertex/extensions_class.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/vertex/genai_functions.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/vertex/init.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/vertex/memory_tools.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/vertex/safety.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/vertex/type_dict_to_json.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo.egg-info/SOURCES.txt +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo.egg-info/dependency_links.txt +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo.egg-info/entry_points.txt +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo.egg-info/requires.txt +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo.egg-info/top_level.txt +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/tests/test_async.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/tests/test_async_genai2.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/tests/test_chat_history.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/tests/test_config.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/tests/test_genai2.py +0 -0
- {sunholo-0.119.12 → sunholo-0.119.14}/tests/test_unstructured.py +0 -0
{sunholo-0.119.12 → sunholo-0.119.14}/src/sunholo/discovery_engine/discovery_engine_client.py
RENAMED
@@ -350,6 +350,7 @@ class DiscoveryEngineClient:
|
|
350
350
|
f"## metadata\n"
|
351
351
|
f"Document URI: {chunk.document_metadata.uri}\n"
|
352
352
|
f"Document Title: {chunk.document_metadata.title}\n"
|
353
|
+
f"Document ImportTime: {chunk.document_metadata.eventTime}\n"
|
353
354
|
)
|
354
355
|
|
355
356
|
def process_chunks(self, response):
|
@@ -357,7 +358,8 @@ class DiscoveryEngineClient:
|
|
357
358
|
|
358
359
|
# Check if the response contains results
|
359
360
|
if not hasattr(response, 'results') or not response.results:
|
360
|
-
|
361
|
+
log.info(f'No results found in response: {response=}')
|
362
|
+
return []
|
361
363
|
|
362
364
|
# Iterate through each result in the response
|
363
365
|
for result in response.results:
|
@@ -386,7 +388,8 @@ class DiscoveryEngineClient:
|
|
386
388
|
|
387
389
|
# Check if the response contains results
|
388
390
|
if not hasattr(response, 'results') or not response.results:
|
389
|
-
|
391
|
+
log.info(f'No results found in response: {response=}')
|
392
|
+
return []
|
390
393
|
|
391
394
|
# Iterate through each result in the response
|
392
395
|
for result in response.results:
|
@@ -726,6 +729,67 @@ class DiscoveryEngineClient:
|
|
726
729
|
log.info("Discovery engine response object")
|
727
730
|
return search_response
|
728
731
|
|
732
|
+
async def async_search_with_filters(self, query, filter_str=None,
|
733
|
+
num_previous_chunks=3, num_next_chunks=3,
|
734
|
+
page_size=10, parse_chunks_to_string=True,
|
735
|
+
serving_config="default_serving_config",
|
736
|
+
data_store_ids: Optional[List[str]] = None):
|
737
|
+
"""
|
738
|
+
Searches with a generic filter string asynchronously.
|
739
|
+
|
740
|
+
Args:
|
741
|
+
query (str): The search query.
|
742
|
+
filter_str (str, optional): The filter string to apply (e.g., "source LIKE 'my_source' AND eventTime > TIMESTAMP('2024-01-01')").
|
743
|
+
#... other parameters from get_chunks
|
744
|
+
|
745
|
+
Returns:
|
746
|
+
discoveryengine.SearchResponse or str: The search response object or string of chunks.
|
747
|
+
"""
|
748
|
+
|
749
|
+
serving_config_path = self.async_search_client.serving_config_path(
|
750
|
+
self.project_id,
|
751
|
+
self.location,
|
752
|
+
self.data_store_id,
|
753
|
+
serving_config
|
754
|
+
)
|
755
|
+
|
756
|
+
search_request = discoveryengine.SearchRequest(
|
757
|
+
serving_config=serving_config_path,
|
758
|
+
query=query,
|
759
|
+
page_size=page_size,
|
760
|
+
content_search_spec=discoveryengine.SearchRequest.ContentSearchSpec(
|
761
|
+
search_result_mode="CHUNKS",
|
762
|
+
chunk_spec=discoveryengine.SearchRequest.ContentSearchSpec.ChunkSpec(
|
763
|
+
num_previous_chunks=num_previous_chunks,
|
764
|
+
num_next_chunks=num_next_chunks,
|
765
|
+
),
|
766
|
+
),
|
767
|
+
filter=filter_str # name:'ANY("king kong")'
|
768
|
+
)
|
769
|
+
|
770
|
+
if data_store_ids:
|
771
|
+
search_request.data_store_specs = [
|
772
|
+
discoveryengine.SearchRequest.DataStoreSpec(
|
773
|
+
data_store=self._search_data_store_path(data_store_id, serving_config=serving_config)
|
774
|
+
)
|
775
|
+
for data_store_id in data_store_ids
|
776
|
+
]
|
777
|
+
|
778
|
+
log.info(f"Discovery engine request with filter: {search_request=}")
|
779
|
+
try:
|
780
|
+
search_response = await self.async_search_client.search(search_request)
|
781
|
+
except Exception as e:
|
782
|
+
log.info(f"No results {search_request.data_store_specs=}: {str(e)}")
|
783
|
+
return None
|
784
|
+
|
785
|
+
if parse_chunks_to_string:
|
786
|
+
big_string = await self.async_process_chunks(search_response)
|
787
|
+
log.info(f"Discovery engine chunks string sample: {big_string[:100]}")
|
788
|
+
return big_string
|
789
|
+
|
790
|
+
log.info("Discovery engine response object")
|
791
|
+
return search_response
|
792
|
+
|
729
793
|
def search_by_objectId_and_or_date(self, query, objectId=None, date=None, **kwargs):
|
730
794
|
"""
|
731
795
|
Searches and filters by objectId (exact match) and/or date.
|
@@ -751,3 +815,29 @@ class DiscoveryEngineClient:
|
|
751
815
|
else:
|
752
816
|
# No filters, perform regular search
|
753
817
|
return self.search_with_filters(query, **kwargs)
|
818
|
+
|
819
|
+
async def async_search_by_objectId_and_or_date(self, query, objectId=None, date=None, **kwargs):
|
820
|
+
"""
|
821
|
+
Searches and filters by objectId (exact match) and/or date asynchronously.
|
822
|
+
|
823
|
+
Args:
|
824
|
+
query (str): The search query.
|
825
|
+
objectId (str, optional): The exact objectId to filter by.
|
826
|
+
date (str, optional): The literal_iso_8601_datetime_format date to filter by e.g. 2025-02-24T12:25:30.123Z
|
827
|
+
**kwargs: Additional keyword arguments to pass to `async_search_with_filters`.
|
828
|
+
|
829
|
+
Returns:
|
830
|
+
list: A list of search results.
|
831
|
+
"""
|
832
|
+
filter_clauses = []
|
833
|
+
if objectId:
|
834
|
+
filter_clauses.append(f'objectId: ANY("{objectId}")')
|
835
|
+
if date:
|
836
|
+
filter_clauses.append(f'eventTime >= "{date}"')
|
837
|
+
|
838
|
+
if filter_clauses:
|
839
|
+
filter_str = " AND ".join(filter_clauses) # Combine with AND
|
840
|
+
return await self.async_search_with_filters(query, filter_str, **kwargs)
|
841
|
+
else:
|
842
|
+
# No filters, perform regular search
|
843
|
+
return await self.async_search_with_filters(query, **kwargs)
|
@@ -116,7 +116,7 @@ async def async_get_all_chunks(question:str, config:ConfigManager, filter_str=No
|
|
116
116
|
async def async_get_chunks(question, vector_name, num_chunks, filter_str, project_id=None):
|
117
117
|
de = DiscoveryEngineClient(vector_name, project_id=project_id)
|
118
118
|
try:
|
119
|
-
return await de.
|
119
|
+
return await de.async_search_with_filters(query=question,
|
120
120
|
filter_str=filter_str,
|
121
121
|
num_previous_chunks=num_chunks,
|
122
122
|
num_next_chunks=num_chunks)
|
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
|
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
|