diff --git a/3.25.3-master.json b/3.25.3-master.json
new file mode 100644
index 00000000..91df141d
--- /dev/null
+++ b/3.25.3-master.json
@@ -0,0 +1 @@
+{"authors": "dev-team@jina.ai", "description": "Build multimodal AI services via cloud native technologies", "docs": "https://docs.jina.ai", "license": "Apache 2.0", "methods": [{"help": "Start an Executor. Jina uses Executors process Documents", "name": "executor", "options": [{"choices": null, "default": null, "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": "ANY", "default_random": false, "help": "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}\n    \n    ", "name": "polling", "option_strings": ["--polling"], "required": false, "type": "str"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "name": "shards", "option_strings": ["--shards"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas in the deployment", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "name": "native", "option_strings": ["--native"], "required": false, "type": "bool"}, {"choices": null, "default": "BaseExecutor", "default_random": false, "help": "\n        The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `metas` configuration in `uses`\n    ", "name": "uses_metas", "option_strings": ["--uses-metas"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `requests` configuration in `uses`\n        ", "name": "uses_requests", "option_strings": ["--uses-requests"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`\n        ", "name": "uses_dynamic_batching", "option_strings": ["--uses-dynamic-batching"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.\n", "name": "output_array_type", "option_strings": ["--output-array-type"], "required": false, "type": "str"}, {"choices": null, "default": [], "default_random": false, "help": "List of exceptions that will cause the Executor to shut down.", "name": "exit_on_exceptions", "option_strings": ["--exit-on-exceptions"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": false, "default_random": false, "help": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "name": "no_reduce", "option_strings": ["--no-reduce", "--disable-reduce"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "name": "allow_concurrent", "option_strings": ["--allow-concurrent"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "name": "raft_configuration", "option_strings": ["--raft-configuration"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.\n    ", "name": "volumes", "option_strings": ["--volumes"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\n    This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n        ", "name": "gpus", "option_strings": ["--gpus"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "Do not automatically mount a volume for dockerized Executors.", "name": "disable_auto_volume", "option_strings": ["--disable-auto-volume"], "required": false, "type": "bool"}, {"choices": null, "default": ["0.0.0.0"], "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": "WorkerRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}, {"choices": null, "default": [62072], "default_random": true, "help": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "name": "port", "option_strings": ["--port", "--ports"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [65048], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_before_address", "option_strings": ["--uses-before-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_after_address", "option_strings": ["--uses-after-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "dictionary JSON with a list of connections to configure", "name": "connection_list", "option_strings": ["--connection-list"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}]}, {"help": "Start a Flow. Jina uses Flows to streamline and distribute Executors", "name": "flow", "options": [{"choices": null, "default": null, "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no root handlers will be suppressed from logging.", "name": "suppress_root_logging", "option_strings": ["--suppress-root-logging"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The YAML path represents a flow. It can be either a local file path or a URL.", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, auto-reloading on file changes is enabled: the Flow will restart while blocked if  YAML configuration source is changed. This also applies apply to underlying Executors, if their source code or YAML configuration has changed.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": ["HANG", "REMOVE", "COLLECT"], "default": "COLLECT", "default_random": false, "help": "\n    The strategy on those inspect deployments in the flow.\n\n    If `REMOVE` is given then all inspect deployments are removed when building the flow.\n    ", "name": "inspect", "option_strings": ["--inspect"], "required": false, "type": "str"}]}, {"help": "Ping a remote Executor or Flow.", "name": "ping", "options": [{"choices": ["flow", "executor", "gateway"], "default": "executor", "default_random": false, "help": "The target type to ping. For `executor` and `gateway`, checks the readiness of the individual service. For `flow` it checks the connectivity of the complete microservice architecture.", "name": "target", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The host address with port of a target Executor, Gateway or a Flow, e.g. 0.0.0.0:8000. For Flow or Gateway, host can also indicate the protocol, grpc will be used if not provided, e.g http://0.0.0.0:8000", "name": "host", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": 3000, "default_random": false, "help": "\nTimeout in millisecond of one check\nUse -1 for waiting forever\n", "name": "timeout", "option_strings": ["--timeout"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of readiness checks to perform", "name": "attempts", "option_strings": ["--attempts"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The minimum number of successful readiness checks, before exiting successfully with exit(0)", "name": "min_successful_attempts", "option_strings": ["--min-successful-attempts"], "required": false, "type": "int"}]}, {"help": "Export Jina API and Flow to JSONSchema, Kubernetes YAML, or SVG flowchart", "methods": [{"help": null, "name": "flowchart", "options": [{"choices": null, "default": null, "default_random": false, "help": "The input file path of a Flow or Deployment YAML ", "name": "config_path", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The output path", "name": "outpath", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then the flowchart is rendered vertically from top to down.", "name": "vertical_layout", "option_strings": ["--vertical-layout"], "required": false, "type": "bool"}]}, {"help": null, "name": "kubernetes", "options": [{"choices": null, "default": null, "default_random": false, "help": "The input file path of a Flow or Deployment YAML ", "name": "config_path", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The output path", "name": "outpath", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The name of the k8s namespace to set for the configurations. If None, the name of the Flow will be used.", "name": "k8s_namespace", "option_strings": ["--k8s-namespace"], "required": false, "type": "str"}]}, {"help": null, "name": "docker-compose", "options": [{"choices": null, "default": null, "default_random": false, "help": "The input file path of a Flow or Deployment YAML ", "name": "config_path", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The output path", "name": "outpath", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The name of the network that will be used by the deployment name.", "name": "network_name", "option_strings": ["--network_name"], "required": false, "type": "str"}]}, {"help": null, "name": "schema", "options": [{"choices": null, "default": null, "default_random": false, "help": "The YAML file path for storing the exported API", "name": "yaml_path", "option_strings": ["--yaml-path"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "The JSON file path for storing the exported API", "name": "json_path", "option_strings": ["--json-path"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "The JSONSchema file path for storing the exported API", "name": "schema_path", "option_strings": ["--schema-path"], "required": false, "type": "typing.List[str]"}]}], "name": "export", "options": []}, {"help": "Create a new Jina project with a predefined template", "name": "new", "options": [{"choices": null, "default": "hello-jina", "default_random": false, "help": "The name of the project", "name": "name", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": "flow", "default_random": false, "help": "The type of project to be created (either flow or deployment)", "name": "type", "option_strings": ["--type"], "required": false, "type": "str"}]}, {"help": "Start a Gateway to receive client Requests via gRPC/RESTful interface", "name": "gateway", "options": [{"choices": null, "default": "gateway", "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": 1000, "default_random": false, "help": "\n    Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "name": "prefetch", "option_strings": ["--prefetch"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "title", "option_strings": ["--title"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "description", "option_strings": ["--description"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "\n        If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.\n        ", "name": "cors", "option_strings": ["--cors"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/\n\n", "name": "uvicorn_kwargs", "option_strings": ["--uvicorn-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        the path to the certificate file\n        ", "name": "ssl_certfile", "option_strings": ["--ssl-certfile"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n            the path to the key file\n            ", "name": "ssl_keyfile", "option_strings": ["--ssl-keyfile"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, `/status` `/post` endpoints are removed from HTTP interface. ", "name": "no_debug_endpoints", "option_strings": ["--no-debug-endpoints"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "\n        If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.\n        ", "name": "no_crud_endpoints", "option_strings": ["--no-crud-endpoints"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\n        A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.\n        ", "name": "expose_endpoints", "option_strings": ["--expose-endpoints"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, /graphql endpoint is added to HTTP interface. ", "name": "expose_graphql_endpoint", "option_strings": ["--expose-graphql-endpoint"], "required": false, "type": "bool"}, {"choices": null, "default": "0.0.0.0", "default_random": false, "help": "The host address of the runtime, by default it is 0.0.0.0.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "name": "proxy", "option_strings": ["--proxy"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\n        The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": "{}", "default_random": false, "help": "Routing graph for the gateway", "name": "graph_description", "option_strings": ["--graph-description"], "required": false, "type": "str"}, {"choices": null, "default": "{}", "default_random": false, "help": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "name": "graph_conditions", "option_strings": ["--graph-conditions"], "required": false, "type": "str"}, {"choices": null, "default": "{}", "default_random": false, "help": "JSON dictionary with the input addresses of each Deployment", "name": "deployments_addresses", "option_strings": ["--deployments-addresses"], "required": false, "type": "str"}, {"choices": null, "default": "{}", "default_random": false, "help": "JSON dictionary with the request metadata for each Deployment", "name": "deployments_metadata", "option_strings": ["--deployments-metadata"], "required": false, "type": "str"}, {"choices": null, "default": "[]", "default_random": false, "help": "list JSON disabling the built-in merging mechanism for each Deployment listed", "name": "deployments_no_reduce", "option_strings": ["--deployments-no-reduce", "--deployments-disable-reduce"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}, {"choices": null, "default": "GatewayRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": [52020], "default_random": true, "help": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "name": "port", "option_strings": ["--port", "--ports", "--port-expose", "--port-in"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [52583], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}]}, {"help": "Log in to Jina AI with your GitHub/Google/Email account", "methods": [{"help": "Login to Jina AI Ecosystem", "name": "login", "options": [{"choices": null, "default": false, "default_random": false, "help": "Force to login", "name": "force", "option_strings": ["-f", "--force"], "required": false, "type": "bool"}]}, {"help": "Logout from Jina AI Ecosystem", "methods": [], "name": "logout", "options": []}, {"help": "Commands for Personal Access Token", "methods": [{"help": "Create a Personal Access Token", "name": "create", "options": [{"choices": null, "default": 7, "default_random": false, "help": "Validity period (days)", "name": "expire", "option_strings": ["-e", "--expire"], "required": false, "type": "int"}, {"choices": null, "default": "table", "default_random": false, "help": "Display format of the token, one of [table, raw]", "name": "format", "option_strings": ["--format"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "Name of Personal Access Token", "name": "name", "option_strings": [], "required": true, "type": "str"}]}, {"help": "Revoke a Personal Access Token", "name": "delete", "options": [{"choices": null, "default": null, "default_random": false, "help": "Name of Personal Access Token which you want to delete", "name": "name", "option_strings": [], "required": true, "type": "str"}]}, {"help": "List all Personal Access Tokens", "methods": [], "name": "list", "options": []}], "name": "token", "options": []}], "name": "auth", "options": []}, {"help": "Push/pull Executor to/from Executor Hub", "methods": [{"help": "Create a new executor using the template", "name": "new", "options": [{"choices": null, "default": null, "default_random": false, "help": "the name of the Executor", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "the path to store the Executor", "name": "path", "option_strings": ["--path"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always set up advance configuration like description, keywords and url", "name": "advance_configuration", "option_strings": ["--advance-configuration"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "the short description of the Executor", "name": "description", "option_strings": ["--description"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "some keywords to help people search your Executor (separated by comma)", "name": "keywords", "option_strings": ["--keywords"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "the URL of your GitHub repo", "name": "url", "option_strings": ["--url"], "required": false, "type": "str"}, {"choices": ["cpu", "tf-gpu", "torch-gpu", "jax-gpu"], "default": null, "default_random": false, "help": "The Dockerfile template to use for the Executor", "name": "dockerfile", "option_strings": ["--dockerfile"], "required": false, "type": "str"}]}, {"help": "Push an executor package to Jina hub", "name": "push", "options": [{"choices": null, "default": false, "default_random": false, "help": "If set, Hub executor usage will not be printed.", "name": "no_usage", "option_strings": ["--no-usage"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, more information will be printed.", "name": "verbose", "option_strings": ["--verbose"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The Executor folder to be pushed to Jina Hub", "name": "path", "option_strings": [], "required": true, "type": "dir_path"}, {"choices": null, "default": null, "default_random": false, "help": "The file path to the Dockerfile (default is `${cwd}/Dockerfile`)", "name": "dockerfile", "option_strings": ["-f", "--dockerfile"], "required": false, "type": "None"}, {"choices": null, "default": null, "default_random": false, "help": "If set, push will overwrite the Executor on the Hub that shares the same NAME or UUID8 identifier", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "A comma separated list of target Docker platforms. Explicitly set target platform(s) for build. (e.g. \"linux/amd64,linux/arm64\")", "name": "platform", "option_strings": ["--platform"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The secret for overwrite a Hub executor", "name": "secret", "option_strings": ["--secret"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, \"--no-cache\" option will be added to the Docker build.", "name": "no_cache", "option_strings": ["--no-cache"], "required": false, "type": "bool"}, {"choices": null, "default": "==SUPPRESS==", "default_random": false, "help": "If set, the pushed executor is visible to public", "name": "public", "option_strings": ["--public"], "required": false, "type": "bool"}, {"choices": null, "default": "==SUPPRESS==", "default_random": false, "help": "If set, the pushed executor is invisible to public", "name": "private", "option_strings": ["--private"], "required": false, "type": "bool"}]}, {"help": "Download an executor image/package from Jina hub", "name": "pull", "options": [{"choices": null, "default": false, "default_random": false, "help": "If set, Hub executor usage will not be printed.", "name": "no_usage", "option_strings": ["--no-usage"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The URI of the executor to pull (e.g., jinaai[+docker]://<username>/NAME)", "name": "uri", "option_strings": [], "required": true, "type": "hub_uri"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, install `requirements.txt` in the Hub Executor bundle to local", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}]}, {"help": "Query an executor building status of of a pushed Executor from Jina hub", "name": "status", "options": [{"choices": null, "default": ".", "default_random": false, "help": "The Executor folder to be pushed to Jina Hub.", "name": "path", "option_strings": [], "required": false, "type": "dir_path"}, {"choices": null, "default": null, "default_random": false, "help": "If set, you can get the specified building state of a pushed Executor.", "name": "id", "option_strings": ["--id"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, more building status information of a pushed Executor will be printed.", "name": "verbose", "option_strings": ["--verbose"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, history building status information of a pushed Executor will be printed.", "name": "replay", "option_strings": ["--replay"], "required": false, "type": "bool"}]}, {"help": "List your local Jina Executors", "methods": [], "name": "list", "options": []}], "name": "hub", "options": []}, {"help": "Manage Flows on Jina Cloud", "name": "cloud", "options": [{"choices": ["DEBUG", "INFO", "CRITICAL", "NOTSET"], "default": "INFO", "default_random": false, "help": "Set the loglevel of the logger", "name": "loglevel", "option_strings": ["--loglevel"], "required": false, "type": "str"}]}, {"help": "Show help text of a CLI argument", "name": "help", "options": [{"choices": null, "default": null, "default_random": false, "help": "Look up usage & mention of argument name in Jina API. The name can be fuzzy", "name": "query", "option_strings": [], "required": true, "type": "str"}]}, {"help": "Start a Pod. You should rarely use this directly unless you are doing low-level orchestration", "name": "pod", "options": [{"choices": null, "default": null, "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": "ANY", "default_random": false, "help": "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}\n    \n    ", "name": "polling", "option_strings": ["--polling"], "required": false, "type": "str"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "name": "shards", "option_strings": ["--shards"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas in the deployment", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "name": "native", "option_strings": ["--native"], "required": false, "type": "bool"}, {"choices": null, "default": "BaseExecutor", "default_random": false, "help": "\n        The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `metas` configuration in `uses`\n    ", "name": "uses_metas", "option_strings": ["--uses-metas"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `requests` configuration in `uses`\n        ", "name": "uses_requests", "option_strings": ["--uses-requests"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`\n        ", "name": "uses_dynamic_batching", "option_strings": ["--uses-dynamic-batching"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.\n", "name": "output_array_type", "option_strings": ["--output-array-type"], "required": false, "type": "str"}, {"choices": null, "default": [], "default_random": false, "help": "List of exceptions that will cause the Executor to shut down.", "name": "exit_on_exceptions", "option_strings": ["--exit-on-exceptions"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": false, "default_random": false, "help": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "name": "no_reduce", "option_strings": ["--no-reduce", "--disable-reduce"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "name": "allow_concurrent", "option_strings": ["--allow-concurrent"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "name": "raft_configuration", "option_strings": ["--raft-configuration"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.\n    ", "name": "volumes", "option_strings": ["--volumes"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\n    This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n        ", "name": "gpus", "option_strings": ["--gpus"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "Do not automatically mount a volume for dockerized Executors.", "name": "disable_auto_volume", "option_strings": ["--disable-auto-volume"], "required": false, "type": "bool"}, {"choices": null, "default": ["0.0.0.0"], "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": "WorkerRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}, {"choices": null, "default": [50228], "default_random": true, "help": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "name": "port", "option_strings": ["--port", "--ports"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [52244], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_before_address", "option_strings": ["--uses-before-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_after_address", "option_strings": ["--uses-after-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "dictionary JSON with a list of connections to configure", "name": "connection_list", "option_strings": ["--connection-list"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}]}, {"help": "Start a Deployment. You should rarely use this directly unless you are doing low-level orchestration", "name": "deployment", "options": [{"choices": null, "default": "executor", "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": "ANY", "default_random": false, "help": "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}\n    \n    ", "name": "polling", "option_strings": ["--polling"], "required": false, "type": "str"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "name": "shards", "option_strings": ["--shards"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas in the deployment", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "name": "native", "option_strings": ["--native"], "required": false, "type": "bool"}, {"choices": null, "default": "BaseExecutor", "default_random": false, "help": "\n        The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `metas` configuration in `uses`\n    ", "name": "uses_metas", "option_strings": ["--uses-metas"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `requests` configuration in `uses`\n        ", "name": "uses_requests", "option_strings": ["--uses-requests"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`\n        ", "name": "uses_dynamic_batching", "option_strings": ["--uses-dynamic-batching"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.\n", "name": "output_array_type", "option_strings": ["--output-array-type"], "required": false, "type": "str"}, {"choices": null, "default": [], "default_random": false, "help": "List of exceptions that will cause the Executor to shut down.", "name": "exit_on_exceptions", "option_strings": ["--exit-on-exceptions"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": false, "default_random": false, "help": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "name": "no_reduce", "option_strings": ["--no-reduce", "--disable-reduce"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "name": "allow_concurrent", "option_strings": ["--allow-concurrent"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "name": "raft_configuration", "option_strings": ["--raft-configuration"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.\n    ", "name": "volumes", "option_strings": ["--volumes"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\n    This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n        ", "name": "gpus", "option_strings": ["--gpus"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "Do not automatically mount a volume for dockerized Executors.", "name": "disable_auto_volume", "option_strings": ["--disable-auto-volume"], "required": false, "type": "bool"}, {"choices": null, "default": ["0.0.0.0"], "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": "WorkerRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}, {"choices": null, "default": [51370], "default_random": true, "help": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "name": "port", "option_strings": ["--port", "--ports"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [64862], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_before_address", "option_strings": ["--uses-before-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_after_address", "option_strings": ["--uses-after-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "dictionary JSON with a list of connections to configure", "name": "connection_list", "option_strings": ["--connection-list"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The executor attached before the Pods described by --uses, typically before sending to all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "name": "uses_before", "option_strings": ["--uses-before"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The executor attached after the Pods described by --uses, typically used for receiving from all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "name": "uses_after", "option_strings": ["--uses-after"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The condition that the documents need to fulfill before reaching the Executor.The condition can be defined in the form of a `DocArray query condition <https://docarray.jina.ai/fundamentals/documentarray/find/#query-by-conditions>`", "name": "when", "option_strings": ["--when"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "The Deployment will be considered an external Deployment that has been started independently from the Flow.This Deployment will not be context managed by the Flow.", "name": "external", "option_strings": ["--external"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The metadata to be passed to the gRPC request.", "name": "grpc_metadata", "option_strings": ["--grpc-metadata"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, connect to deployment using tls encryption", "name": "tls", "option_strings": ["--tls"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "title", "option_strings": ["--title"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "description", "option_strings": ["--description"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "\n        If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.\n        ", "name": "cors", "option_strings": ["--cors"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/\n\n", "name": "uvicorn_kwargs", "option_strings": ["--uvicorn-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        the path to the certificate file\n        ", "name": "ssl_certfile", "option_strings": ["--ssl-certfile"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n            the path to the key file\n            ", "name": "ssl_keyfile", "option_strings": ["--ssl-keyfile"], "required": false, "type": "str"}]}, {"help": "Start a Python client that connects to a Jina Gateway", "name": "client", "options": [{"choices": null, "default": false, "default_random": false, "help": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "name": "proxy", "option_strings": ["--proxy"], "required": false, "type": "bool"}, {"choices": null, "default": "0.0.0.0", "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The port of the Gateway, which the client should connect to.", "name": "port", "option_strings": ["--port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, connect to gateway using tls encryption", "name": "tls", "option_strings": ["--tls"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then the input and output of this Client work in an asynchronous manner. ", "name": "asyncio", "option_strings": ["--asyncio"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": "GRPC", "default_random": false, "help": "Communication protocol between server and client.", "name": "protocol", "option_strings": ["--protocol"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": 1000, "default_random": false, "help": "\n    Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "name": "prefetch", "option_strings": ["--prefetch"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no root handlers will be suppressed from logging.", "name": "suppress_root_logging", "option_strings": ["--suppress-root-logging"], "required": false, "type": "bool"}]}], "name": "Jina", "revision": null, "source": "https://github.com/jina-ai/jina/tree/master", "url": "https://jina.ai", "vendor": "Jina AI Limited", "version": "3.25.3"}
\ No newline at end of file
diff --git a/3.25.3-master.yml b/3.25.3-master.yml
new file mode 100644
index 00000000..b13c92a2
--- /dev/null
+++ b/3.25.3-master.yml
@@ -0,0 +1,3413 @@
+name: Jina
+description: Build multimodal AI services via cloud native technologies
+license: Apache 2.0
+vendor: Jina AI Limited
+source: https://github.com/jina-ai/jina/tree/master
+url: https://jina.ai
+docs: https://docs.jina.ai
+authors: dev-team@jina.ai
+version: 3.25.3
+methods:
+- name: executor
+  options:
+  - help: "\n    The name of this object.\n\n    This will be used in the following\
+      \ places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n\
+      \    - log message header\n    - ...\n\n    When not given, then the default\
+      \ naming strategy will apply.\n                        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --name
+    type: str
+    default_random: false
+    name: name
+  - help: The working directory for any IO operations in this object. If not set,
+      then derive from its parent `workspace`.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --workspace
+    type: str
+    default_random: false
+    name: workspace
+  - help: The config name or the absolute path to the YAML config file of the logger
+      used in this object.
+    choices: null
+    default: default
+    required: false
+    option_strings:
+    - --log-config
+    type: str
+    default_random: false
+    name: log_config
+  - help: If set, then no log will be emitted from this object.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --quiet
+    type: bool
+    default_random: false
+    name: quiet
+  - help: If set, then exception stack information will not be added to the log
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --quiet-error
+    type: bool
+    default_random: false
+    name: quiet_error
+  - help: The timeout in milliseconds of the control request, -1 for waiting forever
+    choices: null
+    default: 60
+    required: false
+    option_strings:
+    - --timeout-ctrl
+    type: int
+    default_random: false
+    name: timeout_ctrl
+  - help: "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n\
+      \    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define\
+      \ per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n\
+      \    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n\
+      \    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY',\
+      \ '*': 'ANY'}\n    \n    "
+    choices: null
+    default: ANY
+    required: false
+    option_strings:
+    - --polling
+    type: str
+    default_random: false
+    name: polling
+  - help: The number of shards in the deployment running at the same time. For more
+      details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies
+    choices: null
+    default: 1
+    required: false
+    option_strings:
+    - --shards
+    type: int
+    default_random: false
+    name: shards
+  - help: The number of replicas in the deployment
+    choices: null
+    default: 1
+    required: false
+    option_strings:
+    - --replicas
+    type: int
+    default_random: false
+    name: replicas
+  - help: If set, only native Executors is allowed, and the Executor is always run
+      inside WorkerRuntime.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --native
+    type: bool
+    default_random: false
+    name: native
+  - help: "\n        The config of the executor, it could be one of the followings:\n\
+      \        * the string literal of an Executor class name\n        * an Executor\
+      \ YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start\
+      \ with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must\
+      \ start with `docker://`)\n        * the string literal of a YAML config (must\
+      \ start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\
+      \n        When use it under Python, one can use the following values additionally:\n\
+      \        - a Python dict that represents the config\n        - a text file stream\
+      \ has `.read()` interface\n        "
+    choices: null
+    default: BaseExecutor
+    required: false
+    option_strings:
+    - --uses
+    type: str
+    default_random: false
+    name: uses
+  - help: "\n    Dictionary of keyword arguments that will override the `with` configuration\
+      \ in `uses`\n    "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-with
+    type: dict
+    default_random: false
+    name: uses_with
+  - help: "\n    Dictionary of keyword arguments that will override the `metas` configuration\
+      \ in `uses`\n    "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-metas
+    type: dict
+    default_random: false
+    name: uses_metas
+  - help: "\n        Dictionary of keyword arguments that will override the `requests`\
+      \ configuration in `uses`\n        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-requests
+    type: dict
+    default_random: false
+    name: uses_requests
+  - help: "\n        Dictionary of keyword arguments that will override the `dynamic_batching`\
+      \ configuration in `uses`\n        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-dynamic-batching
+    type: dict
+    default_random: false
+    name: uses_dynamic_batching
+  - help: '
+
+      The customized python modules need to be imported before loading the executor
+
+
+      Note that the recommended way is to only import a single module - a simple python
+      file, if your
+
+      executor can be defined in a single file, or an ``__init__.py`` file if you
+      have multiple files,
+
+      which should be structured as a python package. For more details, please see
+      the
+
+      `Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__
+
+      '
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --py-modules
+    type: typing.List[str]
+    default_random: false
+    name: py_modules
+  - help: "\nThe type of array `tensor` and `embedding` will be serialized to.\n\n\
+      Supports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which\
+      \ can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\n\
+      Defaults to retaining whatever type is returned by the Executor.\n"
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --output-array-type
+    type: str
+    default_random: false
+    name: output_array_type
+  - help: List of exceptions that will cause the Executor to shut down.
+    choices: null
+    default: []
+    required: false
+    option_strings:
+    - --exit-on-exceptions
+    type: typing.List[str]
+    default_random: false
+    name: exit_on_exceptions
+  - help: Disable the built-in reduction mechanism. Set this if the reduction is to
+      be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --no-reduce
+    - --disable-reduce
+    type: bool
+    default_random: false
+    name: no_reduce
+  - help: Allow concurrent requests to be processed by the Executor. This is only
+      recommended if the Executor is thread-safe.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --allow-concurrent
+    type: bool
+    default_random: false
+    name: allow_concurrent
+  - help: 'Dictionary of kwargs arguments that will be passed to the grpc server as
+      options when starting the server, example : {''grpc.max_send_message_length'':
+      -1}'
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --grpc-server-options
+    type: dict
+    default_random: false
+    name: grpc_server_options
+  - help: Dictionary of kwargs arguments that will be passed to the RAFT node as configuration
+      options when starting the RAFT node.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --raft-configuration
+    type: dict
+    default_random: false
+    name: raft_configuration
+  - help: 'Dictionary of kwargs arguments that will be passed to the grpc channel
+      as options when creating a channel, example : {''grpc.max_send_message_length'':
+      -1}. When max_attempts > 1, the ''grpc.service_config'' option will not be applicable.'
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --grpc-channel-options
+    type: dict
+    default_random: false
+    name: grpc_channel_options
+  - help: The entrypoint command overrides the ENTRYPOINT in Docker image. when not
+      set then the Docker image ENTRYPOINT takes effective.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --entrypoint
+    type: str
+    default_random: false
+    name: entrypoint
+  - help: "\nDictionary of kwargs arguments that will be passed to Docker SDK when\
+      \ starting the docker '\ncontainer. \n\nMore details can be found in the Docker\
+      \ SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n"
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --docker-kwargs
+    type: dict
+    default_random: false
+    name: docker_kwargs
+  - help: "\nThe path on the host to be mounted inside the container. \n\nNote, \n\
+      - If separated by `:`, then the first part will be considered as the local host\
+      \ path and the second part is the path in the container system. \n- If no split\
+      \ provided, then the basename of that directory will be mounted into container's\
+      \ root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into\
+      \ `/my-workspace` inside the container. \n- All volumes are mounted with read-write\
+      \ mode.\n    "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --volumes
+    type: typing.List[str]
+    default_random: false
+    name: volumes
+  - help: "\n    This argument allows dockerized Jina Executors to discover local\
+      \ gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n\
+      \    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n \
+      \   - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n\
+      \    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n\
+      \    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n\
+      \        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --gpus
+    type: str
+    default_random: false
+    name: gpus
+  - help: Do not automatically mount a volume for dockerized Executors.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --disable-auto-volume
+    type: bool
+    default_random: false
+    name: disable_auto_volume
+  - help: The host of the Gateway, which the client should connect to, by default
+      it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`)
+      this can be a list of hosts.  Then, every resulting address will be considered
+      as one replica of the Executor.
+    choices: null
+    default:
+    - 0.0.0.0
+    required: false
+    option_strings:
+    - --host
+    - --host-in
+    type: typing.List[str]
+    default_random: false
+    name: host
+  - help: The runtime class to run inside the Pod
+    choices: null
+    default: WorkerRuntime
+    required: false
+    option_strings:
+    - --runtime-cls
+    type: str
+    default_random: false
+    name: runtime_cls
+  - help: The timeout in milliseconds of a Pod waits for the runtime to be ready,
+      -1 for waiting forever
+    choices: null
+    default: 600000
+    required: false
+    option_strings:
+    - --timeout-ready
+    type: int
+    default_random: false
+    name: timeout_ready
+  - help: The map of environment variables that are available inside runtime
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --env
+    type: dict
+    default_random: false
+    name: env
+  - help: If set, the current Pod/Deployment can not be further chained, and the next
+      `.add()` will chain after the last Pod/Deployment not this current one.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --floating
+    type: bool
+    default_random: false
+    name: floating
+  - help: If set, the Executor will restart while serving if YAML configuration source
+      or Executor modules are changed. If YAML configuration is changed, the whole
+      deployment is reloaded and new processes will be restarted. If only Python modules
+      of the Executor have changed, they will be reloaded to the interpreter without
+      restarting process.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --reload
+    type: bool
+    default_random: false
+    name: reload
+  - help: If set, try to install `requirements.txt` from the local Executor if exists
+      in the Executor folder. If using Hub, install `requirements.txt` in the Hub
+      Executor bundle to local.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --install-requirements
+    type: bool
+    default_random: false
+    name: install_requirements
+  - help: The port for input data to bind to, default is a random port between [49152,
+      65535]. In the case of an external Executor (`--external` or `external=True`)
+      this can be a list of ports. Then, every resulting address will be considered
+      as one replica of the Executor.
+    choices: null
+    default:
+    - 54504
+    required: false
+    option_strings:
+    - --port
+    - --ports
+    type: int
+    default_random: true
+    name: port
+  - help: 'Communication protocol of the server exposed by the Executor. This can
+      be a single value or a list of protocols, depending on your chosen Gateway.
+      Choose the convenient protocols from: [''GRPC'', ''HTTP'', ''WEBSOCKET''].'
+    choices:
+    - GRPC
+    - HTTP
+    - WEBSOCKET
+    default:
+    - "GRPC"
+    required: false
+    option_strings:
+    - --protocol
+    - --protocols
+    type: typing.List[str]
+    default_random: false
+    name: protocol
+  - help: 'If set, Executor is translated to a custom container compatible with the
+      chosen provider. Choose the convenient providers from: [''NONE'', ''SAGEMAKER'',
+      ''AZURE''].'
+    choices:
+    - NONE
+    - SAGEMAKER
+    - AZURE
+    default:
+    - "NONE"
+    required: false
+    option_strings:
+    - --provider
+    type: str
+    default_random: false
+    name: provider
+  - help: If set, Executor endpoint will be explicitly chosen and used in the custom
+      container operated by the provider.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --provider-endpoint
+    type: str
+    default_random: false
+    name: provider_endpoint
+  - help: If set, spawn an http server with a prometheus endpoint to expose metrics
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --monitoring
+    type: bool
+    default_random: false
+    name: monitoring
+  - help: The port on which the prometheus server is exposed, default is a random
+      port between [49152, 65535]
+    choices: null
+    default:
+    - 60445
+    required: false
+    option_strings:
+    - --port-monitoring
+    type: int
+    default_random: true
+    name: port_monitoring
+  - help: Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)
+    choices: null
+    default: -1
+    required: false
+    option_strings:
+    - --retries
+    type: int
+    default_random: false
+    name: retries
+  - help: If set, the sdk implementation of the OpenTelemetry tracer will be available
+      and will be enabled for automatic tracing of requests and customer span creation.
+      Otherwise a no-op implementation will be provided.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --tracing
+    type: bool
+    default_random: false
+    name: tracing
+  - help: If tracing is enabled, this hostname will be used to configure the trace
+      exporter agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --traces-exporter-host
+    type: str
+    default_random: false
+    name: traces_exporter_host
+  - help: If tracing is enabled, this port will be used to configure the trace exporter
+      agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --traces-exporter-port
+    type: int
+    default_random: false
+    name: traces_exporter_port
+  - help: If set, the sdk implementation of the OpenTelemetry metrics will be available
+      for default monitoring and custom measurements. Otherwise a no-op implementation
+      will be provided.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --metrics
+    type: bool
+    default_random: false
+    name: metrics
+  - help: If tracing is enabled, this hostname will be used to configure the metrics
+      exporter agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --metrics-exporter-host
+    type: str
+    default_random: false
+    name: metrics_exporter_host
+  - help: If tracing is enabled, this port will be used to configure the metrics exporter
+      agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --metrics-exporter-port
+    type: int
+    default_random: false
+    name: metrics_exporter_port
+  - help: If set, start consensus module to make sure write operations are properly
+      replicated between all the replicas
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --stateful
+    type: bool
+    default_random: false
+    name: stateful
+  - help: If set, always pull the latest Hub Executor bundle even it exists on local
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --force-update
+    - --force
+    type: bool
+    default_random: false
+    name: force_update
+  - help: The preferred target Docker platform. (e.g. "linux/amd64", "linux/arm64")
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --prefer-platform
+    type: str
+    default_random: false
+    name: prefer_platform
+  - help: The compression mechanism used when sending requests from the Head to the
+      WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.
+    choices:
+    - NoCompression
+    - Deflate
+    - Gzip
+    default: null
+    required: false
+    option_strings:
+    - --compression
+    type: str
+    default_random: false
+    name: compression
+  - help: The address of the uses-before runtime
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-before-address
+    type: str
+    default_random: false
+    name: uses_before_address
+  - help: The address of the uses-before runtime
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-after-address
+    type: str
+    default_random: false
+    name: uses_after_address
+  - help: dictionary JSON with a list of connections to configure
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --connection-list
+    type: str
+    default_random: false
+    name: connection_list
+  - help: The timeout in milliseconds used when sending data requests to Executors,
+      -1 means no timeout, disabled by default
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --timeout-send
+    type: int
+    default_random: false
+    name: timeout_send
+  help: Start an Executor. Jina uses Executors process Documents
+- name: flow
+  options:
+  - help: "\n    The name of this object.\n\n    This will be used in the following\
+      \ places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n\
+      \    - log message header\n    - ...\n\n    When not given, then the default\
+      \ naming strategy will apply.\n                        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --name
+    type: str
+    default_random: false
+    name: name
+  - help: The working directory for any IO operations in this object. If not set,
+      then derive from its parent `workspace`.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --workspace
+    type: str
+    default_random: false
+    name: workspace
+  - help: The config name or the absolute path to the YAML config file of the logger
+      used in this object.
+    choices: null
+    default: default
+    required: false
+    option_strings:
+    - --log-config
+    type: str
+    default_random: false
+    name: log_config
+  - help: If set, then no log will be emitted from this object.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --quiet
+    type: bool
+    default_random: false
+    name: quiet
+  - help: If set, then exception stack information will not be added to the log
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --quiet-error
+    type: bool
+    default_random: false
+    name: quiet_error
+  - help: If set, then no root handlers will be suppressed from logging.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --suppress-root-logging
+    type: bool
+    default_random: false
+    name: suppress_root_logging
+  - help: The YAML path represents a flow. It can be either a local file path or a
+      URL.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses
+    type: str
+    default_random: false
+    name: uses
+  - help: 'If set, auto-reloading on file changes is enabled: the Flow will restart
+      while blocked if  YAML configuration source is changed. This also applies apply
+      to underlying Executors, if their source code or YAML configuration has changed.'
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --reload
+    type: bool
+    default_random: false
+    name: reload
+  - help: The map of environment variables that are available inside runtime
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --env
+    type: dict
+    default_random: false
+    name: env
+  - help: "\n    The strategy on those inspect deployments in the flow.\n\n    If\
+      \ `REMOVE` is given then all inspect deployments are removed when building the\
+      \ flow.\n    "
+    choices:
+    - HANG
+    - REMOVE
+    - COLLECT
+    default: COLLECT
+    required: false
+    option_strings:
+    - --inspect
+    type: str
+    default_random: false
+    name: inspect
+  help: Start a Flow. Jina uses Flows to streamline and distribute Executors
+- name: ping
+  options:
+  - help: The target type to ping. For `executor` and `gateway`, checks the readiness
+      of the individual service. For `flow` it checks the connectivity of the complete
+      microservice architecture.
+    choices:
+    - flow
+    - executor
+    - gateway
+    default: executor
+    required: true
+    option_strings: []
+    type: str
+    default_random: false
+    name: target
+  - help: The host address with port of a target Executor, Gateway or a Flow, e.g.
+      0.0.0.0:8000. For Flow or Gateway, host can also indicate the protocol, grpc
+      will be used if not provided, e.g http://0.0.0.0:8000
+    choices: null
+    default: null
+    required: true
+    option_strings: []
+    type: str
+    default_random: false
+    name: host
+  - help: '
+
+      Timeout in millisecond of one check
+
+      Use -1 for waiting forever
+
+      '
+    choices: null
+    default: 3000
+    required: false
+    option_strings:
+    - --timeout
+    type: int
+    default_random: false
+    name: timeout
+  - help: The number of readiness checks to perform
+    choices: null
+    default: 1
+    required: false
+    option_strings:
+    - --attempts
+    type: int
+    default_random: false
+    name: attempts
+  - help: The minimum number of successful readiness checks, before exiting successfully
+      with exit(0)
+    choices: null
+    default: 1
+    required: false
+    option_strings:
+    - --min-successful-attempts
+    type: int
+    default_random: false
+    name: min_successful_attempts
+  help: Ping a remote Executor or Flow.
+- name: export
+  options: []
+  help: Export Jina API and Flow to JSONSchema, Kubernetes YAML, or SVG flowchart
+  methods:
+  - name: flowchart
+    options:
+    - help: 'The input file path of a Flow or Deployment YAML '
+      choices: null
+      default: null
+      required: true
+      option_strings: []
+      type: str
+      default_random: false
+      name: config_path
+    - help: The output path
+      choices: null
+      default: null
+      required: true
+      option_strings: []
+      type: str
+      default_random: false
+      name: outpath
+    - help: If set, then the flowchart is rendered vertically from top to down.
+      choices: null
+      default: false
+      required: false
+      option_strings:
+      - --vertical-layout
+      type: bool
+      default_random: false
+      name: vertical_layout
+    help: null
+  - name: kubernetes
+    options:
+    - help: 'The input file path of a Flow or Deployment YAML '
+      choices: null
+      default: null
+      required: true
+      option_strings: []
+      type: str
+      default_random: false
+      name: config_path
+    - help: The output path
+      choices: null
+      default: null
+      required: true
+      option_strings: []
+      type: str
+      default_random: false
+      name: outpath
+    - help: The name of the k8s namespace to set for the configurations. If None,
+        the name of the Flow will be used.
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - --k8s-namespace
+      type: str
+      default_random: false
+      name: k8s_namespace
+    help: null
+  - name: docker-compose
+    options:
+    - help: 'The input file path of a Flow or Deployment YAML '
+      choices: null
+      default: null
+      required: true
+      option_strings: []
+      type: str
+      default_random: false
+      name: config_path
+    - help: The output path
+      choices: null
+      default: null
+      required: true
+      option_strings: []
+      type: str
+      default_random: false
+      name: outpath
+    - help: The name of the network that will be used by the deployment name.
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - --network_name
+      type: str
+      default_random: false
+      name: network_name
+    help: null
+  - name: schema
+    options:
+    - help: The YAML file path for storing the exported API
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - --yaml-path
+      type: typing.List[str]
+      default_random: false
+      name: yaml_path
+    - help: The JSON file path for storing the exported API
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - --json-path
+      type: typing.List[str]
+      default_random: false
+      name: json_path
+    - help: The JSONSchema file path for storing the exported API
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - --schema-path
+      type: typing.List[str]
+      default_random: false
+      name: schema_path
+    help: null
+- name: new
+  options:
+  - help: The name of the project
+    choices: null
+    default: hello-jina
+    required: true
+    option_strings: []
+    type: str
+    default_random: false
+    name: name
+  - help: The type of project to be created (either flow or deployment)
+    choices: null
+    default: flow
+    required: false
+    option_strings:
+    - --type
+    type: str
+    default_random: false
+    name: type
+  help: Create a new Jina project with a predefined template
+- name: gateway
+  options:
+  - help: "\n    The name of this object.\n\n    This will be used in the following\
+      \ places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n\
+      \    - log message header\n    - ...\n\n    When not given, then the default\
+      \ naming strategy will apply.\n                        "
+    choices: null
+    default: gateway
+    required: false
+    option_strings:
+    - --name
+    type: str
+    default_random: false
+    name: name
+  - help: The working directory for any IO operations in this object. If not set,
+      then derive from its parent `workspace`.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --workspace
+    type: str
+    default_random: false
+    name: workspace
+  - help: The config name or the absolute path to the YAML config file of the logger
+      used in this object.
+    choices: null
+    default: default
+    required: false
+    option_strings:
+    - --log-config
+    type: str
+    default_random: false
+    name: log_config
+  - help: If set, then no log will be emitted from this object.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --quiet
+    type: bool
+    default_random: false
+    name: quiet
+  - help: If set, then exception stack information will not be added to the log
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --quiet-error
+    type: bool
+    default_random: false
+    name: quiet_error
+  - help: The timeout in milliseconds of the control request, -1 for waiting forever
+    choices: null
+    default: 60
+    required: false
+    option_strings:
+    - --timeout-ctrl
+    type: int
+    default_random: false
+    name: timeout_ctrl
+  - help: The entrypoint command overrides the ENTRYPOINT in Docker image. when not
+      set then the Docker image ENTRYPOINT takes effective.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --entrypoint
+    type: str
+    default_random: false
+    name: entrypoint
+  - help: "\nDictionary of kwargs arguments that will be passed to Docker SDK when\
+      \ starting the docker '\ncontainer. \n\nMore details can be found in the Docker\
+      \ SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n"
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --docker-kwargs
+    type: dict
+    default_random: false
+    name: docker_kwargs
+  - help: "\n    Number of requests fetched from the client before feeding into the\
+      \ first Executor. \n    \n    Used to control the speed of data input into a\
+      \ Flow. 0 disables prefetch (1000 requests is the default)"
+    choices: null
+    default: 1000
+    required: false
+    option_strings:
+    - --prefetch
+    type: int
+    default_random: false
+    name: prefetch
+  - help: The title of this HTTP server. It will be used in automatics docs such as
+      Swagger UI.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --title
+    type: str
+    default_random: false
+    name: title
+  - help: The description of this HTTP server. It will be used in automatics docs
+      such as Swagger UI.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --description
+    type: str
+    default_random: false
+    name: description
+  - help: "\n        If set, a CORS middleware is added to FastAPI frontend to allow\
+      \ cross-origin access.\n        "
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --cors
+    type: bool
+    default_random: false
+    name: cors
+  - help: '
+
+      Dictionary of kwargs arguments that will be passed to Uvicorn server when starting
+      the server
+
+
+      More details can be found in Uvicorn docs: https://www.uvicorn.org/settings/
+
+
+      '
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uvicorn-kwargs
+    type: dict
+    default_random: false
+    name: uvicorn_kwargs
+  - help: "\n        the path to the certificate file\n        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --ssl-certfile
+    type: str
+    default_random: false
+    name: ssl_certfile
+  - help: "\n            the path to the key file\n            "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --ssl-keyfile
+    type: str
+    default_random: false
+    name: ssl_keyfile
+  - help: 'If set, `/status` `/post` endpoints are removed from HTTP interface. '
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --no-debug-endpoints
+    type: bool
+    default_random: false
+    name: no_debug_endpoints
+  - help: "\n        If set, `/index`, `/search`, `/update`, `/delete` endpoints are\
+      \ removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)`\
+      \ bound with those values will receive data requests.\n        "
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --no-crud-endpoints
+    type: bool
+    default_random: false
+    name: no_crud_endpoints
+  - help: "\n        A JSON string that represents a map from executor endpoints (`@requests(on=...)`)\
+      \ to HTTP endpoints.\n        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --expose-endpoints
+    type: str
+    default_random: false
+    name: expose_endpoints
+  - help: 'If set, /graphql endpoint is added to HTTP interface. '
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --expose-graphql-endpoint
+    type: bool
+    default_random: false
+    name: expose_graphql_endpoint
+  - help: The host address of the runtime, by default it is 0.0.0.0.
+    choices: null
+    default: 0.0.0.0
+    required: false
+    option_strings:
+    - --host
+    - --host-in
+    type: str
+    default_random: false
+    name: host
+  - help: If set, respect the http_proxy and https_proxy environment variables. otherwise,
+      it will unset these proxy variables before start. gRPC seems to prefer no proxy
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --proxy
+    type: bool
+    default_random: false
+    name: proxy
+  - help: "\n        The config of the gateway, it could be one of the followings:\n\
+      \        * the string literal of an Gateway class name\n        * a Gateway\
+      \ YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with\
+      \ `docker://`)\n        * the string literal of a YAML config (must start with\
+      \ `!` or `jtype: `)\n        * the string literal of a JSON config\n\n     \
+      \   When use it under Python, one can use the following values additionally:\n\
+      \        - a Python dict that represents the config\n        - a text file stream\
+      \ has `.read()` interface\n        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses
+    type: str
+    default_random: false
+    name: uses
+  - help: "\n    Dictionary of keyword arguments that will override the `with` configuration\
+      \ in `uses`\n    "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-with
+    type: dict
+    default_random: false
+    name: uses_with
+  - help: '
+
+      The customized python modules need to be imported before loading the gateway
+
+
+      Note that the recommended way is to only import a single module - a simple python
+      file, if your
+
+      gateway can be defined in a single file, or an ``__init__.py`` file if you have
+      multiple files,
+
+      which should be structured as a python package.
+
+      '
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --py-modules
+    type: typing.List[str]
+    default_random: false
+    name: py_modules
+  - help: The number of replicas of the Gateway. This replicas will only be applied
+      when converted into Kubernetes YAML
+    choices: null
+    default: 1
+    required: false
+    option_strings:
+    - --replicas
+    type: int
+    default_random: false
+    name: replicas
+  - help: 'Dictionary of kwargs arguments that will be passed to the grpc server as
+      options when starting the server, example : {''grpc.max_send_message_length'':
+      -1}'
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --grpc-server-options
+    type: dict
+    default_random: false
+    name: grpc_server_options
+  - help: 'Dictionary of kwargs arguments that will be passed to the grpc channel
+      as options when creating a channel, example : {''grpc.max_send_message_length'':
+      -1}. When max_attempts > 1, the ''grpc.service_config'' option will not be applicable.'
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --grpc-channel-options
+    type: dict
+    default_random: false
+    name: grpc_channel_options
+  - help: Routing graph for the gateway
+    choices: null
+    default: '{}'
+    required: false
+    option_strings:
+    - --graph-description
+    type: str
+    default_random: false
+    name: graph_description
+  - help: Dictionary stating which filtering conditions each Executor in the graph
+      requires to receive Documents.
+    choices: null
+    default: '{}'
+    required: false
+    option_strings:
+    - --graph-conditions
+    type: str
+    default_random: false
+    name: graph_conditions
+  - help: JSON dictionary with the input addresses of each Deployment
+    choices: null
+    default: '{}'
+    required: false
+    option_strings:
+    - --deployments-addresses
+    type: str
+    default_random: false
+    name: deployments_addresses
+  - help: JSON dictionary with the request metadata for each Deployment
+    choices: null
+    default: '{}'
+    required: false
+    option_strings:
+    - --deployments-metadata
+    type: str
+    default_random: false
+    name: deployments_metadata
+  - help: list JSON disabling the built-in merging mechanism for each Deployment listed
+    choices: null
+    default: '[]'
+    required: false
+    option_strings:
+    - --deployments-no-reduce
+    - --deployments-disable-reduce
+    type: str
+    default_random: false
+    name: deployments_no_reduce
+  - help: The compression mechanism used when sending requests from the Head to the
+      WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.
+    choices:
+    - NoCompression
+    - Deflate
+    - Gzip
+    default: null
+    required: false
+    option_strings:
+    - --compression
+    type: str
+    default_random: false
+    name: compression
+  - help: The timeout in milliseconds used when sending data requests to Executors,
+      -1 means no timeout, disabled by default
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --timeout-send
+    type: int
+    default_random: false
+    name: timeout_send
+  - help: The runtime class to run inside the Pod
+    choices: null
+    default: GatewayRuntime
+    required: false
+    option_strings:
+    - --runtime-cls
+    type: str
+    default_random: false
+    name: runtime_cls
+  - help: The timeout in milliseconds of a Pod waits for the runtime to be ready,
+      -1 for waiting forever
+    choices: null
+    default: 600000
+    required: false
+    option_strings:
+    - --timeout-ready
+    type: int
+    default_random: false
+    name: timeout_ready
+  - help: The map of environment variables that are available inside runtime
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --env
+    type: dict
+    default_random: false
+    name: env
+  - help: If set, the current Pod/Deployment can not be further chained, and the next
+      `.add()` will chain after the last Pod/Deployment not this current one.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --floating
+    type: bool
+    default_random: false
+    name: floating
+  - help: If set, the Gateway will restart while serving if YAML configuration source
+      is changed.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --reload
+    type: bool
+    default_random: false
+    name: reload
+  - help: The port for input data to bind the gateway server to, by default, random
+      ports between range [49152, 65535] will be assigned. The port argument can be
+      either 1 single value in case only 1 protocol is used or multiple values when
+      many protocols are used.
+    choices: null
+    default:
+    - 52832
+    required: false
+    option_strings:
+    - --port
+    - --ports
+    - --port-expose
+    - --port-in
+    type: int
+    default_random: true
+    name: port
+  - help: 'Communication protocol of the server exposed by the Gateway. This can be
+      a single value or a list of protocols, depending on your chosen Gateway. Choose
+      the convenient protocols from: [''GRPC'', ''HTTP'', ''WEBSOCKET''].'
+    choices:
+    - GRPC
+    - HTTP
+    - WEBSOCKET
+    default:
+    - "GRPC"
+    required: false
+    option_strings:
+    - --protocol
+    - --protocols
+    type: typing.List[str]
+    default_random: false
+    name: protocol
+  - help: 'If set, Executor is translated to a custom container compatible with the
+      chosen provider. Choose the convenient providers from: [''NONE'', ''SAGEMAKER'',
+      ''AZURE''].'
+    choices:
+    - NONE
+    - SAGEMAKER
+    - AZURE
+    default:
+    - "NONE"
+    required: false
+    option_strings:
+    - --provider
+    type: str
+    default_random: false
+    name: provider
+  - help: If set, Executor endpoint will be explicitly chosen and used in the custom
+      container operated by the provider.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --provider-endpoint
+    type: str
+    default_random: false
+    name: provider_endpoint
+  - help: If set, spawn an http server with a prometheus endpoint to expose metrics
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --monitoring
+    type: bool
+    default_random: false
+    name: monitoring
+  - help: The port on which the prometheus server is exposed, default is a random
+      port between [49152, 65535]
+    choices: null
+    default:
+    - 58435
+    required: false
+    option_strings:
+    - --port-monitoring
+    type: int
+    default_random: true
+    name: port_monitoring
+  - help: Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)
+    choices: null
+    default: -1
+    required: false
+    option_strings:
+    - --retries
+    type: int
+    default_random: false
+    name: retries
+  - help: If set, the sdk implementation of the OpenTelemetry tracer will be available
+      and will be enabled for automatic tracing of requests and customer span creation.
+      Otherwise a no-op implementation will be provided.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --tracing
+    type: bool
+    default_random: false
+    name: tracing
+  - help: If tracing is enabled, this hostname will be used to configure the trace
+      exporter agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --traces-exporter-host
+    type: str
+    default_random: false
+    name: traces_exporter_host
+  - help: If tracing is enabled, this port will be used to configure the trace exporter
+      agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --traces-exporter-port
+    type: int
+    default_random: false
+    name: traces_exporter_port
+  - help: If set, the sdk implementation of the OpenTelemetry metrics will be available
+      for default monitoring and custom measurements. Otherwise a no-op implementation
+      will be provided.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --metrics
+    type: bool
+    default_random: false
+    name: metrics
+  - help: If tracing is enabled, this hostname will be used to configure the metrics
+      exporter agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --metrics-exporter-host
+    type: str
+    default_random: false
+    name: metrics_exporter_host
+  - help: If tracing is enabled, this port will be used to configure the metrics exporter
+      agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --metrics-exporter-port
+    type: int
+    default_random: false
+    name: metrics_exporter_port
+  - help: If set, start consensus module to make sure write operations are properly
+      replicated between all the replicas
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --stateful
+    type: bool
+    default_random: false
+    name: stateful
+  help: Start a Gateway to receive client Requests via gRPC/RESTful interface
+- name: auth
+  options: []
+  help: Log in to Jina AI with your GitHub/Google/Email account
+  methods:
+  - name: login
+    options:
+    - help: Force to login
+      choices: null
+      default: false
+      required: false
+      option_strings:
+      - -f
+      - --force
+      type: bool
+      default_random: false
+      name: force
+    help: Login to Jina AI Ecosystem
+  - name: logout
+    options: []
+    help: Logout from Jina AI Ecosystem
+    methods: []
+  - name: token
+    options: []
+    help: Commands for Personal Access Token
+    methods:
+    - name: create
+      options:
+      - help: Validity period (days)
+        choices: null
+        default: 7
+        required: false
+        option_strings:
+        - -e
+        - --expire
+        type: int
+        default_random: false
+        name: expire
+      - help: Display format of the token, one of [table, raw]
+        choices: null
+        default: table
+        required: false
+        option_strings:
+        - --format
+        type: str
+        default_random: false
+        name: format
+      - help: Name of Personal Access Token
+        choices: null
+        default: null
+        required: true
+        option_strings: []
+        type: str
+        default_random: false
+        name: name
+      help: Create a Personal Access Token
+    - name: delete
+      options:
+      - help: Name of Personal Access Token which you want to delete
+        choices: null
+        default: null
+        required: true
+        option_strings: []
+        type: str
+        default_random: false
+        name: name
+      help: Revoke a Personal Access Token
+    - name: list
+      options: []
+      help: List all Personal Access Tokens
+      methods: []
+- name: hub
+  options: []
+  help: Push/pull Executor to/from Executor Hub
+  methods:
+  - name: new
+    options:
+    - help: the name of the Executor
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - --name
+      type: str
+      default_random: false
+      name: name
+    - help: the path to store the Executor
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - --path
+      type: str
+      default_random: false
+      name: path
+    - help: If set, always set up advance configuration like description, keywords
+        and url
+      choices: null
+      default: false
+      required: false
+      option_strings:
+      - --advance-configuration
+      type: bool
+      default_random: false
+      name: advance_configuration
+    - help: the short description of the Executor
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - --description
+      type: str
+      default_random: false
+      name: description
+    - help: some keywords to help people search your Executor (separated by comma)
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - --keywords
+      type: str
+      default_random: false
+      name: keywords
+    - help: the URL of your GitHub repo
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - --url
+      type: str
+      default_random: false
+      name: url
+    - help: The Dockerfile template to use for the Executor
+      choices:
+      - cpu
+      - tf-gpu
+      - torch-gpu
+      - jax-gpu
+      default: null
+      required: false
+      option_strings:
+      - --dockerfile
+      type: str
+      default_random: false
+      name: dockerfile
+    help: Create a new executor using the template
+  - name: push
+    options:
+    - help: If set, Hub executor usage will not be printed.
+      choices: null
+      default: false
+      required: false
+      option_strings:
+      - --no-usage
+      type: bool
+      default_random: false
+      name: no_usage
+    - help: If set, more information will be printed.
+      choices: null
+      default: false
+      required: false
+      option_strings:
+      - --verbose
+      type: bool
+      default_random: false
+      name: verbose
+    - help: The Executor folder to be pushed to Jina Hub
+      choices: null
+      default: null
+      required: true
+      option_strings: []
+      type: dir_path
+      default_random: false
+      name: path
+    - help: The file path to the Dockerfile (default is `${cwd}/Dockerfile`)
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - -f
+      - --dockerfile
+      type: None
+      default_random: false
+      name: dockerfile
+    - help: If set, push will overwrite the Executor on the Hub that shares the same
+        NAME or UUID8 identifier
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - --force-update
+      - --force
+      type: str
+      default_random: false
+      name: force_update
+    - help: A comma separated list of target Docker platforms. Explicitly set target
+        platform(s) for build. (e.g. "linux/amd64,linux/arm64")
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - --platform
+      type: str
+      default_random: false
+      name: platform
+    - help: The secret for overwrite a Hub executor
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - --secret
+      type: str
+      default_random: false
+      name: secret
+    - help: If set, "--no-cache" option will be added to the Docker build.
+      choices: null
+      default: false
+      required: false
+      option_strings:
+      - --no-cache
+      type: bool
+      default_random: false
+      name: no_cache
+    - help: If set, the pushed executor is visible to public
+      choices: null
+      default: ==SUPPRESS==
+      required: false
+      option_strings:
+      - --public
+      type: bool
+      default_random: false
+      name: public
+    - help: If set, the pushed executor is invisible to public
+      choices: null
+      default: ==SUPPRESS==
+      required: false
+      option_strings:
+      - --private
+      type: bool
+      default_random: false
+      name: private
+    help: Push an executor package to Jina hub
+  - name: pull
+    options:
+    - help: If set, Hub executor usage will not be printed.
+      choices: null
+      default: false
+      required: false
+      option_strings:
+      - --no-usage
+      type: bool
+      default_random: false
+      name: no_usage
+    - help: The URI of the executor to pull (e.g., jinaai[+docker]://<username>/NAME)
+      choices: null
+      default: null
+      required: true
+      option_strings: []
+      type: hub_uri
+      default_random: false
+      name: uri
+    - help: If set, always pull the latest Hub Executor bundle even it exists on local
+      choices: null
+      default: false
+      required: false
+      option_strings:
+      - --force-update
+      - --force
+      type: bool
+      default_random: false
+      name: force_update
+    - help: The preferred target Docker platform. (e.g. "linux/amd64", "linux/arm64")
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - --prefer-platform
+      type: str
+      default_random: false
+      name: prefer_platform
+    - help: If set, install `requirements.txt` in the Hub Executor bundle to local
+      choices: null
+      default: false
+      required: false
+      option_strings:
+      - --install-requirements
+      type: bool
+      default_random: false
+      name: install_requirements
+    help: Download an executor image/package from Jina hub
+  - name: status
+    options:
+    - help: The Executor folder to be pushed to Jina Hub.
+      choices: null
+      default: .
+      required: false
+      option_strings: []
+      type: dir_path
+      default_random: false
+      name: path
+    - help: If set, you can get the specified building state of a pushed Executor.
+      choices: null
+      default: null
+      required: false
+      option_strings:
+      - --id
+      type: str
+      default_random: false
+      name: id
+    - help: If set, more building status information of a pushed Executor will be
+        printed.
+      choices: null
+      default: false
+      required: false
+      option_strings:
+      - --verbose
+      type: bool
+      default_random: false
+      name: verbose
+    - help: If set, history building status information of a pushed Executor will
+        be printed.
+      choices: null
+      default: false
+      required: false
+      option_strings:
+      - --replay
+      type: bool
+      default_random: false
+      name: replay
+    help: Query an executor building status of of a pushed Executor from Jina hub
+  - name: list
+    options: []
+    help: List your local Jina Executors
+    methods: []
+- name: cloud
+  options:
+  - help: Set the loglevel of the logger
+    choices:
+    - DEBUG
+    - INFO
+    - CRITICAL
+    - NOTSET
+    default: INFO
+    required: false
+    option_strings:
+    - --loglevel
+    type: str
+    default_random: false
+    name: loglevel
+  help: Manage Flows on Jina Cloud
+- name: help
+  options:
+  - help: Look up usage & mention of argument name in Jina API. The name can be fuzzy
+    choices: null
+    default: null
+    required: true
+    option_strings: []
+    type: str
+    default_random: false
+    name: query
+  help: Show help text of a CLI argument
+- name: pod
+  options:
+  - help: "\n    The name of this object.\n\n    This will be used in the following\
+      \ places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n\
+      \    - log message header\n    - ...\n\n    When not given, then the default\
+      \ naming strategy will apply.\n                        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --name
+    type: str
+    default_random: false
+    name: name
+  - help: The working directory for any IO operations in this object. If not set,
+      then derive from its parent `workspace`.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --workspace
+    type: str
+    default_random: false
+    name: workspace
+  - help: The config name or the absolute path to the YAML config file of the logger
+      used in this object.
+    choices: null
+    default: default
+    required: false
+    option_strings:
+    - --log-config
+    type: str
+    default_random: false
+    name: log_config
+  - help: If set, then no log will be emitted from this object.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --quiet
+    type: bool
+    default_random: false
+    name: quiet
+  - help: If set, then exception stack information will not be added to the log
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --quiet-error
+    type: bool
+    default_random: false
+    name: quiet_error
+  - help: The timeout in milliseconds of the control request, -1 for waiting forever
+    choices: null
+    default: 60
+    required: false
+    option_strings:
+    - --timeout-ctrl
+    type: int
+    default_random: false
+    name: timeout_ctrl
+  - help: "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n\
+      \    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define\
+      \ per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n\
+      \    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n\
+      \    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY',\
+      \ '*': 'ANY'}\n    \n    "
+    choices: null
+    default: ANY
+    required: false
+    option_strings:
+    - --polling
+    type: str
+    default_random: false
+    name: polling
+  - help: The number of shards in the deployment running at the same time. For more
+      details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies
+    choices: null
+    default: 1
+    required: false
+    option_strings:
+    - --shards
+    type: int
+    default_random: false
+    name: shards
+  - help: The number of replicas in the deployment
+    choices: null
+    default: 1
+    required: false
+    option_strings:
+    - --replicas
+    type: int
+    default_random: false
+    name: replicas
+  - help: If set, only native Executors is allowed, and the Executor is always run
+      inside WorkerRuntime.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --native
+    type: bool
+    default_random: false
+    name: native
+  - help: "\n        The config of the executor, it could be one of the followings:\n\
+      \        * the string literal of an Executor class name\n        * an Executor\
+      \ YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start\
+      \ with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must\
+      \ start with `docker://`)\n        * the string literal of a YAML config (must\
+      \ start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\
+      \n        When use it under Python, one can use the following values additionally:\n\
+      \        - a Python dict that represents the config\n        - a text file stream\
+      \ has `.read()` interface\n        "
+    choices: null
+    default: BaseExecutor
+    required: false
+    option_strings:
+    - --uses
+    type: str
+    default_random: false
+    name: uses
+  - help: "\n    Dictionary of keyword arguments that will override the `with` configuration\
+      \ in `uses`\n    "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-with
+    type: dict
+    default_random: false
+    name: uses_with
+  - help: "\n    Dictionary of keyword arguments that will override the `metas` configuration\
+      \ in `uses`\n    "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-metas
+    type: dict
+    default_random: false
+    name: uses_metas
+  - help: "\n        Dictionary of keyword arguments that will override the `requests`\
+      \ configuration in `uses`\n        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-requests
+    type: dict
+    default_random: false
+    name: uses_requests
+  - help: "\n        Dictionary of keyword arguments that will override the `dynamic_batching`\
+      \ configuration in `uses`\n        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-dynamic-batching
+    type: dict
+    default_random: false
+    name: uses_dynamic_batching
+  - help: '
+
+      The customized python modules need to be imported before loading the executor
+
+
+      Note that the recommended way is to only import a single module - a simple python
+      file, if your
+
+      executor can be defined in a single file, or an ``__init__.py`` file if you
+      have multiple files,
+
+      which should be structured as a python package. For more details, please see
+      the
+
+      `Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__
+
+      '
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --py-modules
+    type: typing.List[str]
+    default_random: false
+    name: py_modules
+  - help: "\nThe type of array `tensor` and `embedding` will be serialized to.\n\n\
+      Supports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which\
+      \ can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\n\
+      Defaults to retaining whatever type is returned by the Executor.\n"
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --output-array-type
+    type: str
+    default_random: false
+    name: output_array_type
+  - help: List of exceptions that will cause the Executor to shut down.
+    choices: null
+    default: []
+    required: false
+    option_strings:
+    - --exit-on-exceptions
+    type: typing.List[str]
+    default_random: false
+    name: exit_on_exceptions
+  - help: Disable the built-in reduction mechanism. Set this if the reduction is to
+      be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --no-reduce
+    - --disable-reduce
+    type: bool
+    default_random: false
+    name: no_reduce
+  - help: Allow concurrent requests to be processed by the Executor. This is only
+      recommended if the Executor is thread-safe.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --allow-concurrent
+    type: bool
+    default_random: false
+    name: allow_concurrent
+  - help: 'Dictionary of kwargs arguments that will be passed to the grpc server as
+      options when starting the server, example : {''grpc.max_send_message_length'':
+      -1}'
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --grpc-server-options
+    type: dict
+    default_random: false
+    name: grpc_server_options
+  - help: Dictionary of kwargs arguments that will be passed to the RAFT node as configuration
+      options when starting the RAFT node.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --raft-configuration
+    type: dict
+    default_random: false
+    name: raft_configuration
+  - help: 'Dictionary of kwargs arguments that will be passed to the grpc channel
+      as options when creating a channel, example : {''grpc.max_send_message_length'':
+      -1}. When max_attempts > 1, the ''grpc.service_config'' option will not be applicable.'
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --grpc-channel-options
+    type: dict
+    default_random: false
+    name: grpc_channel_options
+  - help: The entrypoint command overrides the ENTRYPOINT in Docker image. when not
+      set then the Docker image ENTRYPOINT takes effective.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --entrypoint
+    type: str
+    default_random: false
+    name: entrypoint
+  - help: "\nDictionary of kwargs arguments that will be passed to Docker SDK when\
+      \ starting the docker '\ncontainer. \n\nMore details can be found in the Docker\
+      \ SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n"
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --docker-kwargs
+    type: dict
+    default_random: false
+    name: docker_kwargs
+  - help: "\nThe path on the host to be mounted inside the container. \n\nNote, \n\
+      - If separated by `:`, then the first part will be considered as the local host\
+      \ path and the second part is the path in the container system. \n- If no split\
+      \ provided, then the basename of that directory will be mounted into container's\
+      \ root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into\
+      \ `/my-workspace` inside the container. \n- All volumes are mounted with read-write\
+      \ mode.\n    "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --volumes
+    type: typing.List[str]
+    default_random: false
+    name: volumes
+  - help: "\n    This argument allows dockerized Jina Executors to discover local\
+      \ gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n\
+      \    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n \
+      \   - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n\
+      \    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n\
+      \    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n\
+      \        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --gpus
+    type: str
+    default_random: false
+    name: gpus
+  - help: Do not automatically mount a volume for dockerized Executors.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --disable-auto-volume
+    type: bool
+    default_random: false
+    name: disable_auto_volume
+  - help: The host of the Gateway, which the client should connect to, by default
+      it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`)
+      this can be a list of hosts.  Then, every resulting address will be considered
+      as one replica of the Executor.
+    choices: null
+    default:
+    - 0.0.0.0
+    required: false
+    option_strings:
+    - --host
+    - --host-in
+    type: typing.List[str]
+    default_random: false
+    name: host
+  - help: The runtime class to run inside the Pod
+    choices: null
+    default: WorkerRuntime
+    required: false
+    option_strings:
+    - --runtime-cls
+    type: str
+    default_random: false
+    name: runtime_cls
+  - help: The timeout in milliseconds of a Pod waits for the runtime to be ready,
+      -1 for waiting forever
+    choices: null
+    default: 600000
+    required: false
+    option_strings:
+    - --timeout-ready
+    type: int
+    default_random: false
+    name: timeout_ready
+  - help: The map of environment variables that are available inside runtime
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --env
+    type: dict
+    default_random: false
+    name: env
+  - help: If set, the current Pod/Deployment can not be further chained, and the next
+      `.add()` will chain after the last Pod/Deployment not this current one.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --floating
+    type: bool
+    default_random: false
+    name: floating
+  - help: If set, the Executor will restart while serving if YAML configuration source
+      or Executor modules are changed. If YAML configuration is changed, the whole
+      deployment is reloaded and new processes will be restarted. If only Python modules
+      of the Executor have changed, they will be reloaded to the interpreter without
+      restarting process.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --reload
+    type: bool
+    default_random: false
+    name: reload
+  - help: If set, try to install `requirements.txt` from the local Executor if exists
+      in the Executor folder. If using Hub, install `requirements.txt` in the Hub
+      Executor bundle to local.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --install-requirements
+    type: bool
+    default_random: false
+    name: install_requirements
+  - help: The port for input data to bind to, default is a random port between [49152,
+      65535]. In the case of an external Executor (`--external` or `external=True`)
+      this can be a list of ports. Then, every resulting address will be considered
+      as one replica of the Executor.
+    choices: null
+    default:
+    - 52435
+    required: false
+    option_strings:
+    - --port
+    - --ports
+    type: int
+    default_random: true
+    name: port
+  - help: 'Communication protocol of the server exposed by the Executor. This can
+      be a single value or a list of protocols, depending on your chosen Gateway.
+      Choose the convenient protocols from: [''GRPC'', ''HTTP'', ''WEBSOCKET''].'
+    choices:
+    - GRPC
+    - HTTP
+    - WEBSOCKET
+    default:
+    - "GRPC"
+    required: false
+    option_strings:
+    - --protocol
+    - --protocols
+    type: typing.List[str]
+    default_random: false
+    name: protocol
+  - help: 'If set, Executor is translated to a custom container compatible with the
+      chosen provider. Choose the convenient providers from: [''NONE'', ''SAGEMAKER'',
+      ''AZURE''].'
+    choices:
+    - NONE
+    - SAGEMAKER
+    - AZURE
+    default:
+    - "NONE"
+    required: false
+    option_strings:
+    - --provider
+    type: str
+    default_random: false
+    name: provider
+  - help: If set, Executor endpoint will be explicitly chosen and used in the custom
+      container operated by the provider.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --provider-endpoint
+    type: str
+    default_random: false
+    name: provider_endpoint
+  - help: If set, spawn an http server with a prometheus endpoint to expose metrics
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --monitoring
+    type: bool
+    default_random: false
+    name: monitoring
+  - help: The port on which the prometheus server is exposed, default is a random
+      port between [49152, 65535]
+    choices: null
+    default:
+    - 49337
+    required: false
+    option_strings:
+    - --port-monitoring
+    type: int
+    default_random: true
+    name: port_monitoring
+  - help: Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)
+    choices: null
+    default: -1
+    required: false
+    option_strings:
+    - --retries
+    type: int
+    default_random: false
+    name: retries
+  - help: If set, the sdk implementation of the OpenTelemetry tracer will be available
+      and will be enabled for automatic tracing of requests and customer span creation.
+      Otherwise a no-op implementation will be provided.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --tracing
+    type: bool
+    default_random: false
+    name: tracing
+  - help: If tracing is enabled, this hostname will be used to configure the trace
+      exporter agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --traces-exporter-host
+    type: str
+    default_random: false
+    name: traces_exporter_host
+  - help: If tracing is enabled, this port will be used to configure the trace exporter
+      agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --traces-exporter-port
+    type: int
+    default_random: false
+    name: traces_exporter_port
+  - help: If set, the sdk implementation of the OpenTelemetry metrics will be available
+      for default monitoring and custom measurements. Otherwise a no-op implementation
+      will be provided.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --metrics
+    type: bool
+    default_random: false
+    name: metrics
+  - help: If tracing is enabled, this hostname will be used to configure the metrics
+      exporter agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --metrics-exporter-host
+    type: str
+    default_random: false
+    name: metrics_exporter_host
+  - help: If tracing is enabled, this port will be used to configure the metrics exporter
+      agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --metrics-exporter-port
+    type: int
+    default_random: false
+    name: metrics_exporter_port
+  - help: If set, start consensus module to make sure write operations are properly
+      replicated between all the replicas
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --stateful
+    type: bool
+    default_random: false
+    name: stateful
+  - help: If set, always pull the latest Hub Executor bundle even it exists on local
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --force-update
+    - --force
+    type: bool
+    default_random: false
+    name: force_update
+  - help: The preferred target Docker platform. (e.g. "linux/amd64", "linux/arm64")
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --prefer-platform
+    type: str
+    default_random: false
+    name: prefer_platform
+  - help: The compression mechanism used when sending requests from the Head to the
+      WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.
+    choices:
+    - NoCompression
+    - Deflate
+    - Gzip
+    default: null
+    required: false
+    option_strings:
+    - --compression
+    type: str
+    default_random: false
+    name: compression
+  - help: The address of the uses-before runtime
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-before-address
+    type: str
+    default_random: false
+    name: uses_before_address
+  - help: The address of the uses-before runtime
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-after-address
+    type: str
+    default_random: false
+    name: uses_after_address
+  - help: dictionary JSON with a list of connections to configure
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --connection-list
+    type: str
+    default_random: false
+    name: connection_list
+  - help: The timeout in milliseconds used when sending data requests to Executors,
+      -1 means no timeout, disabled by default
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --timeout-send
+    type: int
+    default_random: false
+    name: timeout_send
+  help: Start a Pod. You should rarely use this directly unless you are doing low-level
+    orchestration
+- name: deployment
+  options:
+  - help: "\n    The name of this object.\n\n    This will be used in the following\
+      \ places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n\
+      \    - log message header\n    - ...\n\n    When not given, then the default\
+      \ naming strategy will apply.\n                        "
+    choices: null
+    default: executor
+    required: false
+    option_strings:
+    - --name
+    type: str
+    default_random: false
+    name: name
+  - help: The working directory for any IO operations in this object. If not set,
+      then derive from its parent `workspace`.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --workspace
+    type: str
+    default_random: false
+    name: workspace
+  - help: The config name or the absolute path to the YAML config file of the logger
+      used in this object.
+    choices: null
+    default: default
+    required: false
+    option_strings:
+    - --log-config
+    type: str
+    default_random: false
+    name: log_config
+  - help: If set, then no log will be emitted from this object.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --quiet
+    type: bool
+    default_random: false
+    name: quiet
+  - help: If set, then exception stack information will not be added to the log
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --quiet-error
+    type: bool
+    default_random: false
+    name: quiet_error
+  - help: The timeout in milliseconds of the control request, -1 for waiting forever
+    choices: null
+    default: 60
+    required: false
+    option_strings:
+    - --timeout-ctrl
+    type: int
+    default_random: false
+    name: timeout_ctrl
+  - help: "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n\
+      \    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define\
+      \ per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n\
+      \    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n\
+      \    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY',\
+      \ '*': 'ANY'}\n    \n    "
+    choices: null
+    default: ANY
+    required: false
+    option_strings:
+    - --polling
+    type: str
+    default_random: false
+    name: polling
+  - help: The number of shards in the deployment running at the same time. For more
+      details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies
+    choices: null
+    default: 1
+    required: false
+    option_strings:
+    - --shards
+    type: int
+    default_random: false
+    name: shards
+  - help: The number of replicas in the deployment
+    choices: null
+    default: 1
+    required: false
+    option_strings:
+    - --replicas
+    type: int
+    default_random: false
+    name: replicas
+  - help: If set, only native Executors is allowed, and the Executor is always run
+      inside WorkerRuntime.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --native
+    type: bool
+    default_random: false
+    name: native
+  - help: "\n        The config of the executor, it could be one of the followings:\n\
+      \        * the string literal of an Executor class name\n        * an Executor\
+      \ YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start\
+      \ with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must\
+      \ start with `docker://`)\n        * the string literal of a YAML config (must\
+      \ start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\
+      \n        When use it under Python, one can use the following values additionally:\n\
+      \        - a Python dict that represents the config\n        - a text file stream\
+      \ has `.read()` interface\n        "
+    choices: null
+    default: BaseExecutor
+    required: false
+    option_strings:
+    - --uses
+    type: str
+    default_random: false
+    name: uses
+  - help: "\n    Dictionary of keyword arguments that will override the `with` configuration\
+      \ in `uses`\n    "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-with
+    type: dict
+    default_random: false
+    name: uses_with
+  - help: "\n    Dictionary of keyword arguments that will override the `metas` configuration\
+      \ in `uses`\n    "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-metas
+    type: dict
+    default_random: false
+    name: uses_metas
+  - help: "\n        Dictionary of keyword arguments that will override the `requests`\
+      \ configuration in `uses`\n        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-requests
+    type: dict
+    default_random: false
+    name: uses_requests
+  - help: "\n        Dictionary of keyword arguments that will override the `dynamic_batching`\
+      \ configuration in `uses`\n        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-dynamic-batching
+    type: dict
+    default_random: false
+    name: uses_dynamic_batching
+  - help: '
+
+      The customized python modules need to be imported before loading the executor
+
+
+      Note that the recommended way is to only import a single module - a simple python
+      file, if your
+
+      executor can be defined in a single file, or an ``__init__.py`` file if you
+      have multiple files,
+
+      which should be structured as a python package. For more details, please see
+      the
+
+      `Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__
+
+      '
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --py-modules
+    type: typing.List[str]
+    default_random: false
+    name: py_modules
+  - help: "\nThe type of array `tensor` and `embedding` will be serialized to.\n\n\
+      Supports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which\
+      \ can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\n\
+      Defaults to retaining whatever type is returned by the Executor.\n"
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --output-array-type
+    type: str
+    default_random: false
+    name: output_array_type
+  - help: List of exceptions that will cause the Executor to shut down.
+    choices: null
+    default: []
+    required: false
+    option_strings:
+    - --exit-on-exceptions
+    type: typing.List[str]
+    default_random: false
+    name: exit_on_exceptions
+  - help: Disable the built-in reduction mechanism. Set this if the reduction is to
+      be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --no-reduce
+    - --disable-reduce
+    type: bool
+    default_random: false
+    name: no_reduce
+  - help: Allow concurrent requests to be processed by the Executor. This is only
+      recommended if the Executor is thread-safe.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --allow-concurrent
+    type: bool
+    default_random: false
+    name: allow_concurrent
+  - help: 'Dictionary of kwargs arguments that will be passed to the grpc server as
+      options when starting the server, example : {''grpc.max_send_message_length'':
+      -1}'
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --grpc-server-options
+    type: dict
+    default_random: false
+    name: grpc_server_options
+  - help: Dictionary of kwargs arguments that will be passed to the RAFT node as configuration
+      options when starting the RAFT node.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --raft-configuration
+    type: dict
+    default_random: false
+    name: raft_configuration
+  - help: 'Dictionary of kwargs arguments that will be passed to the grpc channel
+      as options when creating a channel, example : {''grpc.max_send_message_length'':
+      -1}. When max_attempts > 1, the ''grpc.service_config'' option will not be applicable.'
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --grpc-channel-options
+    type: dict
+    default_random: false
+    name: grpc_channel_options
+  - help: The entrypoint command overrides the ENTRYPOINT in Docker image. when not
+      set then the Docker image ENTRYPOINT takes effective.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --entrypoint
+    type: str
+    default_random: false
+    name: entrypoint
+  - help: "\nDictionary of kwargs arguments that will be passed to Docker SDK when\
+      \ starting the docker '\ncontainer. \n\nMore details can be found in the Docker\
+      \ SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n"
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --docker-kwargs
+    type: dict
+    default_random: false
+    name: docker_kwargs
+  - help: "\nThe path on the host to be mounted inside the container. \n\nNote, \n\
+      - If separated by `:`, then the first part will be considered as the local host\
+      \ path and the second part is the path in the container system. \n- If no split\
+      \ provided, then the basename of that directory will be mounted into container's\
+      \ root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into\
+      \ `/my-workspace` inside the container. \n- All volumes are mounted with read-write\
+      \ mode.\n    "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --volumes
+    type: typing.List[str]
+    default_random: false
+    name: volumes
+  - help: "\n    This argument allows dockerized Jina Executors to discover local\
+      \ gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n\
+      \    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n \
+      \   - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n\
+      \    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n\
+      \    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n\
+      \        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --gpus
+    type: str
+    default_random: false
+    name: gpus
+  - help: Do not automatically mount a volume for dockerized Executors.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --disable-auto-volume
+    type: bool
+    default_random: false
+    name: disable_auto_volume
+  - help: The host of the Gateway, which the client should connect to, by default
+      it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`)
+      this can be a list of hosts.  Then, every resulting address will be considered
+      as one replica of the Executor.
+    choices: null
+    default:
+    - 0.0.0.0
+    required: false
+    option_strings:
+    - --host
+    - --host-in
+    type: typing.List[str]
+    default_random: false
+    name: host
+  - help: The runtime class to run inside the Pod
+    choices: null
+    default: WorkerRuntime
+    required: false
+    option_strings:
+    - --runtime-cls
+    type: str
+    default_random: false
+    name: runtime_cls
+  - help: The timeout in milliseconds of a Pod waits for the runtime to be ready,
+      -1 for waiting forever
+    choices: null
+    default: 600000
+    required: false
+    option_strings:
+    - --timeout-ready
+    type: int
+    default_random: false
+    name: timeout_ready
+  - help: The map of environment variables that are available inside runtime
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --env
+    type: dict
+    default_random: false
+    name: env
+  - help: If set, the current Pod/Deployment can not be further chained, and the next
+      `.add()` will chain after the last Pod/Deployment not this current one.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --floating
+    type: bool
+    default_random: false
+    name: floating
+  - help: If set, the Executor will restart while serving if YAML configuration source
+      or Executor modules are changed. If YAML configuration is changed, the whole
+      deployment is reloaded and new processes will be restarted. If only Python modules
+      of the Executor have changed, they will be reloaded to the interpreter without
+      restarting process.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --reload
+    type: bool
+    default_random: false
+    name: reload
+  - help: If set, try to install `requirements.txt` from the local Executor if exists
+      in the Executor folder. If using Hub, install `requirements.txt` in the Hub
+      Executor bundle to local.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --install-requirements
+    type: bool
+    default_random: false
+    name: install_requirements
+  - help: The port for input data to bind to, default is a random port between [49152,
+      65535]. In the case of an external Executor (`--external` or `external=True`)
+      this can be a list of ports. Then, every resulting address will be considered
+      as one replica of the Executor.
+    choices: null
+    default:
+    - 50896
+    required: false
+    option_strings:
+    - --port
+    - --ports
+    type: int
+    default_random: true
+    name: port
+  - help: 'Communication protocol of the server exposed by the Executor. This can
+      be a single value or a list of protocols, depending on your chosen Gateway.
+      Choose the convenient protocols from: [''GRPC'', ''HTTP'', ''WEBSOCKET''].'
+    choices:
+    - GRPC
+    - HTTP
+    - WEBSOCKET
+    default:
+    - "GRPC"
+    required: false
+    option_strings:
+    - --protocol
+    - --protocols
+    type: typing.List[str]
+    default_random: false
+    name: protocol
+  - help: 'If set, Executor is translated to a custom container compatible with the
+      chosen provider. Choose the convenient providers from: [''NONE'', ''SAGEMAKER'',
+      ''AZURE''].'
+    choices:
+    - NONE
+    - SAGEMAKER
+    - AZURE
+    default:
+    - "NONE"
+    required: false
+    option_strings:
+    - --provider
+    type: str
+    default_random: false
+    name: provider
+  - help: If set, Executor endpoint will be explicitly chosen and used in the custom
+      container operated by the provider.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --provider-endpoint
+    type: str
+    default_random: false
+    name: provider_endpoint
+  - help: If set, spawn an http server with a prometheus endpoint to expose metrics
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --monitoring
+    type: bool
+    default_random: false
+    name: monitoring
+  - help: The port on which the prometheus server is exposed, default is a random
+      port between [49152, 65535]
+    choices: null
+    default:
+    - 49258
+    required: false
+    option_strings:
+    - --port-monitoring
+    type: int
+    default_random: true
+    name: port_monitoring
+  - help: Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)
+    choices: null
+    default: -1
+    required: false
+    option_strings:
+    - --retries
+    type: int
+    default_random: false
+    name: retries
+  - help: If set, the sdk implementation of the OpenTelemetry tracer will be available
+      and will be enabled for automatic tracing of requests and customer span creation.
+      Otherwise a no-op implementation will be provided.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --tracing
+    type: bool
+    default_random: false
+    name: tracing
+  - help: If tracing is enabled, this hostname will be used to configure the trace
+      exporter agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --traces-exporter-host
+    type: str
+    default_random: false
+    name: traces_exporter_host
+  - help: If tracing is enabled, this port will be used to configure the trace exporter
+      agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --traces-exporter-port
+    type: int
+    default_random: false
+    name: traces_exporter_port
+  - help: If set, the sdk implementation of the OpenTelemetry metrics will be available
+      for default monitoring and custom measurements. Otherwise a no-op implementation
+      will be provided.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --metrics
+    type: bool
+    default_random: false
+    name: metrics
+  - help: If tracing is enabled, this hostname will be used to configure the metrics
+      exporter agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --metrics-exporter-host
+    type: str
+    default_random: false
+    name: metrics_exporter_host
+  - help: If tracing is enabled, this port will be used to configure the metrics exporter
+      agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --metrics-exporter-port
+    type: int
+    default_random: false
+    name: metrics_exporter_port
+  - help: If set, start consensus module to make sure write operations are properly
+      replicated between all the replicas
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --stateful
+    type: bool
+    default_random: false
+    name: stateful
+  - help: If set, always pull the latest Hub Executor bundle even it exists on local
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --force-update
+    - --force
+    type: bool
+    default_random: false
+    name: force_update
+  - help: The preferred target Docker platform. (e.g. "linux/amd64", "linux/arm64")
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --prefer-platform
+    type: str
+    default_random: false
+    name: prefer_platform
+  - help: The compression mechanism used when sending requests from the Head to the
+      WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.
+    choices:
+    - NoCompression
+    - Deflate
+    - Gzip
+    default: null
+    required: false
+    option_strings:
+    - --compression
+    type: str
+    default_random: false
+    name: compression
+  - help: The address of the uses-before runtime
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-before-address
+    type: str
+    default_random: false
+    name: uses_before_address
+  - help: The address of the uses-before runtime
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-after-address
+    type: str
+    default_random: false
+    name: uses_after_address
+  - help: dictionary JSON with a list of connections to configure
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --connection-list
+    type: str
+    default_random: false
+    name: connection_list
+  - help: The timeout in milliseconds used when sending data requests to Executors,
+      -1 means no timeout, disabled by default
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --timeout-send
+    type: int
+    default_random: false
+    name: timeout_send
+  - help: The executor attached before the Pods described by --uses, typically before
+      sending to all shards, accepted type follows `--uses`. This argument only applies
+      for sharded Deployments (shards > 1).
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-before
+    type: str
+    default_random: false
+    name: uses_before
+  - help: The executor attached after the Pods described by --uses, typically used
+      for receiving from all shards, accepted type follows `--uses`. This argument
+      only applies for sharded Deployments (shards > 1).
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uses-after
+    type: str
+    default_random: false
+    name: uses_after
+  - help: The condition that the documents need to fulfill before reaching the Executor.The
+      condition can be defined in the form of a `DocArray query condition <https://docarray.jina.ai/fundamentals/documentarray/find/#query-by-conditions>`
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --when
+    type: dict
+    default_random: false
+    name: when
+  - help: The Deployment will be considered an external Deployment that has been started
+      independently from the Flow.This Deployment will not be context managed by the
+      Flow.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --external
+    type: bool
+    default_random: false
+    name: external
+  - help: The metadata to be passed to the gRPC request.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --grpc-metadata
+    type: dict
+    default_random: false
+    name: grpc_metadata
+  - help: If set, connect to deployment using tls encryption
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --tls
+    type: bool
+    default_random: false
+    name: tls
+  - help: The title of this HTTP server. It will be used in automatics docs such as
+      Swagger UI.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --title
+    type: str
+    default_random: false
+    name: title
+  - help: The description of this HTTP server. It will be used in automatics docs
+      such as Swagger UI.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --description
+    type: str
+    default_random: false
+    name: description
+  - help: "\n        If set, a CORS middleware is added to FastAPI frontend to allow\
+      \ cross-origin access.\n        "
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --cors
+    type: bool
+    default_random: false
+    name: cors
+  - help: '
+
+      Dictionary of kwargs arguments that will be passed to Uvicorn server when starting
+      the server
+
+
+      More details can be found in Uvicorn docs: https://www.uvicorn.org/settings/
+
+
+      '
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --uvicorn-kwargs
+    type: dict
+    default_random: false
+    name: uvicorn_kwargs
+  - help: "\n        the path to the certificate file\n        "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --ssl-certfile
+    type: str
+    default_random: false
+    name: ssl_certfile
+  - help: "\n            the path to the key file\n            "
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --ssl-keyfile
+    type: str
+    default_random: false
+    name: ssl_keyfile
+  help: Start a Deployment. You should rarely use this directly unless you are doing
+    low-level orchestration
+- name: client
+  options:
+  - help: If set, respect the http_proxy and https_proxy environment variables. otherwise,
+      it will unset these proxy variables before start. gRPC seems to prefer no proxy
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --proxy
+    type: bool
+    default_random: false
+    name: proxy
+  - help: The host of the Gateway, which the client should connect to, by default
+      it is 0.0.0.0.
+    choices: null
+    default: 0.0.0.0
+    required: false
+    option_strings:
+    - --host
+    - --host-in
+    type: str
+    default_random: false
+    name: host
+  - help: The port of the Gateway, which the client should connect to.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --port
+    type: int
+    default_random: false
+    name: port
+  - help: If set, connect to gateway using tls encryption
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --tls
+    type: bool
+    default_random: false
+    name: tls
+  - help: 'If set, then the input and output of this Client work in an asynchronous
+      manner. '
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --asyncio
+    type: bool
+    default_random: false
+    name: asyncio
+  - help: If set, the sdk implementation of the OpenTelemetry tracer will be available
+      and will be enabled for automatic tracing of requests and customer span creation.
+      Otherwise a no-op implementation will be provided.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --tracing
+    type: bool
+    default_random: false
+    name: tracing
+  - help: If tracing is enabled, this hostname will be used to configure the trace
+      exporter agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --traces-exporter-host
+    type: str
+    default_random: false
+    name: traces_exporter_host
+  - help: If tracing is enabled, this port will be used to configure the trace exporter
+      agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --traces-exporter-port
+    type: int
+    default_random: false
+    name: traces_exporter_port
+  - help: If set, the sdk implementation of the OpenTelemetry metrics will be available
+      for default monitoring and custom measurements. Otherwise a no-op implementation
+      will be provided.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --metrics
+    type: bool
+    default_random: false
+    name: metrics
+  - help: If tracing is enabled, this hostname will be used to configure the metrics
+      exporter agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --metrics-exporter-host
+    type: str
+    default_random: false
+    name: metrics_exporter_host
+  - help: If tracing is enabled, this port will be used to configure the metrics exporter
+      agent.
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --metrics-exporter-port
+    type: int
+    default_random: false
+    name: metrics_exporter_port
+  - help: The config name or the absolute path to the YAML config file of the logger
+      used in this object.
+    choices: null
+    default: default
+    required: false
+    option_strings:
+    - --log-config
+    type: str
+    default_random: false
+    name: log_config
+  - help: Communication protocol between server and client.
+    choices:
+    - GRPC
+    - HTTP
+    - WEBSOCKET
+    default: GRPC
+    required: false
+    option_strings:
+    - --protocol
+    type: str
+    default_random: false
+    name: protocol
+  - help: 'Dictionary of kwargs arguments that will be passed to the grpc channel
+      as options when creating a channel, example : {''grpc.max_send_message_length'':
+      -1}. When max_attempts > 1, the ''grpc.service_config'' option will not be applicable.'
+    choices: null
+    default: null
+    required: false
+    option_strings:
+    - --grpc-channel-options
+    type: dict
+    default_random: false
+    name: grpc_channel_options
+  - help: "\n    Number of requests fetched from the client before feeding into the\
+      \ first Executor. \n    \n    Used to control the speed of data input into a\
+      \ Flow. 0 disables prefetch (1000 requests is the default)"
+    choices: null
+    default: 1000
+    required: false
+    option_strings:
+    - --prefetch
+    type: int
+    default_random: false
+    name: prefetch
+  - help: If set, then no root handlers will be suppressed from logging.
+    choices: null
+    default: false
+    required: false
+    option_strings:
+    - --suppress-root-logging
+    type: bool
+    default_random: false
+    name: suppress_root_logging
+  help: Start a Python client that connects to a Jina Gateway
+revision: null
diff --git a/master b/master
index 0fd6a06b..91df141d 100644
--- a/master
+++ b/master
@@ -1 +1 @@
-{"authors": "dev-team@jina.ai", "description": "Build multimodal AI services via cloud native technologies", "docs": "https://docs.jina.ai", "license": "Apache 2.0", "methods": [{"help": "Start an Executor. Jina uses Executors process Documents", "name": "executor", "options": [{"choices": null, "default": null, "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": "ANY", "default_random": false, "help": "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}\n    \n    ", "name": "polling", "option_strings": ["--polling"], "required": false, "type": "str"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "name": "shards", "option_strings": ["--shards"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas in the deployment", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "name": "native", "option_strings": ["--native"], "required": false, "type": "bool"}, {"choices": null, "default": "BaseExecutor", "default_random": false, "help": "\n        The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `metas` configuration in `uses`\n    ", "name": "uses_metas", "option_strings": ["--uses-metas"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `requests` configuration in `uses`\n        ", "name": "uses_requests", "option_strings": ["--uses-requests"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`\n        ", "name": "uses_dynamic_batching", "option_strings": ["--uses-dynamic-batching"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.\n", "name": "output_array_type", "option_strings": ["--output-array-type"], "required": false, "type": "str"}, {"choices": null, "default": [], "default_random": false, "help": "List of exceptions that will cause the Executor to shut down.", "name": "exit_on_exceptions", "option_strings": ["--exit-on-exceptions"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": false, "default_random": false, "help": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "name": "no_reduce", "option_strings": ["--no-reduce", "--disable-reduce"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "name": "allow_concurrent", "option_strings": ["--allow-concurrent"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "name": "raft_configuration", "option_strings": ["--raft-configuration"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.\n    ", "name": "volumes", "option_strings": ["--volumes"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\n    This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n        ", "name": "gpus", "option_strings": ["--gpus"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "Do not automatically mount a volume for dockerized Executors.", "name": "disable_auto_volume", "option_strings": ["--disable-auto-volume"], "required": false, "type": "bool"}, {"choices": null, "default": ["0.0.0.0"], "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": "WorkerRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}, {"choices": null, "default": [49254], "default_random": true, "help": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "name": "port", "option_strings": ["--port", "--ports"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [49547], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_before_address", "option_strings": ["--uses-before-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_after_address", "option_strings": ["--uses-after-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "dictionary JSON with a list of connections to configure", "name": "connection_list", "option_strings": ["--connection-list"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}]}, {"help": "Start a Flow. Jina uses Flows to streamline and distribute Executors", "name": "flow", "options": [{"choices": null, "default": null, "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no root handlers will be suppressed from logging.", "name": "suppress_root_logging", "option_strings": ["--suppress-root-logging"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The YAML path represents a flow. It can be either a local file path or a URL.", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, auto-reloading on file changes is enabled: the Flow will restart while blocked if  YAML configuration source is changed. This also applies apply to underlying Executors, if their source code or YAML configuration has changed.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": ["HANG", "REMOVE", "COLLECT"], "default": "COLLECT", "default_random": false, "help": "\n    The strategy on those inspect deployments in the flow.\n\n    If `REMOVE` is given then all inspect deployments are removed when building the flow.\n    ", "name": "inspect", "option_strings": ["--inspect"], "required": false, "type": "str"}]}, {"help": "Ping a remote Executor or Flow.", "name": "ping", "options": [{"choices": ["flow", "executor", "gateway"], "default": "executor", "default_random": false, "help": "The target type to ping. For `executor` and `gateway`, checks the readiness of the individual service. For `flow` it checks the connectivity of the complete microservice architecture.", "name": "target", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The host address with port of a target Executor, Gateway or a Flow, e.g. 0.0.0.0:8000. For Flow or Gateway, host can also indicate the protocol, grpc will be used if not provided, e.g http://0.0.0.0:8000", "name": "host", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": 3000, "default_random": false, "help": "\nTimeout in millisecond of one check\nUse -1 for waiting forever\n", "name": "timeout", "option_strings": ["--timeout"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of readiness checks to perform", "name": "attempts", "option_strings": ["--attempts"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The minimum number of successful readiness checks, before exiting successfully with exit(0)", "name": "min_successful_attempts", "option_strings": ["--min-successful-attempts"], "required": false, "type": "int"}]}, {"help": "Export Jina API and Flow to JSONSchema, Kubernetes YAML, or SVG flowchart", "methods": [{"help": null, "name": "flowchart", "options": [{"choices": null, "default": null, "default_random": false, "help": "The input file path of a Flow or Deployment YAML ", "name": "config_path", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The output path", "name": "outpath", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then the flowchart is rendered vertically from top to down.", "name": "vertical_layout", "option_strings": ["--vertical-layout"], "required": false, "type": "bool"}]}, {"help": null, "name": "kubernetes", "options": [{"choices": null, "default": null, "default_random": false, "help": "The input file path of a Flow or Deployment YAML ", "name": "config_path", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The output path", "name": "outpath", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The name of the k8s namespace to set for the configurations. If None, the name of the Flow will be used.", "name": "k8s_namespace", "option_strings": ["--k8s-namespace"], "required": false, "type": "str"}]}, {"help": null, "name": "docker-compose", "options": [{"choices": null, "default": null, "default_random": false, "help": "The input file path of a Flow or Deployment YAML ", "name": "config_path", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The output path", "name": "outpath", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The name of the network that will be used by the deployment name.", "name": "network_name", "option_strings": ["--network_name"], "required": false, "type": "str"}]}, {"help": null, "name": "schema", "options": [{"choices": null, "default": null, "default_random": false, "help": "The YAML file path for storing the exported API", "name": "yaml_path", "option_strings": ["--yaml-path"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "The JSON file path for storing the exported API", "name": "json_path", "option_strings": ["--json-path"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "The JSONSchema file path for storing the exported API", "name": "schema_path", "option_strings": ["--schema-path"], "required": false, "type": "typing.List[str]"}]}], "name": "export", "options": []}, {"help": "Create a new Jina project with a predefined template", "name": "new", "options": [{"choices": null, "default": "hello-jina", "default_random": false, "help": "The name of the project", "name": "name", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": "flow", "default_random": false, "help": "The type of project to be created (either flow or deployment)", "name": "type", "option_strings": ["--type"], "required": false, "type": "str"}]}, {"help": "Start a Gateway to receive client Requests via gRPC/RESTful interface", "name": "gateway", "options": [{"choices": null, "default": "gateway", "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": 1000, "default_random": false, "help": "\n    Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "name": "prefetch", "option_strings": ["--prefetch"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "title", "option_strings": ["--title"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "description", "option_strings": ["--description"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "\n        If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.\n        ", "name": "cors", "option_strings": ["--cors"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/\n\n", "name": "uvicorn_kwargs", "option_strings": ["--uvicorn-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        the path to the certificate file\n        ", "name": "ssl_certfile", "option_strings": ["--ssl-certfile"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n            the path to the key file\n            ", "name": "ssl_keyfile", "option_strings": ["--ssl-keyfile"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, `/status` `/post` endpoints are removed from HTTP interface. ", "name": "no_debug_endpoints", "option_strings": ["--no-debug-endpoints"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "\n        If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.\n        ", "name": "no_crud_endpoints", "option_strings": ["--no-crud-endpoints"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\n        A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.\n        ", "name": "expose_endpoints", "option_strings": ["--expose-endpoints"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, /graphql endpoint is added to HTTP interface. ", "name": "expose_graphql_endpoint", "option_strings": ["--expose-graphql-endpoint"], "required": false, "type": "bool"}, {"choices": null, "default": "0.0.0.0", "default_random": false, "help": "The host address of the runtime, by default it is 0.0.0.0.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "name": "proxy", "option_strings": ["--proxy"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\n        The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": "{}", "default_random": false, "help": "Routing graph for the gateway", "name": "graph_description", "option_strings": ["--graph-description"], "required": false, "type": "str"}, {"choices": null, "default": "{}", "default_random": false, "help": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "name": "graph_conditions", "option_strings": ["--graph-conditions"], "required": false, "type": "str"}, {"choices": null, "default": "{}", "default_random": false, "help": "JSON dictionary with the input addresses of each Deployment", "name": "deployments_addresses", "option_strings": ["--deployments-addresses"], "required": false, "type": "str"}, {"choices": null, "default": "{}", "default_random": false, "help": "JSON dictionary with the request metadata for each Deployment", "name": "deployments_metadata", "option_strings": ["--deployments-metadata"], "required": false, "type": "str"}, {"choices": null, "default": "[]", "default_random": false, "help": "list JSON disabling the built-in merging mechanism for each Deployment listed", "name": "deployments_no_reduce", "option_strings": ["--deployments-no-reduce", "--deployments-disable-reduce"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}, {"choices": null, "default": "GatewayRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": [50676], "default_random": true, "help": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "name": "port", "option_strings": ["--port", "--ports", "--port-expose", "--port-in"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [51214], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}]}, {"help": "Log in to Jina AI with your GitHub/Google/Email account", "methods": [{"help": "Login to Jina AI Ecosystem", "name": "login", "options": [{"choices": null, "default": false, "default_random": false, "help": "Force to login", "name": "force", "option_strings": ["-f", "--force"], "required": false, "type": "bool"}]}, {"help": "Logout from Jina AI Ecosystem", "methods": [], "name": "logout", "options": []}, {"help": "Commands for Personal Access Token", "methods": [{"help": "Create a Personal Access Token", "name": "create", "options": [{"choices": null, "default": 7, "default_random": false, "help": "Validity period (days)", "name": "expire", "option_strings": ["-e", "--expire"], "required": false, "type": "int"}, {"choices": null, "default": "table", "default_random": false, "help": "Display format of the token, one of [table, raw]", "name": "format", "option_strings": ["--format"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "Name of Personal Access Token", "name": "name", "option_strings": [], "required": true, "type": "str"}]}, {"help": "Revoke a Personal Access Token", "name": "delete", "options": [{"choices": null, "default": null, "default_random": false, "help": "Name of Personal Access Token which you want to delete", "name": "name", "option_strings": [], "required": true, "type": "str"}]}, {"help": "List all Personal Access Tokens", "methods": [], "name": "list", "options": []}], "name": "token", "options": []}], "name": "auth", "options": []}, {"help": "Push/pull Executor to/from Executor Hub", "methods": [{"help": "Create a new executor using the template", "name": "new", "options": [{"choices": null, "default": null, "default_random": false, "help": "the name of the Executor", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "the path to store the Executor", "name": "path", "option_strings": ["--path"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always set up advance configuration like description, keywords and url", "name": "advance_configuration", "option_strings": ["--advance-configuration"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "the short description of the Executor", "name": "description", "option_strings": ["--description"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "some keywords to help people search your Executor (separated by comma)", "name": "keywords", "option_strings": ["--keywords"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "the URL of your GitHub repo", "name": "url", "option_strings": ["--url"], "required": false, "type": "str"}, {"choices": ["cpu", "tf-gpu", "torch-gpu", "jax-gpu"], "default": null, "default_random": false, "help": "The Dockerfile template to use for the Executor", "name": "dockerfile", "option_strings": ["--dockerfile"], "required": false, "type": "str"}]}, {"help": "Push an executor package to Jina hub", "name": "push", "options": [{"choices": null, "default": false, "default_random": false, "help": "If set, Hub executor usage will not be printed.", "name": "no_usage", "option_strings": ["--no-usage"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, more information will be printed.", "name": "verbose", "option_strings": ["--verbose"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The Executor folder to be pushed to Jina Hub", "name": "path", "option_strings": [], "required": true, "type": "dir_path"}, {"choices": null, "default": null, "default_random": false, "help": "The file path to the Dockerfile (default is `${cwd}/Dockerfile`)", "name": "dockerfile", "option_strings": ["-f", "--dockerfile"], "required": false, "type": "None"}, {"choices": null, "default": null, "default_random": false, "help": "If set, push will overwrite the Executor on the Hub that shares the same NAME or UUID8 identifier", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "A comma separated list of target Docker platforms. Explicitly set target platform(s) for build. (e.g. \"linux/amd64,linux/arm64\")", "name": "platform", "option_strings": ["--platform"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The secret for overwrite a Hub executor", "name": "secret", "option_strings": ["--secret"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, \"--no-cache\" option will be added to the Docker build.", "name": "no_cache", "option_strings": ["--no-cache"], "required": false, "type": "bool"}, {"choices": null, "default": "==SUPPRESS==", "default_random": false, "help": "If set, the pushed executor is visible to public", "name": "public", "option_strings": ["--public"], "required": false, "type": "bool"}, {"choices": null, "default": "==SUPPRESS==", "default_random": false, "help": "If set, the pushed executor is invisible to public", "name": "private", "option_strings": ["--private"], "required": false, "type": "bool"}]}, {"help": "Download an executor image/package from Jina hub", "name": "pull", "options": [{"choices": null, "default": false, "default_random": false, "help": "If set, Hub executor usage will not be printed.", "name": "no_usage", "option_strings": ["--no-usage"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The URI of the executor to pull (e.g., jinaai[+docker]://<username>/NAME)", "name": "uri", "option_strings": [], "required": true, "type": "hub_uri"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, install `requirements.txt` in the Hub Executor bundle to local", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}]}, {"help": "Query an executor building status of of a pushed Executor from Jina hub", "name": "status", "options": [{"choices": null, "default": ".", "default_random": false, "help": "The Executor folder to be pushed to Jina Hub.", "name": "path", "option_strings": [], "required": false, "type": "dir_path"}, {"choices": null, "default": null, "default_random": false, "help": "If set, you can get the specified building state of a pushed Executor.", "name": "id", "option_strings": ["--id"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, more building status information of a pushed Executor will be printed.", "name": "verbose", "option_strings": ["--verbose"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, history building status information of a pushed Executor will be printed.", "name": "replay", "option_strings": ["--replay"], "required": false, "type": "bool"}]}, {"help": "List your local Jina Executors", "methods": [], "name": "list", "options": []}], "name": "hub", "options": []}, {"help": "Manage Flows on Jina Cloud", "name": "cloud", "options": [{"choices": ["DEBUG", "INFO", "CRITICAL", "NOTSET"], "default": "INFO", "default_random": false, "help": "Set the loglevel of the logger", "name": "loglevel", "option_strings": ["--loglevel"], "required": false, "type": "str"}]}, {"help": "Show help text of a CLI argument", "name": "help", "options": [{"choices": null, "default": null, "default_random": false, "help": "Look up usage & mention of argument name in Jina API. The name can be fuzzy", "name": "query", "option_strings": [], "required": true, "type": "str"}]}, {"help": "Start a Pod. You should rarely use this directly unless you are doing low-level orchestration", "name": "pod", "options": [{"choices": null, "default": null, "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": "ANY", "default_random": false, "help": "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}\n    \n    ", "name": "polling", "option_strings": ["--polling"], "required": false, "type": "str"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "name": "shards", "option_strings": ["--shards"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas in the deployment", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "name": "native", "option_strings": ["--native"], "required": false, "type": "bool"}, {"choices": null, "default": "BaseExecutor", "default_random": false, "help": "\n        The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `metas` configuration in `uses`\n    ", "name": "uses_metas", "option_strings": ["--uses-metas"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `requests` configuration in `uses`\n        ", "name": "uses_requests", "option_strings": ["--uses-requests"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`\n        ", "name": "uses_dynamic_batching", "option_strings": ["--uses-dynamic-batching"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.\n", "name": "output_array_type", "option_strings": ["--output-array-type"], "required": false, "type": "str"}, {"choices": null, "default": [], "default_random": false, "help": "List of exceptions that will cause the Executor to shut down.", "name": "exit_on_exceptions", "option_strings": ["--exit-on-exceptions"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": false, "default_random": false, "help": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "name": "no_reduce", "option_strings": ["--no-reduce", "--disable-reduce"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "name": "allow_concurrent", "option_strings": ["--allow-concurrent"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "name": "raft_configuration", "option_strings": ["--raft-configuration"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.\n    ", "name": "volumes", "option_strings": ["--volumes"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\n    This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n        ", "name": "gpus", "option_strings": ["--gpus"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "Do not automatically mount a volume for dockerized Executors.", "name": "disable_auto_volume", "option_strings": ["--disable-auto-volume"], "required": false, "type": "bool"}, {"choices": null, "default": ["0.0.0.0"], "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": "WorkerRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}, {"choices": null, "default": [57742], "default_random": true, "help": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "name": "port", "option_strings": ["--port", "--ports"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [58772], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_before_address", "option_strings": ["--uses-before-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_after_address", "option_strings": ["--uses-after-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "dictionary JSON with a list of connections to configure", "name": "connection_list", "option_strings": ["--connection-list"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}]}, {"help": "Start a Deployment. You should rarely use this directly unless you are doing low-level orchestration", "name": "deployment", "options": [{"choices": null, "default": "executor", "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": "ANY", "default_random": false, "help": "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}\n    \n    ", "name": "polling", "option_strings": ["--polling"], "required": false, "type": "str"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "name": "shards", "option_strings": ["--shards"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas in the deployment", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "name": "native", "option_strings": ["--native"], "required": false, "type": "bool"}, {"choices": null, "default": "BaseExecutor", "default_random": false, "help": "\n        The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `metas` configuration in `uses`\n    ", "name": "uses_metas", "option_strings": ["--uses-metas"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `requests` configuration in `uses`\n        ", "name": "uses_requests", "option_strings": ["--uses-requests"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`\n        ", "name": "uses_dynamic_batching", "option_strings": ["--uses-dynamic-batching"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.\n", "name": "output_array_type", "option_strings": ["--output-array-type"], "required": false, "type": "str"}, {"choices": null, "default": [], "default_random": false, "help": "List of exceptions that will cause the Executor to shut down.", "name": "exit_on_exceptions", "option_strings": ["--exit-on-exceptions"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": false, "default_random": false, "help": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "name": "no_reduce", "option_strings": ["--no-reduce", "--disable-reduce"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "name": "allow_concurrent", "option_strings": ["--allow-concurrent"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "name": "raft_configuration", "option_strings": ["--raft-configuration"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.\n    ", "name": "volumes", "option_strings": ["--volumes"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\n    This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n        ", "name": "gpus", "option_strings": ["--gpus"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "Do not automatically mount a volume for dockerized Executors.", "name": "disable_auto_volume", "option_strings": ["--disable-auto-volume"], "required": false, "type": "bool"}, {"choices": null, "default": ["0.0.0.0"], "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": "WorkerRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}, {"choices": null, "default": [64232], "default_random": true, "help": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "name": "port", "option_strings": ["--port", "--ports"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [62785], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_before_address", "option_strings": ["--uses-before-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_after_address", "option_strings": ["--uses-after-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "dictionary JSON with a list of connections to configure", "name": "connection_list", "option_strings": ["--connection-list"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The executor attached before the Pods described by --uses, typically before sending to all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "name": "uses_before", "option_strings": ["--uses-before"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The executor attached after the Pods described by --uses, typically used for receiving from all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "name": "uses_after", "option_strings": ["--uses-after"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The condition that the documents need to fulfill before reaching the Executor.The condition can be defined in the form of a `DocArray query condition <https://docarray.jina.ai/fundamentals/documentarray/find/#query-by-conditions>`", "name": "when", "option_strings": ["--when"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "The Deployment will be considered an external Deployment that has been started independently from the Flow.This Deployment will not be context managed by the Flow.", "name": "external", "option_strings": ["--external"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The metadata to be passed to the gRPC request.", "name": "grpc_metadata", "option_strings": ["--grpc-metadata"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, connect to deployment using tls encryption", "name": "tls", "option_strings": ["--tls"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "title", "option_strings": ["--title"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "description", "option_strings": ["--description"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "\n        If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.\n        ", "name": "cors", "option_strings": ["--cors"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/\n\n", "name": "uvicorn_kwargs", "option_strings": ["--uvicorn-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        the path to the certificate file\n        ", "name": "ssl_certfile", "option_strings": ["--ssl-certfile"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n            the path to the key file\n            ", "name": "ssl_keyfile", "option_strings": ["--ssl-keyfile"], "required": false, "type": "str"}]}, {"help": "Start a Python client that connects to a Jina Gateway", "name": "client", "options": [{"choices": null, "default": false, "default_random": false, "help": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "name": "proxy", "option_strings": ["--proxy"], "required": false, "type": "bool"}, {"choices": null, "default": "0.0.0.0", "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The port of the Gateway, which the client should connect to.", "name": "port", "option_strings": ["--port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, connect to gateway using tls encryption", "name": "tls", "option_strings": ["--tls"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then the input and output of this Client work in an asynchronous manner. ", "name": "asyncio", "option_strings": ["--asyncio"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": "GRPC", "default_random": false, "help": "Communication protocol between server and client.", "name": "protocol", "option_strings": ["--protocol"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": 1000, "default_random": false, "help": "\n    Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "name": "prefetch", "option_strings": ["--prefetch"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no root handlers will be suppressed from logging.", "name": "suppress_root_logging", "option_strings": ["--suppress-root-logging"], "required": false, "type": "bool"}]}], "name": "Jina", "revision": null, "source": "https://github.com/jina-ai/jina/tree/master", "url": "https://jina.ai", "vendor": "Jina AI Limited", "version": "3.25.2"}
\ No newline at end of file
+{"authors": "dev-team@jina.ai", "description": "Build multimodal AI services via cloud native technologies", "docs": "https://docs.jina.ai", "license": "Apache 2.0", "methods": [{"help": "Start an Executor. Jina uses Executors process Documents", "name": "executor", "options": [{"choices": null, "default": null, "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": "ANY", "default_random": false, "help": "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}\n    \n    ", "name": "polling", "option_strings": ["--polling"], "required": false, "type": "str"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "name": "shards", "option_strings": ["--shards"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas in the deployment", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "name": "native", "option_strings": ["--native"], "required": false, "type": "bool"}, {"choices": null, "default": "BaseExecutor", "default_random": false, "help": "\n        The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `metas` configuration in `uses`\n    ", "name": "uses_metas", "option_strings": ["--uses-metas"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `requests` configuration in `uses`\n        ", "name": "uses_requests", "option_strings": ["--uses-requests"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`\n        ", "name": "uses_dynamic_batching", "option_strings": ["--uses-dynamic-batching"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.\n", "name": "output_array_type", "option_strings": ["--output-array-type"], "required": false, "type": "str"}, {"choices": null, "default": [], "default_random": false, "help": "List of exceptions that will cause the Executor to shut down.", "name": "exit_on_exceptions", "option_strings": ["--exit-on-exceptions"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": false, "default_random": false, "help": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "name": "no_reduce", "option_strings": ["--no-reduce", "--disable-reduce"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "name": "allow_concurrent", "option_strings": ["--allow-concurrent"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "name": "raft_configuration", "option_strings": ["--raft-configuration"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.\n    ", "name": "volumes", "option_strings": ["--volumes"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\n    This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n        ", "name": "gpus", "option_strings": ["--gpus"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "Do not automatically mount a volume for dockerized Executors.", "name": "disable_auto_volume", "option_strings": ["--disable-auto-volume"], "required": false, "type": "bool"}, {"choices": null, "default": ["0.0.0.0"], "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": "WorkerRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}, {"choices": null, "default": [62072], "default_random": true, "help": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "name": "port", "option_strings": ["--port", "--ports"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [65048], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_before_address", "option_strings": ["--uses-before-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_after_address", "option_strings": ["--uses-after-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "dictionary JSON with a list of connections to configure", "name": "connection_list", "option_strings": ["--connection-list"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}]}, {"help": "Start a Flow. Jina uses Flows to streamline and distribute Executors", "name": "flow", "options": [{"choices": null, "default": null, "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no root handlers will be suppressed from logging.", "name": "suppress_root_logging", "option_strings": ["--suppress-root-logging"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The YAML path represents a flow. It can be either a local file path or a URL.", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, auto-reloading on file changes is enabled: the Flow will restart while blocked if  YAML configuration source is changed. This also applies apply to underlying Executors, if their source code or YAML configuration has changed.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": ["HANG", "REMOVE", "COLLECT"], "default": "COLLECT", "default_random": false, "help": "\n    The strategy on those inspect deployments in the flow.\n\n    If `REMOVE` is given then all inspect deployments are removed when building the flow.\n    ", "name": "inspect", "option_strings": ["--inspect"], "required": false, "type": "str"}]}, {"help": "Ping a remote Executor or Flow.", "name": "ping", "options": [{"choices": ["flow", "executor", "gateway"], "default": "executor", "default_random": false, "help": "The target type to ping. For `executor` and `gateway`, checks the readiness of the individual service. For `flow` it checks the connectivity of the complete microservice architecture.", "name": "target", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The host address with port of a target Executor, Gateway or a Flow, e.g. 0.0.0.0:8000. For Flow or Gateway, host can also indicate the protocol, grpc will be used if not provided, e.g http://0.0.0.0:8000", "name": "host", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": 3000, "default_random": false, "help": "\nTimeout in millisecond of one check\nUse -1 for waiting forever\n", "name": "timeout", "option_strings": ["--timeout"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of readiness checks to perform", "name": "attempts", "option_strings": ["--attempts"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The minimum number of successful readiness checks, before exiting successfully with exit(0)", "name": "min_successful_attempts", "option_strings": ["--min-successful-attempts"], "required": false, "type": "int"}]}, {"help": "Export Jina API and Flow to JSONSchema, Kubernetes YAML, or SVG flowchart", "methods": [{"help": null, "name": "flowchart", "options": [{"choices": null, "default": null, "default_random": false, "help": "The input file path of a Flow or Deployment YAML ", "name": "config_path", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The output path", "name": "outpath", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then the flowchart is rendered vertically from top to down.", "name": "vertical_layout", "option_strings": ["--vertical-layout"], "required": false, "type": "bool"}]}, {"help": null, "name": "kubernetes", "options": [{"choices": null, "default": null, "default_random": false, "help": "The input file path of a Flow or Deployment YAML ", "name": "config_path", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The output path", "name": "outpath", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The name of the k8s namespace to set for the configurations. If None, the name of the Flow will be used.", "name": "k8s_namespace", "option_strings": ["--k8s-namespace"], "required": false, "type": "str"}]}, {"help": null, "name": "docker-compose", "options": [{"choices": null, "default": null, "default_random": false, "help": "The input file path of a Flow or Deployment YAML ", "name": "config_path", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The output path", "name": "outpath", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The name of the network that will be used by the deployment name.", "name": "network_name", "option_strings": ["--network_name"], "required": false, "type": "str"}]}, {"help": null, "name": "schema", "options": [{"choices": null, "default": null, "default_random": false, "help": "The YAML file path for storing the exported API", "name": "yaml_path", "option_strings": ["--yaml-path"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "The JSON file path for storing the exported API", "name": "json_path", "option_strings": ["--json-path"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "The JSONSchema file path for storing the exported API", "name": "schema_path", "option_strings": ["--schema-path"], "required": false, "type": "typing.List[str]"}]}], "name": "export", "options": []}, {"help": "Create a new Jina project with a predefined template", "name": "new", "options": [{"choices": null, "default": "hello-jina", "default_random": false, "help": "The name of the project", "name": "name", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": "flow", "default_random": false, "help": "The type of project to be created (either flow or deployment)", "name": "type", "option_strings": ["--type"], "required": false, "type": "str"}]}, {"help": "Start a Gateway to receive client Requests via gRPC/RESTful interface", "name": "gateway", "options": [{"choices": null, "default": "gateway", "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": 1000, "default_random": false, "help": "\n    Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "name": "prefetch", "option_strings": ["--prefetch"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "title", "option_strings": ["--title"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "description", "option_strings": ["--description"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "\n        If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.\n        ", "name": "cors", "option_strings": ["--cors"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/\n\n", "name": "uvicorn_kwargs", "option_strings": ["--uvicorn-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        the path to the certificate file\n        ", "name": "ssl_certfile", "option_strings": ["--ssl-certfile"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n            the path to the key file\n            ", "name": "ssl_keyfile", "option_strings": ["--ssl-keyfile"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, `/status` `/post` endpoints are removed from HTTP interface. ", "name": "no_debug_endpoints", "option_strings": ["--no-debug-endpoints"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "\n        If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.\n        ", "name": "no_crud_endpoints", "option_strings": ["--no-crud-endpoints"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\n        A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.\n        ", "name": "expose_endpoints", "option_strings": ["--expose-endpoints"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, /graphql endpoint is added to HTTP interface. ", "name": "expose_graphql_endpoint", "option_strings": ["--expose-graphql-endpoint"], "required": false, "type": "bool"}, {"choices": null, "default": "0.0.0.0", "default_random": false, "help": "The host address of the runtime, by default it is 0.0.0.0.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "name": "proxy", "option_strings": ["--proxy"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\n        The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": "{}", "default_random": false, "help": "Routing graph for the gateway", "name": "graph_description", "option_strings": ["--graph-description"], "required": false, "type": "str"}, {"choices": null, "default": "{}", "default_random": false, "help": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "name": "graph_conditions", "option_strings": ["--graph-conditions"], "required": false, "type": "str"}, {"choices": null, "default": "{}", "default_random": false, "help": "JSON dictionary with the input addresses of each Deployment", "name": "deployments_addresses", "option_strings": ["--deployments-addresses"], "required": false, "type": "str"}, {"choices": null, "default": "{}", "default_random": false, "help": "JSON dictionary with the request metadata for each Deployment", "name": "deployments_metadata", "option_strings": ["--deployments-metadata"], "required": false, "type": "str"}, {"choices": null, "default": "[]", "default_random": false, "help": "list JSON disabling the built-in merging mechanism for each Deployment listed", "name": "deployments_no_reduce", "option_strings": ["--deployments-no-reduce", "--deployments-disable-reduce"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}, {"choices": null, "default": "GatewayRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": [52020], "default_random": true, "help": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "name": "port", "option_strings": ["--port", "--ports", "--port-expose", "--port-in"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [52583], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}]}, {"help": "Log in to Jina AI with your GitHub/Google/Email account", "methods": [{"help": "Login to Jina AI Ecosystem", "name": "login", "options": [{"choices": null, "default": false, "default_random": false, "help": "Force to login", "name": "force", "option_strings": ["-f", "--force"], "required": false, "type": "bool"}]}, {"help": "Logout from Jina AI Ecosystem", "methods": [], "name": "logout", "options": []}, {"help": "Commands for Personal Access Token", "methods": [{"help": "Create a Personal Access Token", "name": "create", "options": [{"choices": null, "default": 7, "default_random": false, "help": "Validity period (days)", "name": "expire", "option_strings": ["-e", "--expire"], "required": false, "type": "int"}, {"choices": null, "default": "table", "default_random": false, "help": "Display format of the token, one of [table, raw]", "name": "format", "option_strings": ["--format"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "Name of Personal Access Token", "name": "name", "option_strings": [], "required": true, "type": "str"}]}, {"help": "Revoke a Personal Access Token", "name": "delete", "options": [{"choices": null, "default": null, "default_random": false, "help": "Name of Personal Access Token which you want to delete", "name": "name", "option_strings": [], "required": true, "type": "str"}]}, {"help": "List all Personal Access Tokens", "methods": [], "name": "list", "options": []}], "name": "token", "options": []}], "name": "auth", "options": []}, {"help": "Push/pull Executor to/from Executor Hub", "methods": [{"help": "Create a new executor using the template", "name": "new", "options": [{"choices": null, "default": null, "default_random": false, "help": "the name of the Executor", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "the path to store the Executor", "name": "path", "option_strings": ["--path"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always set up advance configuration like description, keywords and url", "name": "advance_configuration", "option_strings": ["--advance-configuration"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "the short description of the Executor", "name": "description", "option_strings": ["--description"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "some keywords to help people search your Executor (separated by comma)", "name": "keywords", "option_strings": ["--keywords"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "the URL of your GitHub repo", "name": "url", "option_strings": ["--url"], "required": false, "type": "str"}, {"choices": ["cpu", "tf-gpu", "torch-gpu", "jax-gpu"], "default": null, "default_random": false, "help": "The Dockerfile template to use for the Executor", "name": "dockerfile", "option_strings": ["--dockerfile"], "required": false, "type": "str"}]}, {"help": "Push an executor package to Jina hub", "name": "push", "options": [{"choices": null, "default": false, "default_random": false, "help": "If set, Hub executor usage will not be printed.", "name": "no_usage", "option_strings": ["--no-usage"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, more information will be printed.", "name": "verbose", "option_strings": ["--verbose"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The Executor folder to be pushed to Jina Hub", "name": "path", "option_strings": [], "required": true, "type": "dir_path"}, {"choices": null, "default": null, "default_random": false, "help": "The file path to the Dockerfile (default is `${cwd}/Dockerfile`)", "name": "dockerfile", "option_strings": ["-f", "--dockerfile"], "required": false, "type": "None"}, {"choices": null, "default": null, "default_random": false, "help": "If set, push will overwrite the Executor on the Hub that shares the same NAME or UUID8 identifier", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "A comma separated list of target Docker platforms. Explicitly set target platform(s) for build. (e.g. \"linux/amd64,linux/arm64\")", "name": "platform", "option_strings": ["--platform"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The secret for overwrite a Hub executor", "name": "secret", "option_strings": ["--secret"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, \"--no-cache\" option will be added to the Docker build.", "name": "no_cache", "option_strings": ["--no-cache"], "required": false, "type": "bool"}, {"choices": null, "default": "==SUPPRESS==", "default_random": false, "help": "If set, the pushed executor is visible to public", "name": "public", "option_strings": ["--public"], "required": false, "type": "bool"}, {"choices": null, "default": "==SUPPRESS==", "default_random": false, "help": "If set, the pushed executor is invisible to public", "name": "private", "option_strings": ["--private"], "required": false, "type": "bool"}]}, {"help": "Download an executor image/package from Jina hub", "name": "pull", "options": [{"choices": null, "default": false, "default_random": false, "help": "If set, Hub executor usage will not be printed.", "name": "no_usage", "option_strings": ["--no-usage"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The URI of the executor to pull (e.g., jinaai[+docker]://<username>/NAME)", "name": "uri", "option_strings": [], "required": true, "type": "hub_uri"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, install `requirements.txt` in the Hub Executor bundle to local", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}]}, {"help": "Query an executor building status of of a pushed Executor from Jina hub", "name": "status", "options": [{"choices": null, "default": ".", "default_random": false, "help": "The Executor folder to be pushed to Jina Hub.", "name": "path", "option_strings": [], "required": false, "type": "dir_path"}, {"choices": null, "default": null, "default_random": false, "help": "If set, you can get the specified building state of a pushed Executor.", "name": "id", "option_strings": ["--id"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, more building status information of a pushed Executor will be printed.", "name": "verbose", "option_strings": ["--verbose"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, history building status information of a pushed Executor will be printed.", "name": "replay", "option_strings": ["--replay"], "required": false, "type": "bool"}]}, {"help": "List your local Jina Executors", "methods": [], "name": "list", "options": []}], "name": "hub", "options": []}, {"help": "Manage Flows on Jina Cloud", "name": "cloud", "options": [{"choices": ["DEBUG", "INFO", "CRITICAL", "NOTSET"], "default": "INFO", "default_random": false, "help": "Set the loglevel of the logger", "name": "loglevel", "option_strings": ["--loglevel"], "required": false, "type": "str"}]}, {"help": "Show help text of a CLI argument", "name": "help", "options": [{"choices": null, "default": null, "default_random": false, "help": "Look up usage & mention of argument name in Jina API. The name can be fuzzy", "name": "query", "option_strings": [], "required": true, "type": "str"}]}, {"help": "Start a Pod. You should rarely use this directly unless you are doing low-level orchestration", "name": "pod", "options": [{"choices": null, "default": null, "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": "ANY", "default_random": false, "help": "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}\n    \n    ", "name": "polling", "option_strings": ["--polling"], "required": false, "type": "str"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "name": "shards", "option_strings": ["--shards"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas in the deployment", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "name": "native", "option_strings": ["--native"], "required": false, "type": "bool"}, {"choices": null, "default": "BaseExecutor", "default_random": false, "help": "\n        The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `metas` configuration in `uses`\n    ", "name": "uses_metas", "option_strings": ["--uses-metas"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `requests` configuration in `uses`\n        ", "name": "uses_requests", "option_strings": ["--uses-requests"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`\n        ", "name": "uses_dynamic_batching", "option_strings": ["--uses-dynamic-batching"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.\n", "name": "output_array_type", "option_strings": ["--output-array-type"], "required": false, "type": "str"}, {"choices": null, "default": [], "default_random": false, "help": "List of exceptions that will cause the Executor to shut down.", "name": "exit_on_exceptions", "option_strings": ["--exit-on-exceptions"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": false, "default_random": false, "help": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "name": "no_reduce", "option_strings": ["--no-reduce", "--disable-reduce"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "name": "allow_concurrent", "option_strings": ["--allow-concurrent"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "name": "raft_configuration", "option_strings": ["--raft-configuration"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.\n    ", "name": "volumes", "option_strings": ["--volumes"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\n    This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n        ", "name": "gpus", "option_strings": ["--gpus"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "Do not automatically mount a volume for dockerized Executors.", "name": "disable_auto_volume", "option_strings": ["--disable-auto-volume"], "required": false, "type": "bool"}, {"choices": null, "default": ["0.0.0.0"], "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": "WorkerRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}, {"choices": null, "default": [50228], "default_random": true, "help": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "name": "port", "option_strings": ["--port", "--ports"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [52244], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_before_address", "option_strings": ["--uses-before-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_after_address", "option_strings": ["--uses-after-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "dictionary JSON with a list of connections to configure", "name": "connection_list", "option_strings": ["--connection-list"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}]}, {"help": "Start a Deployment. You should rarely use this directly unless you are doing low-level orchestration", "name": "deployment", "options": [{"choices": null, "default": "executor", "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": "ANY", "default_random": false, "help": "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}\n    \n    ", "name": "polling", "option_strings": ["--polling"], "required": false, "type": "str"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "name": "shards", "option_strings": ["--shards"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas in the deployment", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "name": "native", "option_strings": ["--native"], "required": false, "type": "bool"}, {"choices": null, "default": "BaseExecutor", "default_random": false, "help": "\n        The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `metas` configuration in `uses`\n    ", "name": "uses_metas", "option_strings": ["--uses-metas"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `requests` configuration in `uses`\n        ", "name": "uses_requests", "option_strings": ["--uses-requests"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`\n        ", "name": "uses_dynamic_batching", "option_strings": ["--uses-dynamic-batching"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.\n", "name": "output_array_type", "option_strings": ["--output-array-type"], "required": false, "type": "str"}, {"choices": null, "default": [], "default_random": false, "help": "List of exceptions that will cause the Executor to shut down.", "name": "exit_on_exceptions", "option_strings": ["--exit-on-exceptions"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": false, "default_random": false, "help": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "name": "no_reduce", "option_strings": ["--no-reduce", "--disable-reduce"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "name": "allow_concurrent", "option_strings": ["--allow-concurrent"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "name": "raft_configuration", "option_strings": ["--raft-configuration"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.\n    ", "name": "volumes", "option_strings": ["--volumes"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\n    This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n        ", "name": "gpus", "option_strings": ["--gpus"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "Do not automatically mount a volume for dockerized Executors.", "name": "disable_auto_volume", "option_strings": ["--disable-auto-volume"], "required": false, "type": "bool"}, {"choices": null, "default": ["0.0.0.0"], "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": "WorkerRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}, {"choices": null, "default": [51370], "default_random": true, "help": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "name": "port", "option_strings": ["--port", "--ports"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [64862], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_before_address", "option_strings": ["--uses-before-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_after_address", "option_strings": ["--uses-after-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "dictionary JSON with a list of connections to configure", "name": "connection_list", "option_strings": ["--connection-list"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The executor attached before the Pods described by --uses, typically before sending to all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "name": "uses_before", "option_strings": ["--uses-before"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The executor attached after the Pods described by --uses, typically used for receiving from all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "name": "uses_after", "option_strings": ["--uses-after"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The condition that the documents need to fulfill before reaching the Executor.The condition can be defined in the form of a `DocArray query condition <https://docarray.jina.ai/fundamentals/documentarray/find/#query-by-conditions>`", "name": "when", "option_strings": ["--when"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "The Deployment will be considered an external Deployment that has been started independently from the Flow.This Deployment will not be context managed by the Flow.", "name": "external", "option_strings": ["--external"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The metadata to be passed to the gRPC request.", "name": "grpc_metadata", "option_strings": ["--grpc-metadata"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, connect to deployment using tls encryption", "name": "tls", "option_strings": ["--tls"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "title", "option_strings": ["--title"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "description", "option_strings": ["--description"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "\n        If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.\n        ", "name": "cors", "option_strings": ["--cors"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/\n\n", "name": "uvicorn_kwargs", "option_strings": ["--uvicorn-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        the path to the certificate file\n        ", "name": "ssl_certfile", "option_strings": ["--ssl-certfile"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n            the path to the key file\n            ", "name": "ssl_keyfile", "option_strings": ["--ssl-keyfile"], "required": false, "type": "str"}]}, {"help": "Start a Python client that connects to a Jina Gateway", "name": "client", "options": [{"choices": null, "default": false, "default_random": false, "help": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "name": "proxy", "option_strings": ["--proxy"], "required": false, "type": "bool"}, {"choices": null, "default": "0.0.0.0", "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The port of the Gateway, which the client should connect to.", "name": "port", "option_strings": ["--port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, connect to gateway using tls encryption", "name": "tls", "option_strings": ["--tls"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then the input and output of this Client work in an asynchronous manner. ", "name": "asyncio", "option_strings": ["--asyncio"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": "GRPC", "default_random": false, "help": "Communication protocol between server and client.", "name": "protocol", "option_strings": ["--protocol"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": 1000, "default_random": false, "help": "\n    Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "name": "prefetch", "option_strings": ["--prefetch"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no root handlers will be suppressed from logging.", "name": "suppress_root_logging", "option_strings": ["--suppress-root-logging"], "required": false, "type": "bool"}]}], "name": "Jina", "revision": null, "source": "https://github.com/jina-ai/jina/tree/master", "url": "https://jina.ai", "vendor": "Jina AI Limited", "version": "3.25.3"}
\ No newline at end of file
diff --git a/master.json b/master.json
index 0fd6a06b..91df141d 100644
--- a/master.json
+++ b/master.json
@@ -1 +1 @@
-{"authors": "dev-team@jina.ai", "description": "Build multimodal AI services via cloud native technologies", "docs": "https://docs.jina.ai", "license": "Apache 2.0", "methods": [{"help": "Start an Executor. Jina uses Executors process Documents", "name": "executor", "options": [{"choices": null, "default": null, "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": "ANY", "default_random": false, "help": "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}\n    \n    ", "name": "polling", "option_strings": ["--polling"], "required": false, "type": "str"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "name": "shards", "option_strings": ["--shards"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas in the deployment", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "name": "native", "option_strings": ["--native"], "required": false, "type": "bool"}, {"choices": null, "default": "BaseExecutor", "default_random": false, "help": "\n        The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `metas` configuration in `uses`\n    ", "name": "uses_metas", "option_strings": ["--uses-metas"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `requests` configuration in `uses`\n        ", "name": "uses_requests", "option_strings": ["--uses-requests"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`\n        ", "name": "uses_dynamic_batching", "option_strings": ["--uses-dynamic-batching"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.\n", "name": "output_array_type", "option_strings": ["--output-array-type"], "required": false, "type": "str"}, {"choices": null, "default": [], "default_random": false, "help": "List of exceptions that will cause the Executor to shut down.", "name": "exit_on_exceptions", "option_strings": ["--exit-on-exceptions"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": false, "default_random": false, "help": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "name": "no_reduce", "option_strings": ["--no-reduce", "--disable-reduce"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "name": "allow_concurrent", "option_strings": ["--allow-concurrent"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "name": "raft_configuration", "option_strings": ["--raft-configuration"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.\n    ", "name": "volumes", "option_strings": ["--volumes"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\n    This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n        ", "name": "gpus", "option_strings": ["--gpus"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "Do not automatically mount a volume for dockerized Executors.", "name": "disable_auto_volume", "option_strings": ["--disable-auto-volume"], "required": false, "type": "bool"}, {"choices": null, "default": ["0.0.0.0"], "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": "WorkerRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}, {"choices": null, "default": [49254], "default_random": true, "help": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "name": "port", "option_strings": ["--port", "--ports"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [49547], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_before_address", "option_strings": ["--uses-before-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_after_address", "option_strings": ["--uses-after-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "dictionary JSON with a list of connections to configure", "name": "connection_list", "option_strings": ["--connection-list"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}]}, {"help": "Start a Flow. Jina uses Flows to streamline and distribute Executors", "name": "flow", "options": [{"choices": null, "default": null, "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no root handlers will be suppressed from logging.", "name": "suppress_root_logging", "option_strings": ["--suppress-root-logging"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The YAML path represents a flow. It can be either a local file path or a URL.", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, auto-reloading on file changes is enabled: the Flow will restart while blocked if  YAML configuration source is changed. This also applies apply to underlying Executors, if their source code or YAML configuration has changed.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": ["HANG", "REMOVE", "COLLECT"], "default": "COLLECT", "default_random": false, "help": "\n    The strategy on those inspect deployments in the flow.\n\n    If `REMOVE` is given then all inspect deployments are removed when building the flow.\n    ", "name": "inspect", "option_strings": ["--inspect"], "required": false, "type": "str"}]}, {"help": "Ping a remote Executor or Flow.", "name": "ping", "options": [{"choices": ["flow", "executor", "gateway"], "default": "executor", "default_random": false, "help": "The target type to ping. For `executor` and `gateway`, checks the readiness of the individual service. For `flow` it checks the connectivity of the complete microservice architecture.", "name": "target", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The host address with port of a target Executor, Gateway or a Flow, e.g. 0.0.0.0:8000. For Flow or Gateway, host can also indicate the protocol, grpc will be used if not provided, e.g http://0.0.0.0:8000", "name": "host", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": 3000, "default_random": false, "help": "\nTimeout in millisecond of one check\nUse -1 for waiting forever\n", "name": "timeout", "option_strings": ["--timeout"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of readiness checks to perform", "name": "attempts", "option_strings": ["--attempts"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The minimum number of successful readiness checks, before exiting successfully with exit(0)", "name": "min_successful_attempts", "option_strings": ["--min-successful-attempts"], "required": false, "type": "int"}]}, {"help": "Export Jina API and Flow to JSONSchema, Kubernetes YAML, or SVG flowchart", "methods": [{"help": null, "name": "flowchart", "options": [{"choices": null, "default": null, "default_random": false, "help": "The input file path of a Flow or Deployment YAML ", "name": "config_path", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The output path", "name": "outpath", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then the flowchart is rendered vertically from top to down.", "name": "vertical_layout", "option_strings": ["--vertical-layout"], "required": false, "type": "bool"}]}, {"help": null, "name": "kubernetes", "options": [{"choices": null, "default": null, "default_random": false, "help": "The input file path of a Flow or Deployment YAML ", "name": "config_path", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The output path", "name": "outpath", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The name of the k8s namespace to set for the configurations. If None, the name of the Flow will be used.", "name": "k8s_namespace", "option_strings": ["--k8s-namespace"], "required": false, "type": "str"}]}, {"help": null, "name": "docker-compose", "options": [{"choices": null, "default": null, "default_random": false, "help": "The input file path of a Flow or Deployment YAML ", "name": "config_path", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The output path", "name": "outpath", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The name of the network that will be used by the deployment name.", "name": "network_name", "option_strings": ["--network_name"], "required": false, "type": "str"}]}, {"help": null, "name": "schema", "options": [{"choices": null, "default": null, "default_random": false, "help": "The YAML file path for storing the exported API", "name": "yaml_path", "option_strings": ["--yaml-path"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "The JSON file path for storing the exported API", "name": "json_path", "option_strings": ["--json-path"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "The JSONSchema file path for storing the exported API", "name": "schema_path", "option_strings": ["--schema-path"], "required": false, "type": "typing.List[str]"}]}], "name": "export", "options": []}, {"help": "Create a new Jina project with a predefined template", "name": "new", "options": [{"choices": null, "default": "hello-jina", "default_random": false, "help": "The name of the project", "name": "name", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": "flow", "default_random": false, "help": "The type of project to be created (either flow or deployment)", "name": "type", "option_strings": ["--type"], "required": false, "type": "str"}]}, {"help": "Start a Gateway to receive client Requests via gRPC/RESTful interface", "name": "gateway", "options": [{"choices": null, "default": "gateway", "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": 1000, "default_random": false, "help": "\n    Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "name": "prefetch", "option_strings": ["--prefetch"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "title", "option_strings": ["--title"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "description", "option_strings": ["--description"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "\n        If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.\n        ", "name": "cors", "option_strings": ["--cors"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/\n\n", "name": "uvicorn_kwargs", "option_strings": ["--uvicorn-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        the path to the certificate file\n        ", "name": "ssl_certfile", "option_strings": ["--ssl-certfile"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n            the path to the key file\n            ", "name": "ssl_keyfile", "option_strings": ["--ssl-keyfile"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, `/status` `/post` endpoints are removed from HTTP interface. ", "name": "no_debug_endpoints", "option_strings": ["--no-debug-endpoints"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "\n        If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.\n        ", "name": "no_crud_endpoints", "option_strings": ["--no-crud-endpoints"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\n        A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.\n        ", "name": "expose_endpoints", "option_strings": ["--expose-endpoints"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, /graphql endpoint is added to HTTP interface. ", "name": "expose_graphql_endpoint", "option_strings": ["--expose-graphql-endpoint"], "required": false, "type": "bool"}, {"choices": null, "default": "0.0.0.0", "default_random": false, "help": "The host address of the runtime, by default it is 0.0.0.0.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "name": "proxy", "option_strings": ["--proxy"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\n        The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": "{}", "default_random": false, "help": "Routing graph for the gateway", "name": "graph_description", "option_strings": ["--graph-description"], "required": false, "type": "str"}, {"choices": null, "default": "{}", "default_random": false, "help": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "name": "graph_conditions", "option_strings": ["--graph-conditions"], "required": false, "type": "str"}, {"choices": null, "default": "{}", "default_random": false, "help": "JSON dictionary with the input addresses of each Deployment", "name": "deployments_addresses", "option_strings": ["--deployments-addresses"], "required": false, "type": "str"}, {"choices": null, "default": "{}", "default_random": false, "help": "JSON dictionary with the request metadata for each Deployment", "name": "deployments_metadata", "option_strings": ["--deployments-metadata"], "required": false, "type": "str"}, {"choices": null, "default": "[]", "default_random": false, "help": "list JSON disabling the built-in merging mechanism for each Deployment listed", "name": "deployments_no_reduce", "option_strings": ["--deployments-no-reduce", "--deployments-disable-reduce"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}, {"choices": null, "default": "GatewayRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": [50676], "default_random": true, "help": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "name": "port", "option_strings": ["--port", "--ports", "--port-expose", "--port-in"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [51214], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}]}, {"help": "Log in to Jina AI with your GitHub/Google/Email account", "methods": [{"help": "Login to Jina AI Ecosystem", "name": "login", "options": [{"choices": null, "default": false, "default_random": false, "help": "Force to login", "name": "force", "option_strings": ["-f", "--force"], "required": false, "type": "bool"}]}, {"help": "Logout from Jina AI Ecosystem", "methods": [], "name": "logout", "options": []}, {"help": "Commands for Personal Access Token", "methods": [{"help": "Create a Personal Access Token", "name": "create", "options": [{"choices": null, "default": 7, "default_random": false, "help": "Validity period (days)", "name": "expire", "option_strings": ["-e", "--expire"], "required": false, "type": "int"}, {"choices": null, "default": "table", "default_random": false, "help": "Display format of the token, one of [table, raw]", "name": "format", "option_strings": ["--format"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "Name of Personal Access Token", "name": "name", "option_strings": [], "required": true, "type": "str"}]}, {"help": "Revoke a Personal Access Token", "name": "delete", "options": [{"choices": null, "default": null, "default_random": false, "help": "Name of Personal Access Token which you want to delete", "name": "name", "option_strings": [], "required": true, "type": "str"}]}, {"help": "List all Personal Access Tokens", "methods": [], "name": "list", "options": []}], "name": "token", "options": []}], "name": "auth", "options": []}, {"help": "Push/pull Executor to/from Executor Hub", "methods": [{"help": "Create a new executor using the template", "name": "new", "options": [{"choices": null, "default": null, "default_random": false, "help": "the name of the Executor", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "the path to store the Executor", "name": "path", "option_strings": ["--path"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always set up advance configuration like description, keywords and url", "name": "advance_configuration", "option_strings": ["--advance-configuration"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "the short description of the Executor", "name": "description", "option_strings": ["--description"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "some keywords to help people search your Executor (separated by comma)", "name": "keywords", "option_strings": ["--keywords"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "the URL of your GitHub repo", "name": "url", "option_strings": ["--url"], "required": false, "type": "str"}, {"choices": ["cpu", "tf-gpu", "torch-gpu", "jax-gpu"], "default": null, "default_random": false, "help": "The Dockerfile template to use for the Executor", "name": "dockerfile", "option_strings": ["--dockerfile"], "required": false, "type": "str"}]}, {"help": "Push an executor package to Jina hub", "name": "push", "options": [{"choices": null, "default": false, "default_random": false, "help": "If set, Hub executor usage will not be printed.", "name": "no_usage", "option_strings": ["--no-usage"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, more information will be printed.", "name": "verbose", "option_strings": ["--verbose"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The Executor folder to be pushed to Jina Hub", "name": "path", "option_strings": [], "required": true, "type": "dir_path"}, {"choices": null, "default": null, "default_random": false, "help": "The file path to the Dockerfile (default is `${cwd}/Dockerfile`)", "name": "dockerfile", "option_strings": ["-f", "--dockerfile"], "required": false, "type": "None"}, {"choices": null, "default": null, "default_random": false, "help": "If set, push will overwrite the Executor on the Hub that shares the same NAME or UUID8 identifier", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "A comma separated list of target Docker platforms. Explicitly set target platform(s) for build. (e.g. \"linux/amd64,linux/arm64\")", "name": "platform", "option_strings": ["--platform"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The secret for overwrite a Hub executor", "name": "secret", "option_strings": ["--secret"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, \"--no-cache\" option will be added to the Docker build.", "name": "no_cache", "option_strings": ["--no-cache"], "required": false, "type": "bool"}, {"choices": null, "default": "==SUPPRESS==", "default_random": false, "help": "If set, the pushed executor is visible to public", "name": "public", "option_strings": ["--public"], "required": false, "type": "bool"}, {"choices": null, "default": "==SUPPRESS==", "default_random": false, "help": "If set, the pushed executor is invisible to public", "name": "private", "option_strings": ["--private"], "required": false, "type": "bool"}]}, {"help": "Download an executor image/package from Jina hub", "name": "pull", "options": [{"choices": null, "default": false, "default_random": false, "help": "If set, Hub executor usage will not be printed.", "name": "no_usage", "option_strings": ["--no-usage"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The URI of the executor to pull (e.g., jinaai[+docker]://<username>/NAME)", "name": "uri", "option_strings": [], "required": true, "type": "hub_uri"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, install `requirements.txt` in the Hub Executor bundle to local", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}]}, {"help": "Query an executor building status of of a pushed Executor from Jina hub", "name": "status", "options": [{"choices": null, "default": ".", "default_random": false, "help": "The Executor folder to be pushed to Jina Hub.", "name": "path", "option_strings": [], "required": false, "type": "dir_path"}, {"choices": null, "default": null, "default_random": false, "help": "If set, you can get the specified building state of a pushed Executor.", "name": "id", "option_strings": ["--id"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, more building status information of a pushed Executor will be printed.", "name": "verbose", "option_strings": ["--verbose"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, history building status information of a pushed Executor will be printed.", "name": "replay", "option_strings": ["--replay"], "required": false, "type": "bool"}]}, {"help": "List your local Jina Executors", "methods": [], "name": "list", "options": []}], "name": "hub", "options": []}, {"help": "Manage Flows on Jina Cloud", "name": "cloud", "options": [{"choices": ["DEBUG", "INFO", "CRITICAL", "NOTSET"], "default": "INFO", "default_random": false, "help": "Set the loglevel of the logger", "name": "loglevel", "option_strings": ["--loglevel"], "required": false, "type": "str"}]}, {"help": "Show help text of a CLI argument", "name": "help", "options": [{"choices": null, "default": null, "default_random": false, "help": "Look up usage & mention of argument name in Jina API. The name can be fuzzy", "name": "query", "option_strings": [], "required": true, "type": "str"}]}, {"help": "Start a Pod. You should rarely use this directly unless you are doing low-level orchestration", "name": "pod", "options": [{"choices": null, "default": null, "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": "ANY", "default_random": false, "help": "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}\n    \n    ", "name": "polling", "option_strings": ["--polling"], "required": false, "type": "str"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "name": "shards", "option_strings": ["--shards"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas in the deployment", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "name": "native", "option_strings": ["--native"], "required": false, "type": "bool"}, {"choices": null, "default": "BaseExecutor", "default_random": false, "help": "\n        The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `metas` configuration in `uses`\n    ", "name": "uses_metas", "option_strings": ["--uses-metas"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `requests` configuration in `uses`\n        ", "name": "uses_requests", "option_strings": ["--uses-requests"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`\n        ", "name": "uses_dynamic_batching", "option_strings": ["--uses-dynamic-batching"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.\n", "name": "output_array_type", "option_strings": ["--output-array-type"], "required": false, "type": "str"}, {"choices": null, "default": [], "default_random": false, "help": "List of exceptions that will cause the Executor to shut down.", "name": "exit_on_exceptions", "option_strings": ["--exit-on-exceptions"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": false, "default_random": false, "help": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "name": "no_reduce", "option_strings": ["--no-reduce", "--disable-reduce"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "name": "allow_concurrent", "option_strings": ["--allow-concurrent"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "name": "raft_configuration", "option_strings": ["--raft-configuration"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.\n    ", "name": "volumes", "option_strings": ["--volumes"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\n    This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n        ", "name": "gpus", "option_strings": ["--gpus"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "Do not automatically mount a volume for dockerized Executors.", "name": "disable_auto_volume", "option_strings": ["--disable-auto-volume"], "required": false, "type": "bool"}, {"choices": null, "default": ["0.0.0.0"], "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": "WorkerRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}, {"choices": null, "default": [57742], "default_random": true, "help": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "name": "port", "option_strings": ["--port", "--ports"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [58772], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_before_address", "option_strings": ["--uses-before-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_after_address", "option_strings": ["--uses-after-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "dictionary JSON with a list of connections to configure", "name": "connection_list", "option_strings": ["--connection-list"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}]}, {"help": "Start a Deployment. You should rarely use this directly unless you are doing low-level orchestration", "name": "deployment", "options": [{"choices": null, "default": "executor", "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": "ANY", "default_random": false, "help": "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}\n    \n    ", "name": "polling", "option_strings": ["--polling"], "required": false, "type": "str"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "name": "shards", "option_strings": ["--shards"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas in the deployment", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "name": "native", "option_strings": ["--native"], "required": false, "type": "bool"}, {"choices": null, "default": "BaseExecutor", "default_random": false, "help": "\n        The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `metas` configuration in `uses`\n    ", "name": "uses_metas", "option_strings": ["--uses-metas"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `requests` configuration in `uses`\n        ", "name": "uses_requests", "option_strings": ["--uses-requests"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`\n        ", "name": "uses_dynamic_batching", "option_strings": ["--uses-dynamic-batching"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.\n", "name": "output_array_type", "option_strings": ["--output-array-type"], "required": false, "type": "str"}, {"choices": null, "default": [], "default_random": false, "help": "List of exceptions that will cause the Executor to shut down.", "name": "exit_on_exceptions", "option_strings": ["--exit-on-exceptions"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": false, "default_random": false, "help": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "name": "no_reduce", "option_strings": ["--no-reduce", "--disable-reduce"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "name": "allow_concurrent", "option_strings": ["--allow-concurrent"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "name": "raft_configuration", "option_strings": ["--raft-configuration"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.\n    ", "name": "volumes", "option_strings": ["--volumes"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\n    This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n        ", "name": "gpus", "option_strings": ["--gpus"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "Do not automatically mount a volume for dockerized Executors.", "name": "disable_auto_volume", "option_strings": ["--disable-auto-volume"], "required": false, "type": "bool"}, {"choices": null, "default": ["0.0.0.0"], "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": "WorkerRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}, {"choices": null, "default": [64232], "default_random": true, "help": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "name": "port", "option_strings": ["--port", "--ports"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [62785], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_before_address", "option_strings": ["--uses-before-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_after_address", "option_strings": ["--uses-after-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "dictionary JSON with a list of connections to configure", "name": "connection_list", "option_strings": ["--connection-list"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The executor attached before the Pods described by --uses, typically before sending to all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "name": "uses_before", "option_strings": ["--uses-before"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The executor attached after the Pods described by --uses, typically used for receiving from all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "name": "uses_after", "option_strings": ["--uses-after"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The condition that the documents need to fulfill before reaching the Executor.The condition can be defined in the form of a `DocArray query condition <https://docarray.jina.ai/fundamentals/documentarray/find/#query-by-conditions>`", "name": "when", "option_strings": ["--when"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "The Deployment will be considered an external Deployment that has been started independently from the Flow.This Deployment will not be context managed by the Flow.", "name": "external", "option_strings": ["--external"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The metadata to be passed to the gRPC request.", "name": "grpc_metadata", "option_strings": ["--grpc-metadata"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, connect to deployment using tls encryption", "name": "tls", "option_strings": ["--tls"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "title", "option_strings": ["--title"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "description", "option_strings": ["--description"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "\n        If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.\n        ", "name": "cors", "option_strings": ["--cors"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/\n\n", "name": "uvicorn_kwargs", "option_strings": ["--uvicorn-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        the path to the certificate file\n        ", "name": "ssl_certfile", "option_strings": ["--ssl-certfile"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n            the path to the key file\n            ", "name": "ssl_keyfile", "option_strings": ["--ssl-keyfile"], "required": false, "type": "str"}]}, {"help": "Start a Python client that connects to a Jina Gateway", "name": "client", "options": [{"choices": null, "default": false, "default_random": false, "help": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "name": "proxy", "option_strings": ["--proxy"], "required": false, "type": "bool"}, {"choices": null, "default": "0.0.0.0", "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The port of the Gateway, which the client should connect to.", "name": "port", "option_strings": ["--port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, connect to gateway using tls encryption", "name": "tls", "option_strings": ["--tls"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then the input and output of this Client work in an asynchronous manner. ", "name": "asyncio", "option_strings": ["--asyncio"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": "GRPC", "default_random": false, "help": "Communication protocol between server and client.", "name": "protocol", "option_strings": ["--protocol"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": 1000, "default_random": false, "help": "\n    Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "name": "prefetch", "option_strings": ["--prefetch"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no root handlers will be suppressed from logging.", "name": "suppress_root_logging", "option_strings": ["--suppress-root-logging"], "required": false, "type": "bool"}]}], "name": "Jina", "revision": null, "source": "https://github.com/jina-ai/jina/tree/master", "url": "https://jina.ai", "vendor": "Jina AI Limited", "version": "3.25.2"}
\ No newline at end of file
+{"authors": "dev-team@jina.ai", "description": "Build multimodal AI services via cloud native technologies", "docs": "https://docs.jina.ai", "license": "Apache 2.0", "methods": [{"help": "Start an Executor. Jina uses Executors process Documents", "name": "executor", "options": [{"choices": null, "default": null, "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": "ANY", "default_random": false, "help": "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}\n    \n    ", "name": "polling", "option_strings": ["--polling"], "required": false, "type": "str"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "name": "shards", "option_strings": ["--shards"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas in the deployment", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "name": "native", "option_strings": ["--native"], "required": false, "type": "bool"}, {"choices": null, "default": "BaseExecutor", "default_random": false, "help": "\n        The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `metas` configuration in `uses`\n    ", "name": "uses_metas", "option_strings": ["--uses-metas"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `requests` configuration in `uses`\n        ", "name": "uses_requests", "option_strings": ["--uses-requests"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`\n        ", "name": "uses_dynamic_batching", "option_strings": ["--uses-dynamic-batching"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.\n", "name": "output_array_type", "option_strings": ["--output-array-type"], "required": false, "type": "str"}, {"choices": null, "default": [], "default_random": false, "help": "List of exceptions that will cause the Executor to shut down.", "name": "exit_on_exceptions", "option_strings": ["--exit-on-exceptions"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": false, "default_random": false, "help": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "name": "no_reduce", "option_strings": ["--no-reduce", "--disable-reduce"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "name": "allow_concurrent", "option_strings": ["--allow-concurrent"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "name": "raft_configuration", "option_strings": ["--raft-configuration"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.\n    ", "name": "volumes", "option_strings": ["--volumes"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\n    This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n        ", "name": "gpus", "option_strings": ["--gpus"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "Do not automatically mount a volume for dockerized Executors.", "name": "disable_auto_volume", "option_strings": ["--disable-auto-volume"], "required": false, "type": "bool"}, {"choices": null, "default": ["0.0.0.0"], "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": "WorkerRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}, {"choices": null, "default": [62072], "default_random": true, "help": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "name": "port", "option_strings": ["--port", "--ports"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [65048], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_before_address", "option_strings": ["--uses-before-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_after_address", "option_strings": ["--uses-after-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "dictionary JSON with a list of connections to configure", "name": "connection_list", "option_strings": ["--connection-list"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}]}, {"help": "Start a Flow. Jina uses Flows to streamline and distribute Executors", "name": "flow", "options": [{"choices": null, "default": null, "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no root handlers will be suppressed from logging.", "name": "suppress_root_logging", "option_strings": ["--suppress-root-logging"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The YAML path represents a flow. It can be either a local file path or a URL.", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, auto-reloading on file changes is enabled: the Flow will restart while blocked if  YAML configuration source is changed. This also applies apply to underlying Executors, if their source code or YAML configuration has changed.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": ["HANG", "REMOVE", "COLLECT"], "default": "COLLECT", "default_random": false, "help": "\n    The strategy on those inspect deployments in the flow.\n\n    If `REMOVE` is given then all inspect deployments are removed when building the flow.\n    ", "name": "inspect", "option_strings": ["--inspect"], "required": false, "type": "str"}]}, {"help": "Ping a remote Executor or Flow.", "name": "ping", "options": [{"choices": ["flow", "executor", "gateway"], "default": "executor", "default_random": false, "help": "The target type to ping. For `executor` and `gateway`, checks the readiness of the individual service. For `flow` it checks the connectivity of the complete microservice architecture.", "name": "target", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The host address with port of a target Executor, Gateway or a Flow, e.g. 0.0.0.0:8000. For Flow or Gateway, host can also indicate the protocol, grpc will be used if not provided, e.g http://0.0.0.0:8000", "name": "host", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": 3000, "default_random": false, "help": "\nTimeout in millisecond of one check\nUse -1 for waiting forever\n", "name": "timeout", "option_strings": ["--timeout"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of readiness checks to perform", "name": "attempts", "option_strings": ["--attempts"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The minimum number of successful readiness checks, before exiting successfully with exit(0)", "name": "min_successful_attempts", "option_strings": ["--min-successful-attempts"], "required": false, "type": "int"}]}, {"help": "Export Jina API and Flow to JSONSchema, Kubernetes YAML, or SVG flowchart", "methods": [{"help": null, "name": "flowchart", "options": [{"choices": null, "default": null, "default_random": false, "help": "The input file path of a Flow or Deployment YAML ", "name": "config_path", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The output path", "name": "outpath", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then the flowchart is rendered vertically from top to down.", "name": "vertical_layout", "option_strings": ["--vertical-layout"], "required": false, "type": "bool"}]}, {"help": null, "name": "kubernetes", "options": [{"choices": null, "default": null, "default_random": false, "help": "The input file path of a Flow or Deployment YAML ", "name": "config_path", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The output path", "name": "outpath", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The name of the k8s namespace to set for the configurations. If None, the name of the Flow will be used.", "name": "k8s_namespace", "option_strings": ["--k8s-namespace"], "required": false, "type": "str"}]}, {"help": null, "name": "docker-compose", "options": [{"choices": null, "default": null, "default_random": false, "help": "The input file path of a Flow or Deployment YAML ", "name": "config_path", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The output path", "name": "outpath", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The name of the network that will be used by the deployment name.", "name": "network_name", "option_strings": ["--network_name"], "required": false, "type": "str"}]}, {"help": null, "name": "schema", "options": [{"choices": null, "default": null, "default_random": false, "help": "The YAML file path for storing the exported API", "name": "yaml_path", "option_strings": ["--yaml-path"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "The JSON file path for storing the exported API", "name": "json_path", "option_strings": ["--json-path"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "The JSONSchema file path for storing the exported API", "name": "schema_path", "option_strings": ["--schema-path"], "required": false, "type": "typing.List[str]"}]}], "name": "export", "options": []}, {"help": "Create a new Jina project with a predefined template", "name": "new", "options": [{"choices": null, "default": "hello-jina", "default_random": false, "help": "The name of the project", "name": "name", "option_strings": [], "required": true, "type": "str"}, {"choices": null, "default": "flow", "default_random": false, "help": "The type of project to be created (either flow or deployment)", "name": "type", "option_strings": ["--type"], "required": false, "type": "str"}]}, {"help": "Start a Gateway to receive client Requests via gRPC/RESTful interface", "name": "gateway", "options": [{"choices": null, "default": "gateway", "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": 1000, "default_random": false, "help": "\n    Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "name": "prefetch", "option_strings": ["--prefetch"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "title", "option_strings": ["--title"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "description", "option_strings": ["--description"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "\n        If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.\n        ", "name": "cors", "option_strings": ["--cors"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/\n\n", "name": "uvicorn_kwargs", "option_strings": ["--uvicorn-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        the path to the certificate file\n        ", "name": "ssl_certfile", "option_strings": ["--ssl-certfile"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n            the path to the key file\n            ", "name": "ssl_keyfile", "option_strings": ["--ssl-keyfile"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, `/status` `/post` endpoints are removed from HTTP interface. ", "name": "no_debug_endpoints", "option_strings": ["--no-debug-endpoints"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "\n        If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.\n        ", "name": "no_crud_endpoints", "option_strings": ["--no-crud-endpoints"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\n        A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.\n        ", "name": "expose_endpoints", "option_strings": ["--expose-endpoints"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, /graphql endpoint is added to HTTP interface. ", "name": "expose_graphql_endpoint", "option_strings": ["--expose-graphql-endpoint"], "required": false, "type": "bool"}, {"choices": null, "default": "0.0.0.0", "default_random": false, "help": "The host address of the runtime, by default it is 0.0.0.0.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "name": "proxy", "option_strings": ["--proxy"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\n        The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": "{}", "default_random": false, "help": "Routing graph for the gateway", "name": "graph_description", "option_strings": ["--graph-description"], "required": false, "type": "str"}, {"choices": null, "default": "{}", "default_random": false, "help": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "name": "graph_conditions", "option_strings": ["--graph-conditions"], "required": false, "type": "str"}, {"choices": null, "default": "{}", "default_random": false, "help": "JSON dictionary with the input addresses of each Deployment", "name": "deployments_addresses", "option_strings": ["--deployments-addresses"], "required": false, "type": "str"}, {"choices": null, "default": "{}", "default_random": false, "help": "JSON dictionary with the request metadata for each Deployment", "name": "deployments_metadata", "option_strings": ["--deployments-metadata"], "required": false, "type": "str"}, {"choices": null, "default": "[]", "default_random": false, "help": "list JSON disabling the built-in merging mechanism for each Deployment listed", "name": "deployments_no_reduce", "option_strings": ["--deployments-no-reduce", "--deployments-disable-reduce"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}, {"choices": null, "default": "GatewayRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": [52020], "default_random": true, "help": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "name": "port", "option_strings": ["--port", "--ports", "--port-expose", "--port-in"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [52583], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}]}, {"help": "Log in to Jina AI with your GitHub/Google/Email account", "methods": [{"help": "Login to Jina AI Ecosystem", "name": "login", "options": [{"choices": null, "default": false, "default_random": false, "help": "Force to login", "name": "force", "option_strings": ["-f", "--force"], "required": false, "type": "bool"}]}, {"help": "Logout from Jina AI Ecosystem", "methods": [], "name": "logout", "options": []}, {"help": "Commands for Personal Access Token", "methods": [{"help": "Create a Personal Access Token", "name": "create", "options": [{"choices": null, "default": 7, "default_random": false, "help": "Validity period (days)", "name": "expire", "option_strings": ["-e", "--expire"], "required": false, "type": "int"}, {"choices": null, "default": "table", "default_random": false, "help": "Display format of the token, one of [table, raw]", "name": "format", "option_strings": ["--format"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "Name of Personal Access Token", "name": "name", "option_strings": [], "required": true, "type": "str"}]}, {"help": "Revoke a Personal Access Token", "name": "delete", "options": [{"choices": null, "default": null, "default_random": false, "help": "Name of Personal Access Token which you want to delete", "name": "name", "option_strings": [], "required": true, "type": "str"}]}, {"help": "List all Personal Access Tokens", "methods": [], "name": "list", "options": []}], "name": "token", "options": []}], "name": "auth", "options": []}, {"help": "Push/pull Executor to/from Executor Hub", "methods": [{"help": "Create a new executor using the template", "name": "new", "options": [{"choices": null, "default": null, "default_random": false, "help": "the name of the Executor", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "the path to store the Executor", "name": "path", "option_strings": ["--path"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always set up advance configuration like description, keywords and url", "name": "advance_configuration", "option_strings": ["--advance-configuration"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "the short description of the Executor", "name": "description", "option_strings": ["--description"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "some keywords to help people search your Executor (separated by comma)", "name": "keywords", "option_strings": ["--keywords"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "the URL of your GitHub repo", "name": "url", "option_strings": ["--url"], "required": false, "type": "str"}, {"choices": ["cpu", "tf-gpu", "torch-gpu", "jax-gpu"], "default": null, "default_random": false, "help": "The Dockerfile template to use for the Executor", "name": "dockerfile", "option_strings": ["--dockerfile"], "required": false, "type": "str"}]}, {"help": "Push an executor package to Jina hub", "name": "push", "options": [{"choices": null, "default": false, "default_random": false, "help": "If set, Hub executor usage will not be printed.", "name": "no_usage", "option_strings": ["--no-usage"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, more information will be printed.", "name": "verbose", "option_strings": ["--verbose"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The Executor folder to be pushed to Jina Hub", "name": "path", "option_strings": [], "required": true, "type": "dir_path"}, {"choices": null, "default": null, "default_random": false, "help": "The file path to the Dockerfile (default is `${cwd}/Dockerfile`)", "name": "dockerfile", "option_strings": ["-f", "--dockerfile"], "required": false, "type": "None"}, {"choices": null, "default": null, "default_random": false, "help": "If set, push will overwrite the Executor on the Hub that shares the same NAME or UUID8 identifier", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "A comma separated list of target Docker platforms. Explicitly set target platform(s) for build. (e.g. \"linux/amd64,linux/arm64\")", "name": "platform", "option_strings": ["--platform"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The secret for overwrite a Hub executor", "name": "secret", "option_strings": ["--secret"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, \"--no-cache\" option will be added to the Docker build.", "name": "no_cache", "option_strings": ["--no-cache"], "required": false, "type": "bool"}, {"choices": null, "default": "==SUPPRESS==", "default_random": false, "help": "If set, the pushed executor is visible to public", "name": "public", "option_strings": ["--public"], "required": false, "type": "bool"}, {"choices": null, "default": "==SUPPRESS==", "default_random": false, "help": "If set, the pushed executor is invisible to public", "name": "private", "option_strings": ["--private"], "required": false, "type": "bool"}]}, {"help": "Download an executor image/package from Jina hub", "name": "pull", "options": [{"choices": null, "default": false, "default_random": false, "help": "If set, Hub executor usage will not be printed.", "name": "no_usage", "option_strings": ["--no-usage"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The URI of the executor to pull (e.g., jinaai[+docker]://<username>/NAME)", "name": "uri", "option_strings": [], "required": true, "type": "hub_uri"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, install `requirements.txt` in the Hub Executor bundle to local", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}]}, {"help": "Query an executor building status of of a pushed Executor from Jina hub", "name": "status", "options": [{"choices": null, "default": ".", "default_random": false, "help": "The Executor folder to be pushed to Jina Hub.", "name": "path", "option_strings": [], "required": false, "type": "dir_path"}, {"choices": null, "default": null, "default_random": false, "help": "If set, you can get the specified building state of a pushed Executor.", "name": "id", "option_strings": ["--id"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, more building status information of a pushed Executor will be printed.", "name": "verbose", "option_strings": ["--verbose"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, history building status information of a pushed Executor will be printed.", "name": "replay", "option_strings": ["--replay"], "required": false, "type": "bool"}]}, {"help": "List your local Jina Executors", "methods": [], "name": "list", "options": []}], "name": "hub", "options": []}, {"help": "Manage Flows on Jina Cloud", "name": "cloud", "options": [{"choices": ["DEBUG", "INFO", "CRITICAL", "NOTSET"], "default": "INFO", "default_random": false, "help": "Set the loglevel of the logger", "name": "loglevel", "option_strings": ["--loglevel"], "required": false, "type": "str"}]}, {"help": "Show help text of a CLI argument", "name": "help", "options": [{"choices": null, "default": null, "default_random": false, "help": "Look up usage & mention of argument name in Jina API. The name can be fuzzy", "name": "query", "option_strings": [], "required": true, "type": "str"}]}, {"help": "Start a Pod. You should rarely use this directly unless you are doing low-level orchestration", "name": "pod", "options": [{"choices": null, "default": null, "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": "ANY", "default_random": false, "help": "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}\n    \n    ", "name": "polling", "option_strings": ["--polling"], "required": false, "type": "str"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "name": "shards", "option_strings": ["--shards"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas in the deployment", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "name": "native", "option_strings": ["--native"], "required": false, "type": "bool"}, {"choices": null, "default": "BaseExecutor", "default_random": false, "help": "\n        The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `metas` configuration in `uses`\n    ", "name": "uses_metas", "option_strings": ["--uses-metas"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `requests` configuration in `uses`\n        ", "name": "uses_requests", "option_strings": ["--uses-requests"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`\n        ", "name": "uses_dynamic_batching", "option_strings": ["--uses-dynamic-batching"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.\n", "name": "output_array_type", "option_strings": ["--output-array-type"], "required": false, "type": "str"}, {"choices": null, "default": [], "default_random": false, "help": "List of exceptions that will cause the Executor to shut down.", "name": "exit_on_exceptions", "option_strings": ["--exit-on-exceptions"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": false, "default_random": false, "help": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "name": "no_reduce", "option_strings": ["--no-reduce", "--disable-reduce"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "name": "allow_concurrent", "option_strings": ["--allow-concurrent"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "name": "raft_configuration", "option_strings": ["--raft-configuration"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.\n    ", "name": "volumes", "option_strings": ["--volumes"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\n    This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n        ", "name": "gpus", "option_strings": ["--gpus"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "Do not automatically mount a volume for dockerized Executors.", "name": "disable_auto_volume", "option_strings": ["--disable-auto-volume"], "required": false, "type": "bool"}, {"choices": null, "default": ["0.0.0.0"], "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": "WorkerRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}, {"choices": null, "default": [50228], "default_random": true, "help": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "name": "port", "option_strings": ["--port", "--ports"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [52244], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_before_address", "option_strings": ["--uses-before-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_after_address", "option_strings": ["--uses-after-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "dictionary JSON with a list of connections to configure", "name": "connection_list", "option_strings": ["--connection-list"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}]}, {"help": "Start a Deployment. You should rarely use this directly unless you are doing low-level orchestration", "name": "deployment", "options": [{"choices": null, "default": "executor", "default_random": false, "help": "\n    The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.\n                        ", "name": "name", "option_strings": ["--name"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "name": "workspace", "option_strings": ["--workspace"], "required": false, "type": "str"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no log will be emitted from this object.", "name": "quiet", "option_strings": ["--quiet"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then exception stack information will not be added to the log", "name": "quiet_error", "option_strings": ["--quiet-error"], "required": false, "type": "bool"}, {"choices": null, "default": 60, "default_random": false, "help": "The timeout in milliseconds of the control request, -1 for waiting forever", "name": "timeout_ctrl", "option_strings": ["--timeout-ctrl"], "required": false, "type": "int"}, {"choices": null, "default": "ANY", "default_random": false, "help": "\n    The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}\n    \n    ", "name": "polling", "option_strings": ["--polling"], "required": false, "type": "str"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "name": "shards", "option_strings": ["--shards"], "required": false, "type": "int"}, {"choices": null, "default": 1, "default_random": false, "help": "The number of replicas in the deployment", "name": "replicas", "option_strings": ["--replicas"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "name": "native", "option_strings": ["--native"], "required": false, "type": "bool"}, {"choices": null, "default": "BaseExecutor", "default_random": false, "help": "\n        The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface\n        ", "name": "uses", "option_strings": ["--uses"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `with` configuration in `uses`\n    ", "name": "uses_with", "option_strings": ["--uses-with"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n    Dictionary of keyword arguments that will override the `metas` configuration in `uses`\n    ", "name": "uses_metas", "option_strings": ["--uses-metas"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `requests` configuration in `uses`\n        ", "name": "uses_requests", "option_strings": ["--uses-requests"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`\n        ", "name": "uses_dynamic_batching", "option_strings": ["--uses-dynamic-batching"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__\n", "name": "py_modules", "option_strings": ["--py-modules"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.\n", "name": "output_array_type", "option_strings": ["--output-array-type"], "required": false, "type": "str"}, {"choices": null, "default": [], "default_random": false, "help": "List of exceptions that will cause the Executor to shut down.", "name": "exit_on_exceptions", "option_strings": ["--exit-on-exceptions"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": false, "default_random": false, "help": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "name": "no_reduce", "option_strings": ["--no-reduce", "--disable-reduce"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "name": "allow_concurrent", "option_strings": ["--allow-concurrent"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "name": "grpc_server_options", "option_strings": ["--grpc-server-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "name": "raft_configuration", "option_strings": ["--raft-configuration"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "name": "entrypoint", "option_strings": ["--entrypoint"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/\n\n", "name": "docker_kwargs", "option_strings": ["--docker-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\nThe path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.\n    ", "name": "volumes", "option_strings": ["--volumes"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": null, "default_random": false, "help": "\n    This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display\n        ", "name": "gpus", "option_strings": ["--gpus"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "Do not automatically mount a volume for dockerized Executors.", "name": "disable_auto_volume", "option_strings": ["--disable-auto-volume"], "required": false, "type": "bool"}, {"choices": null, "default": ["0.0.0.0"], "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "typing.List[str]"}, {"choices": null, "default": "WorkerRuntime", "default_random": false, "help": "The runtime class to run inside the Pod", "name": "runtime_cls", "option_strings": ["--runtime-cls"], "required": false, "type": "str"}, {"choices": null, "default": 600000, "default_random": false, "help": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "name": "timeout_ready", "option_strings": ["--timeout-ready"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The map of environment variables that are available inside runtime", "name": "env", "option_strings": ["--env"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "name": "floating", "option_strings": ["--floating"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "name": "reload", "option_strings": ["--reload"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "name": "install_requirements", "option_strings": ["--install-requirements"], "required": false, "type": "bool"}, {"choices": null, "default": [51370], "default_random": true, "help": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "name": "port", "option_strings": ["--port", "--ports"], "required": false, "type": "int"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": [0], "default_random": false, "help": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "name": "protocol", "option_strings": ["--protocol", "--protocols"], "required": false, "type": "typing.List[str]"}, {"choices": ["NONE", "SAGEMAKER", "AZURE"], "default": [0], "default_random": false, "help": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "name": "provider", "option_strings": ["--provider"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "name": "provider_endpoint", "option_strings": ["--provider-endpoint"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "If set, spawn an http server with a prometheus endpoint to expose metrics", "name": "monitoring", "option_strings": ["--monitoring"], "required": false, "type": "bool"}, {"choices": null, "default": [64862], "default_random": true, "help": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "name": "port_monitoring", "option_strings": ["--port-monitoring"], "required": false, "type": "int"}, {"choices": null, "default": -1, "default_random": false, "help": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "name": "retries", "option_strings": ["--retries"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "name": "stateful", "option_strings": ["--stateful"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, always pull the latest Hub Executor bundle even it exists on local", "name": "force_update", "option_strings": ["--force-update", "--force"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "name": "prefer_platform", "option_strings": ["--prefer-platform"], "required": false, "type": "str"}, {"choices": ["NoCompression", "Deflate", "Gzip"], "default": null, "default_random": false, "help": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "name": "compression", "option_strings": ["--compression"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_before_address", "option_strings": ["--uses-before-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The address of the uses-before runtime", "name": "uses_after_address", "option_strings": ["--uses-after-address"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "dictionary JSON with a list of connections to configure", "name": "connection_list", "option_strings": ["--connection-list"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "name": "timeout_send", "option_strings": ["--timeout-send"], "required": false, "type": "int"}, {"choices": null, "default": null, "default_random": false, "help": "The executor attached before the Pods described by --uses, typically before sending to all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "name": "uses_before", "option_strings": ["--uses-before"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The executor attached after the Pods described by --uses, typically used for receiving from all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "name": "uses_after", "option_strings": ["--uses-after"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The condition that the documents need to fulfill before reaching the Executor.The condition can be defined in the form of a `DocArray query condition <https://docarray.jina.ai/fundamentals/documentarray/find/#query-by-conditions>`", "name": "when", "option_strings": ["--when"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "The Deployment will be considered an external Deployment that has been started independently from the Flow.This Deployment will not be context managed by the Flow.", "name": "external", "option_strings": ["--external"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The metadata to be passed to the gRPC request.", "name": "grpc_metadata", "option_strings": ["--grpc-metadata"], "required": false, "type": "dict"}, {"choices": null, "default": false, "default_random": false, "help": "If set, connect to deployment using tls encryption", "name": "tls", "option_strings": ["--tls"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "title", "option_strings": ["--title"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "name": "description", "option_strings": ["--description"], "required": false, "type": "str"}, {"choices": null, "default": false, "default_random": false, "help": "\n        If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.\n        ", "name": "cors", "option_strings": ["--cors"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "\nDictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/\n\n", "name": "uvicorn_kwargs", "option_strings": ["--uvicorn-kwargs"], "required": false, "type": "dict"}, {"choices": null, "default": null, "default_random": false, "help": "\n        the path to the certificate file\n        ", "name": "ssl_certfile", "option_strings": ["--ssl-certfile"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "\n            the path to the key file\n            ", "name": "ssl_keyfile", "option_strings": ["--ssl-keyfile"], "required": false, "type": "str"}]}, {"help": "Start a Python client that connects to a Jina Gateway", "name": "client", "options": [{"choices": null, "default": false, "default_random": false, "help": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "name": "proxy", "option_strings": ["--proxy"], "required": false, "type": "bool"}, {"choices": null, "default": "0.0.0.0", "default_random": false, "help": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0.", "name": "host", "option_strings": ["--host", "--host-in"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "The port of the Gateway, which the client should connect to.", "name": "port", "option_strings": ["--port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, connect to gateway using tls encryption", "name": "tls", "option_strings": ["--tls"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then the input and output of this Client work in an asynchronous manner. ", "name": "asyncio", "option_strings": ["--asyncio"], "required": false, "type": "bool"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "name": "tracing", "option_strings": ["--tracing"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "name": "traces_exporter_host", "option_strings": ["--traces-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "name": "traces_exporter_port", "option_strings": ["--traces-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "name": "metrics", "option_strings": ["--metrics"], "required": false, "type": "bool"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "name": "metrics_exporter_host", "option_strings": ["--metrics-exporter-host"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "name": "metrics_exporter_port", "option_strings": ["--metrics-exporter-port"], "required": false, "type": "int"}, {"choices": null, "default": "default", "default_random": false, "help": "The config name or the absolute path to the YAML config file of the logger used in this object.", "name": "log_config", "option_strings": ["--log-config"], "required": false, "type": "str"}, {"choices": ["GRPC", "HTTP", "WEBSOCKET"], "default": "GRPC", "default_random": false, "help": "Communication protocol between server and client.", "name": "protocol", "option_strings": ["--protocol"], "required": false, "type": "str"}, {"choices": null, "default": null, "default_random": false, "help": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "name": "grpc_channel_options", "option_strings": ["--grpc-channel-options"], "required": false, "type": "dict"}, {"choices": null, "default": 1000, "default_random": false, "help": "\n    Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "name": "prefetch", "option_strings": ["--prefetch"], "required": false, "type": "int"}, {"choices": null, "default": false, "default_random": false, "help": "If set, then no root handlers will be suppressed from logging.", "name": "suppress_root_logging", "option_strings": ["--suppress-root-logging"], "required": false, "type": "bool"}]}], "name": "Jina", "revision": null, "source": "https://github.com/jina-ai/jina/tree/master", "url": "https://jina.ai", "vendor": "Jina AI Limited", "version": "3.25.3"}
\ No newline at end of file
diff --git a/master.yml b/master.yml
index e458869f..b13c92a2 100644
--- a/master.yml
+++ b/master.yml
@@ -6,7 +6,7 @@ source: https://github.com/jina-ai/jina/tree/master
 url: https://jina.ai
 docs: https://docs.jina.ai
 authors: dev-team@jina.ai
-version: 3.25.2
+version: 3.25.3
 methods:
 - name: executor
   options:
@@ -410,7 +410,7 @@ methods:
       as one replica of the Executor.
     choices: null
     default:
-    - 60982
+    - 54504
     required: false
     option_strings:
     - --port
@@ -472,7 +472,7 @@ methods:
       port between [49152, 65535]
     choices: null
     default:
-    - 60651
+    - 60445
     required: false
     option_strings:
     - --port-monitoring
@@ -1357,7 +1357,7 @@ methods:
       many protocols are used.
     choices: null
     default:
-    - 61047
+    - 52832
     required: false
     option_strings:
     - --port
@@ -1421,7 +1421,7 @@ methods:
       port between [49152, 65535]
     choices: null
     default:
-    - 64503
+    - 58435
     required: false
     option_strings:
     - --port-monitoring
@@ -2272,7 +2272,7 @@ methods:
       as one replica of the Executor.
     choices: null
     default:
-    - 51818
+    - 52435
     required: false
     option_strings:
     - --port
@@ -2334,7 +2334,7 @@ methods:
       port between [49152, 65535]
     choices: null
     default:
-    - 61763
+    - 49337
     required: false
     option_strings:
     - --port-monitoring
@@ -2895,7 +2895,7 @@ methods:
       as one replica of the Executor.
     choices: null
     default:
-    - 54294
+    - 50896
     required: false
     option_strings:
     - --port
@@ -2957,7 +2957,7 @@ methods:
       port between [49152, 65535]
     choices: null
     default:
-    - 49941
+    - 49258
     required: false
     option_strings:
     - --port-monitoring
diff --git a/rest/master.html b/rest/master.html
index fa0eb8bc..f3d92da4 100644
--- a/rest/master.html
+++ b/rest/master.html
@@ -550,15 +550,15 @@
           55.627 l 55.6165,55.627 -231.245496,231.24803 c -127.185,127.1864
           -231.5279,231.248 -231.873,231.248 -0.3451,0 -104.688,
           -104.0616 -231.873,-231.248 z
-        " fill="currentColor"></path></g></svg></div></div><div class="sc-pjHjD gaNVPp api-content"><div class="sc-AxhUy kNmpyA"><div class="sc-Axmtr bnFFEW"><div class="sc-AxhCb kwETCN api-info"><h1 class="sc-AxmLO sc-fzooss CvVzT">My Jina Service<!-- --> <span>(<!-- -->3.25.2<!-- -->)</span></h1><p>Download OpenAPI specification:<a download="swagger.json" target="_blank" class="sc-fzqyvX hTmvgG">Download</a></p><div class="sc-fzoant sc-fzoYHE cDQnzz"></div><div class="sc-fzoant sc-fzoYHE cDQnzz" data-role="redoc-description"><p>This is my awesome service. You can set <code>title</code> and <code>description</code> in your <code>Flow</code> or <code>Gateway</code> to customize the title and description.</p>
+        " fill="currentColor"></path></g></svg></div></div><div class="sc-pjHjD gaNVPp api-content"><div class="sc-AxhUy kNmpyA"><div class="sc-Axmtr bnFFEW"><div class="sc-AxhCb kwETCN api-info"><h1 class="sc-AxmLO sc-fzooss CvVzT">My Jina Service<!-- --> <span>(<!-- -->3.25.3<!-- -->)</span></h1><p>Download OpenAPI specification:<a download="swagger.json" target="_blank" class="sc-fzqyvX hTmvgG">Download</a></p><div class="sc-fzoant sc-fzoYHE cDQnzz"></div><div class="sc-fzoant sc-fzoYHE cDQnzz" data-role="redoc-description"><p>This is my awesome service. You can set <code>title</code> and <code>description</code> in your <code>Flow</code> or <code>Gateway</code> to customize the title and description.</p>
 </div></div></div></div><div id="tag/Debug" data-section-id="tag/Debug" class="sc-AxhUy kNmpyA"><div class="sc-Axmtr bnFFEW"><div class="sc-AxhCb kwETCN"><h1 class="sc-AxmLO jveiGz"><a class="sc-fznyAO itFEXV" href="#tag/Debug" aria-label="tag/Debug"></a>Debug</h1></div></div><div class="sc-AxhCb kVsQWt"><div class="sc-fzoant sc-fzoYHE cDQnzz redoc-markdown "><p>Debugging interface. In production, you should hide them by setting <code>--no-debug-endpoints</code> in <code>Flow</code>/<code>Gateway</code>.</p>
 </div></div></div><div id="operation/_status_status_get" data-section-id="operation/_status_status_get" class="sc-AxhUy emOdQX"><div class="sc-Axmtr sc-pBzUF doDHgT"><div class="sc-AxhCb kwETCN"><h2 class="sc-fzozJi iieAzF"><a class="sc-fznyAO itFEXV" href="#operation/_status_status_get" aria-label="operation/_status_status_get"></a>Get the status of Jina service<!-- --> </h2><div class="sc-pJUVA dpVwlj"><div class="sc-fzoant sc-fzoYHE cDQnzz"><p>Get the status of this Jina service.</p>
 <p>This is equivalent to running <code>jina -vf</code> from command line.</p>
 <p>.. # noqa: DAR201</p>
 </div></div><div><h3 class="sc-qQxXP cgMNyW">Responses</h3><div><button class="sc-qapaw kluWNM"><svg class="sc-fznKkj fscamO" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-psCJM kuedQF">200<!-- --> </strong><span class="sc-fzpkqZ ebKPJY"><p>Successful Response</p>
 </span></button></div></div></div><div class="sc-AxgMl sc-AxheI iyqNNA"><div class="sc-pjSSY laiyxR"><button class="sc-qQmou cLaWfy"><span type="get" class="sc-qYiqT fjEWKb http-verb get">get</span><span class="sc-prOVx eZNvzE">/status</span><svg class="sc-fznKkj ejwrda" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-pAZqv ekzMPL"><div class="sc-pJurq dfduhr"><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>Local Jina gateway</p>
-</div><div tabindex="0" role="button"><div class="sc-pRTZB kYZNvV"><span>http://localhost:[62470]</span>/status</div></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Request samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-0" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-1" tabindex="0">Shell + Curl</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-1" aria-labelledby="react-tabs-0"><div class="sc-fzqAbL khURdn"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button></div><pre class="sc-fzqMAW sc-fzoydu iZXnCw">curl <span class="token operator">--</span>request GET \
-  <span class="token operator">--</span>url <span class="token string">'http://localhost/:[62470]/status'</span></pre></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Response samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-2" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-3" tabindex="0">200</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-3" aria-labelledby="react-tabs-2"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"jina"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"envs"</span>: <span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div></div></div><div id="tag/CRUD" data-section-id="tag/CRUD" class="sc-AxhUy kNmpyA"><div class="sc-Axmtr bnFFEW"><div class="sc-AxhCb kwETCN"><h1 class="sc-AxmLO jveiGz"><a class="sc-fznyAO itFEXV" href="#tag/CRUD" aria-label="tag/CRUD"></a>CRUD</h1></div></div><div class="sc-AxhCb kVsQWt"><div class="sc-fzoant sc-fzoYHE cDQnzz redoc-markdown "><p>CRUD interface. If your service does not implement those interfaces, you can should hide them by setting <code>--no-crud-endpoints</code> in <code>Flow</code>/<code>Gateway</code>.</p>
+</div><div tabindex="0" role="button"><div class="sc-pRTZB kYZNvV"><span>http://localhost:[57465]</span>/status</div></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Request samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-0" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-1" tabindex="0">Shell + Curl</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-1" aria-labelledby="react-tabs-0"><div class="sc-fzqAbL khURdn"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button></div><pre class="sc-fzqMAW sc-fzoydu iZXnCw">curl <span class="token operator">--</span>request GET \
+  <span class="token operator">--</span>url <span class="token string">'http://localhost/:[57465]/status'</span></pre></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Response samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-2" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-3" tabindex="0">200</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-3" aria-labelledby="react-tabs-2"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"jina"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"envs"</span>: <span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div></div></div><div id="tag/CRUD" data-section-id="tag/CRUD" class="sc-AxhUy kNmpyA"><div class="sc-Axmtr bnFFEW"><div class="sc-AxhCb kwETCN"><h1 class="sc-AxmLO jveiGz"><a class="sc-fznyAO itFEXV" href="#tag/CRUD" aria-label="tag/CRUD"></a>CRUD</h1></div></div><div class="sc-AxhCb kVsQWt"><div class="sc-fzoant sc-fzoYHE cDQnzz redoc-markdown "><p>CRUD interface. If your service does not implement those interfaces, you can should hide them by setting <code>--no-crud-endpoints</code> in <code>Flow</code>/<code>Gateway</code>.</p>
 </div></div></div><div id="operation/_index_index_post" data-section-id="operation/_index_index_post" class="sc-AxhUy emOdQX"><div class="sc-Axmtr sc-pBzUF doDHgT"><div class="sc-AxhCb kwETCN"><h2 class="sc-fzozJi iieAzF"><a class="sc-fznyAO itFEXV" href="#operation/_index_index_post" aria-label="operation/_index_index_post"></a>/Index<!-- --> </h2><div class="sc-pJUVA dpVwlj"><div class="sc-fzoant sc-fzoYHE cDQnzz"><p>Post data requests to the Flow. Executors with <code>@requests(on=&quot;/index&quot;)</code> will respond.</p>
 </div></div><h5 class="sc-fzplWN kzCYbv">Request Body schema: <span class="sc-fzpkJw ezqAQI">application/json</span></h5><div class="sc-fzoant sc-fzoYHE cDQnzz"></div><table class="sc-fznxsB jlDjZa"><tbody><tr><td class="sc-fzqBZW sc-fzoyAV sc-fzokvW dUqafC" kind="field" title="data"><span class="sc-fzoXzr Lihot"></span><button aria-label="expand properties"><span>data</span><svg class="sc-fznKkj czpFYH" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-fzoLag cdMYwp"><div><div><span class="sc-fzqzlV sc-fzqLLg jbhQmP"></span><span class="sc-fzqzlV sc-fzoxnE dUEjwH">Array of PydanticDocument (objects) or object</span><span class="sc-fzqzlV sc-fzoMdx kUcHWW"> (<!-- -->Data<!-- -->) </span></div> <div><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>Data to send, a list of dict/string/bytes that can be converted into a list of <code>Document</code> objects</p>
 </div></div></div></td></tr><tr><td class="sc-fzqBZW sc-fzoyAV daSLCE" kind="field" title="targetExecutor"><span class="sc-fzoXzr Lihot"></span><span>targetExecutor</span></td><td class="sc-fzoLag cdMYwp"><div><div><span class="sc-fzqzlV sc-fzqLLg jbhQmP"></span><span class="sc-fzqzlV sc-fzoxnE dUEjwH">string</span><span class="sc-fzqzlV sc-fzoMdx kUcHWW"> (<!-- -->Targetexecutor<!-- -->) </span></div> <div><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>A regex string representing the specific pods/deployments targeted by the request.</p>
@@ -566,33 +566,33 @@
 </div></div></div></td></tr></tbody></table><div><h3 class="sc-qQxXP cgMNyW">Responses</h3><div><button class="sc-qapaw kluWNM"><svg class="sc-fznKkj fscamO" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-psCJM kuedQF">200<!-- --> </strong><span class="sc-fzpkqZ ebKPJY"><p>Successful Response</p>
 </span></button></div><div><button class="sc-qapaw grUCxK"><svg class="sc-fznKkj cLpHgS" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-psCJM kuedQF">422<!-- --> </strong><span class="sc-fzpkqZ ebKPJY"><p>Validation Error</p>
 </span></button></div></div></div><div class="sc-AxgMl sc-AxheI iyqNNA"><div class="sc-pjSSY laiyxR"><button class="sc-qQmou cLaWfy"><span type="post" class="sc-qYiqT fOPsDV http-verb post">post</span><span class="sc-prOVx eZNvzE">/index</span><svg class="sc-fznKkj ejwrda" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-pAZqv ekzMPL"><div class="sc-pJurq dfduhr"><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>Local Jina gateway</p>
-</div><div tabindex="0" role="button"><div class="sc-pRTZB kYZNvV"><span>http://localhost:[62470]</span>/index</div></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Request samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-4" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-5" tabindex="0">Payload</li><li class="react-tabs__tab" role="tab" id="react-tabs-6" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-7">Shell + Curl</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-5" aria-labelledby="react-tabs-4"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;hello, world!&quot;</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;</span><a href="https://docs.jina.ai/_static/logo-light.svg">https://docs.jina.ai/_static/logo-light.svg</a><span class="token string">&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-7" aria-labelledby="react-tabs-6"></div></div></div><div><h3 class="sc-fzpans lerNRm"> Response samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-8" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-9" tabindex="0">200</li><li class="tab-error" role="tab" id="react-tabs-10" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-11">422</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-9" aria-labelledby="react-tabs-8"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"header"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"requestId"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"execEndpoint"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"timeout"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"routes"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"startTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"endTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"parent_id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"granularity"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"adjacency"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"blob"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tensor"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"mime_type"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"weight"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tags"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"offset"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"location"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token number">0</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"embedding"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"modality"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"evaluations"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"scores"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"chunks"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"matches"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-11" aria-labelledby="react-tabs-10"></div></div></div></div></div></div><div id="operation/_search_search_post" data-section-id="operation/_search_search_post" class="sc-AxhUy emOdQX"><div class="sc-Axmtr sc-pBzUF doDHgT"><div class="sc-AxhCb kwETCN"><h2 class="sc-fzozJi iieAzF"><a class="sc-fznyAO itFEXV" href="#operation/_search_search_post" aria-label="operation/_search_search_post"></a>/Search<!-- --> </h2><div class="sc-pJUVA dpVwlj"><div class="sc-fzoant sc-fzoYHE cDQnzz"><p>Post data requests to the Flow. Executors with <code>@requests(on=&quot;/search&quot;)</code> will respond.</p>
+</div><div tabindex="0" role="button"><div class="sc-pRTZB kYZNvV"><span>http://localhost:[57465]</span>/index</div></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Request samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-4" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-5" tabindex="0">Payload</li><li class="react-tabs__tab" role="tab" id="react-tabs-6" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-7">Shell + Curl</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-5" aria-labelledby="react-tabs-4"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;hello, world!&quot;</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;</span><a href="https://docs.jina.ai/_static/logo-light.svg">https://docs.jina.ai/_static/logo-light.svg</a><span class="token string">&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-7" aria-labelledby="react-tabs-6"></div></div></div><div><h3 class="sc-fzpans lerNRm"> Response samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-8" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-9" tabindex="0">200</li><li class="tab-error" role="tab" id="react-tabs-10" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-11">422</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-9" aria-labelledby="react-tabs-8"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"header"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"requestId"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"execEndpoint"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"timeout"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"routes"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"startTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"endTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"parent_id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"granularity"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"adjacency"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"blob"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tensor"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"mime_type"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"weight"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tags"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"offset"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"location"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token number">0</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"embedding"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"modality"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"evaluations"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"scores"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"chunks"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"matches"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-11" aria-labelledby="react-tabs-10"></div></div></div></div></div></div><div id="operation/_search_search_post" data-section-id="operation/_search_search_post" class="sc-AxhUy emOdQX"><div class="sc-Axmtr sc-pBzUF doDHgT"><div class="sc-AxhCb kwETCN"><h2 class="sc-fzozJi iieAzF"><a class="sc-fznyAO itFEXV" href="#operation/_search_search_post" aria-label="operation/_search_search_post"></a>/Search<!-- --> </h2><div class="sc-pJUVA dpVwlj"><div class="sc-fzoant sc-fzoYHE cDQnzz"><p>Post data requests to the Flow. Executors with <code>@requests(on=&quot;/search&quot;)</code> will respond.</p>
 </div></div><h5 class="sc-fzplWN kzCYbv">Request Body schema: <span class="sc-fzpkJw ezqAQI">application/json</span></h5><div class="sc-fzoant sc-fzoYHE cDQnzz"></div><table class="sc-fznxsB jlDjZa"><tbody><tr><td class="sc-fzqBZW sc-fzoyAV sc-fzokvW dUqafC" kind="field" title="data"><span class="sc-fzoXzr Lihot"></span><button aria-label="expand properties"><span>data</span><svg class="sc-fznKkj czpFYH" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-fzoLag cdMYwp"><div><div><span class="sc-fzqzlV sc-fzqLLg jbhQmP"></span><span class="sc-fzqzlV sc-fzoxnE dUEjwH">Array of PydanticDocument (objects) or object</span><span class="sc-fzqzlV sc-fzoMdx kUcHWW"> (<!-- -->Data<!-- -->) </span></div> <div><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>Data to send, a list of dict/string/bytes that can be converted into a list of <code>Document</code> objects</p>
 </div></div></div></td></tr><tr><td class="sc-fzqBZW sc-fzoyAV daSLCE" kind="field" title="targetExecutor"><span class="sc-fzoXzr Lihot"></span><span>targetExecutor</span></td><td class="sc-fzoLag cdMYwp"><div><div><span class="sc-fzqzlV sc-fzqLLg jbhQmP"></span><span class="sc-fzqzlV sc-fzoxnE dUEjwH">string</span><span class="sc-fzqzlV sc-fzoMdx kUcHWW"> (<!-- -->Targetexecutor<!-- -->) </span></div> <div><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>A regex string representing the specific pods/deployments targeted by the request.</p>
 </div></div></div></td></tr><tr class="last undefined"><td class="sc-fzqBZW sc-fzoyAV daSLCE" kind="field" title="parameters"><span class="sc-fzoXzr Lihot"></span><span>parameters</span></td><td class="sc-fzoLag cdMYwp"><div><div><span class="sc-fzqzlV sc-fzqLLg jbhQmP"></span><span class="sc-fzqzlV sc-fzoxnE dUEjwH">object</span><span class="sc-fzqzlV sc-fzoMdx kUcHWW"> (<!-- -->Parameters<!-- -->) </span></div> <div><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>A dictionary of parameters to be sent to the executor.</p>
 </div></div></div></td></tr></tbody></table><div><h3 class="sc-qQxXP cgMNyW">Responses</h3><div><button class="sc-qapaw kluWNM"><svg class="sc-fznKkj fscamO" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-psCJM kuedQF">200<!-- --> </strong><span class="sc-fzpkqZ ebKPJY"><p>Successful Response</p>
 </span></button></div><div><button class="sc-qapaw grUCxK"><svg class="sc-fznKkj cLpHgS" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-psCJM kuedQF">422<!-- --> </strong><span class="sc-fzpkqZ ebKPJY"><p>Validation Error</p>
 </span></button></div></div></div><div class="sc-AxgMl sc-AxheI iyqNNA"><div class="sc-pjSSY laiyxR"><button class="sc-qQmou cLaWfy"><span type="post" class="sc-qYiqT fOPsDV http-verb post">post</span><span class="sc-prOVx eZNvzE">/search</span><svg class="sc-fznKkj ejwrda" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-pAZqv ekzMPL"><div class="sc-pJurq dfduhr"><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>Local Jina gateway</p>
-</div><div tabindex="0" role="button"><div class="sc-pRTZB kYZNvV"><span>http://localhost:[62470]</span>/search</div></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Request samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-12" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-13" tabindex="0">Payload</li><li class="react-tabs__tab" role="tab" id="react-tabs-14" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-15">Shell + Curl</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-13" aria-labelledby="react-tabs-12"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;hello, world!&quot;</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;</span><a href="https://docs.jina.ai/_static/logo-light.svg">https://docs.jina.ai/_static/logo-light.svg</a><span class="token string">&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-15" aria-labelledby="react-tabs-14"></div></div></div><div><h3 class="sc-fzpans lerNRm"> Response samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-16" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-17" tabindex="0">200</li><li class="tab-error" role="tab" id="react-tabs-18" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-19">422</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-17" aria-labelledby="react-tabs-16"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"header"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"requestId"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"execEndpoint"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"timeout"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"routes"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"startTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"endTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"parent_id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"granularity"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"adjacency"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"blob"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tensor"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"mime_type"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"weight"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tags"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"offset"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"location"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token number">0</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"embedding"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"modality"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"evaluations"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"scores"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"chunks"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"matches"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-19" aria-labelledby="react-tabs-18"></div></div></div></div></div></div><div id="operation/_delete_delete_delete" data-section-id="operation/_delete_delete_delete" class="sc-AxhUy emOdQX"><div class="sc-Axmtr sc-pBzUF doDHgT"><div class="sc-AxhCb kwETCN"><h2 class="sc-fzozJi iieAzF"><a class="sc-fznyAO itFEXV" href="#operation/_delete_delete_delete" aria-label="operation/_delete_delete_delete"></a>/Delete<!-- --> </h2><div class="sc-pJUVA dpVwlj"><div class="sc-fzoant sc-fzoYHE cDQnzz"><p>Post data requests to the Flow. Executors with <code>@requests(on=&quot;/delete&quot;)</code> will respond.</p>
+</div><div tabindex="0" role="button"><div class="sc-pRTZB kYZNvV"><span>http://localhost:[57465]</span>/search</div></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Request samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-12" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-13" tabindex="0">Payload</li><li class="react-tabs__tab" role="tab" id="react-tabs-14" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-15">Shell + Curl</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-13" aria-labelledby="react-tabs-12"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;hello, world!&quot;</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;</span><a href="https://docs.jina.ai/_static/logo-light.svg">https://docs.jina.ai/_static/logo-light.svg</a><span class="token string">&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-15" aria-labelledby="react-tabs-14"></div></div></div><div><h3 class="sc-fzpans lerNRm"> Response samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-16" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-17" tabindex="0">200</li><li class="tab-error" role="tab" id="react-tabs-18" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-19">422</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-17" aria-labelledby="react-tabs-16"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"header"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"requestId"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"execEndpoint"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"timeout"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"routes"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"startTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"endTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"parent_id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"granularity"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"adjacency"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"blob"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tensor"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"mime_type"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"weight"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tags"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"offset"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"location"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token number">0</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"embedding"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"modality"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"evaluations"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"scores"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"chunks"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"matches"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-19" aria-labelledby="react-tabs-18"></div></div></div></div></div></div><div id="operation/_delete_delete_delete" data-section-id="operation/_delete_delete_delete" class="sc-AxhUy emOdQX"><div class="sc-Axmtr sc-pBzUF doDHgT"><div class="sc-AxhCb kwETCN"><h2 class="sc-fzozJi iieAzF"><a class="sc-fznyAO itFEXV" href="#operation/_delete_delete_delete" aria-label="operation/_delete_delete_delete"></a>/Delete<!-- --> </h2><div class="sc-pJUVA dpVwlj"><div class="sc-fzoant sc-fzoYHE cDQnzz"><p>Post data requests to the Flow. Executors with <code>@requests(on=&quot;/delete&quot;)</code> will respond.</p>
 </div></div><h5 class="sc-fzplWN kzCYbv">Request Body schema: <span class="sc-fzpkJw ezqAQI">application/json</span></h5><div class="sc-fzoant sc-fzoYHE cDQnzz"></div><table class="sc-fznxsB jlDjZa"><tbody><tr><td class="sc-fzqBZW sc-fzoyAV sc-fzokvW dUqafC" kind="field" title="data"><span class="sc-fzoXzr Lihot"></span><button aria-label="expand properties"><span>data</span><svg class="sc-fznKkj czpFYH" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-fzoLag cdMYwp"><div><div><span class="sc-fzqzlV sc-fzqLLg jbhQmP"></span><span class="sc-fzqzlV sc-fzoxnE dUEjwH">Array of PydanticDocument (objects) or object</span><span class="sc-fzqzlV sc-fzoMdx kUcHWW"> (<!-- -->Data<!-- -->) </span></div> <div><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>Data to send, a list of dict/string/bytes that can be converted into a list of <code>Document</code> objects</p>
 </div></div></div></td></tr><tr><td class="sc-fzqBZW sc-fzoyAV daSLCE" kind="field" title="targetExecutor"><span class="sc-fzoXzr Lihot"></span><span>targetExecutor</span></td><td class="sc-fzoLag cdMYwp"><div><div><span class="sc-fzqzlV sc-fzqLLg jbhQmP"></span><span class="sc-fzqzlV sc-fzoxnE dUEjwH">string</span><span class="sc-fzqzlV sc-fzoMdx kUcHWW"> (<!-- -->Targetexecutor<!-- -->) </span></div> <div><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>A regex string representing the specific pods/deployments targeted by the request.</p>
 </div></div></div></td></tr><tr class="last undefined"><td class="sc-fzqBZW sc-fzoyAV daSLCE" kind="field" title="parameters"><span class="sc-fzoXzr Lihot"></span><span>parameters</span></td><td class="sc-fzoLag cdMYwp"><div><div><span class="sc-fzqzlV sc-fzqLLg jbhQmP"></span><span class="sc-fzqzlV sc-fzoxnE dUEjwH">object</span><span class="sc-fzqzlV sc-fzoMdx kUcHWW"> (<!-- -->Parameters<!-- -->) </span></div> <div><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>A dictionary of parameters to be sent to the executor.</p>
 </div></div></div></td></tr></tbody></table><div><h3 class="sc-qQxXP cgMNyW">Responses</h3><div><button class="sc-qapaw kluWNM"><svg class="sc-fznKkj fscamO" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-psCJM kuedQF">200<!-- --> </strong><span class="sc-fzpkqZ ebKPJY"><p>Successful Response</p>
 </span></button></div><div><button class="sc-qapaw grUCxK"><svg class="sc-fznKkj cLpHgS" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-psCJM kuedQF">422<!-- --> </strong><span class="sc-fzpkqZ ebKPJY"><p>Validation Error</p>
 </span></button></div></div></div><div class="sc-AxgMl sc-AxheI iyqNNA"><div class="sc-pjSSY laiyxR"><button class="sc-qQmou cLaWfy"><span type="delete" class="sc-qYiqT knTven http-verb delete">delete</span><span class="sc-prOVx eZNvzE">/delete</span><svg class="sc-fznKkj ejwrda" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-pAZqv ekzMPL"><div class="sc-pJurq dfduhr"><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>Local Jina gateway</p>
-</div><div tabindex="0" role="button"><div class="sc-pRTZB kYZNvV"><span>http://localhost:[62470]</span>/delete</div></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Request samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-20" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-21" tabindex="0">Payload</li><li class="react-tabs__tab" role="tab" id="react-tabs-22" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-23">Shell + Curl</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-21" aria-labelledby="react-tabs-20"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;hello, world!&quot;</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;</span><a href="https://docs.jina.ai/_static/logo-light.svg">https://docs.jina.ai/_static/logo-light.svg</a><span class="token string">&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-23" aria-labelledby="react-tabs-22"></div></div></div><div><h3 class="sc-fzpans lerNRm"> Response samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-24" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-25" tabindex="0">200</li><li class="tab-error" role="tab" id="react-tabs-26" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-27">422</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-25" aria-labelledby="react-tabs-24"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"header"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"requestId"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"execEndpoint"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"timeout"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"routes"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"startTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"endTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"parent_id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"granularity"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"adjacency"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"blob"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tensor"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"mime_type"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"weight"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tags"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"offset"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"location"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token number">0</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"embedding"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"modality"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"evaluations"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"scores"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"chunks"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"matches"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-27" aria-labelledby="react-tabs-26"></div></div></div></div></div></div><div id="operation/_update_update_put" data-section-id="operation/_update_update_put" class="sc-AxhUy emOdQX"><div class="sc-Axmtr sc-pBzUF doDHgT"><div class="sc-AxhCb kwETCN"><h2 class="sc-fzozJi iieAzF"><a class="sc-fznyAO itFEXV" href="#operation/_update_update_put" aria-label="operation/_update_update_put"></a>/Update<!-- --> </h2><div class="sc-pJUVA dpVwlj"><div class="sc-fzoant sc-fzoYHE cDQnzz"><p>Post data requests to the Flow. Executors with <code>@requests(on=&quot;/update&quot;)</code> will respond.</p>
+</div><div tabindex="0" role="button"><div class="sc-pRTZB kYZNvV"><span>http://localhost:[57465]</span>/delete</div></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Request samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-20" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-21" tabindex="0">Payload</li><li class="react-tabs__tab" role="tab" id="react-tabs-22" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-23">Shell + Curl</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-21" aria-labelledby="react-tabs-20"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;hello, world!&quot;</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;</span><a href="https://docs.jina.ai/_static/logo-light.svg">https://docs.jina.ai/_static/logo-light.svg</a><span class="token string">&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-23" aria-labelledby="react-tabs-22"></div></div></div><div><h3 class="sc-fzpans lerNRm"> Response samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-24" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-25" tabindex="0">200</li><li class="tab-error" role="tab" id="react-tabs-26" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-27">422</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-25" aria-labelledby="react-tabs-24"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"header"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"requestId"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"execEndpoint"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"timeout"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"routes"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"startTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"endTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"parent_id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"granularity"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"adjacency"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"blob"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tensor"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"mime_type"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"weight"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tags"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"offset"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"location"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token number">0</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"embedding"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"modality"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"evaluations"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"scores"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"chunks"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"matches"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-27" aria-labelledby="react-tabs-26"></div></div></div></div></div></div><div id="operation/_update_update_put" data-section-id="operation/_update_update_put" class="sc-AxhUy emOdQX"><div class="sc-Axmtr sc-pBzUF doDHgT"><div class="sc-AxhCb kwETCN"><h2 class="sc-fzozJi iieAzF"><a class="sc-fznyAO itFEXV" href="#operation/_update_update_put" aria-label="operation/_update_update_put"></a>/Update<!-- --> </h2><div class="sc-pJUVA dpVwlj"><div class="sc-fzoant sc-fzoYHE cDQnzz"><p>Post data requests to the Flow. Executors with <code>@requests(on=&quot;/update&quot;)</code> will respond.</p>
 </div></div><h5 class="sc-fzplWN kzCYbv">Request Body schema: <span class="sc-fzpkJw ezqAQI">application/json</span></h5><div class="sc-fzoant sc-fzoYHE cDQnzz"></div><table class="sc-fznxsB jlDjZa"><tbody><tr><td class="sc-fzqBZW sc-fzoyAV sc-fzokvW dUqafC" kind="field" title="data"><span class="sc-fzoXzr Lihot"></span><button aria-label="expand properties"><span>data</span><svg class="sc-fznKkj czpFYH" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-fzoLag cdMYwp"><div><div><span class="sc-fzqzlV sc-fzqLLg jbhQmP"></span><span class="sc-fzqzlV sc-fzoxnE dUEjwH">Array of PydanticDocument (objects) or object</span><span class="sc-fzqzlV sc-fzoMdx kUcHWW"> (<!-- -->Data<!-- -->) </span></div> <div><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>Data to send, a list of dict/string/bytes that can be converted into a list of <code>Document</code> objects</p>
 </div></div></div></td></tr><tr><td class="sc-fzqBZW sc-fzoyAV daSLCE" kind="field" title="targetExecutor"><span class="sc-fzoXzr Lihot"></span><span>targetExecutor</span></td><td class="sc-fzoLag cdMYwp"><div><div><span class="sc-fzqzlV sc-fzqLLg jbhQmP"></span><span class="sc-fzqzlV sc-fzoxnE dUEjwH">string</span><span class="sc-fzqzlV sc-fzoMdx kUcHWW"> (<!-- -->Targetexecutor<!-- -->) </span></div> <div><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>A regex string representing the specific pods/deployments targeted by the request.</p>
 </div></div></div></td></tr><tr class="last undefined"><td class="sc-fzqBZW sc-fzoyAV daSLCE" kind="field" title="parameters"><span class="sc-fzoXzr Lihot"></span><span>parameters</span></td><td class="sc-fzoLag cdMYwp"><div><div><span class="sc-fzqzlV sc-fzqLLg jbhQmP"></span><span class="sc-fzqzlV sc-fzoxnE dUEjwH">object</span><span class="sc-fzqzlV sc-fzoMdx kUcHWW"> (<!-- -->Parameters<!-- -->) </span></div> <div><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>A dictionary of parameters to be sent to the executor.</p>
 </div></div></div></td></tr></tbody></table><div><h3 class="sc-qQxXP cgMNyW">Responses</h3><div><button class="sc-qapaw kluWNM"><svg class="sc-fznKkj fscamO" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-psCJM kuedQF">200<!-- --> </strong><span class="sc-fzpkqZ ebKPJY"><p>Successful Response</p>
 </span></button></div><div><button class="sc-qapaw grUCxK"><svg class="sc-fznKkj cLpHgS" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-psCJM kuedQF">422<!-- --> </strong><span class="sc-fzpkqZ ebKPJY"><p>Validation Error</p>
 </span></button></div></div></div><div class="sc-AxgMl sc-AxheI iyqNNA"><div class="sc-pjSSY laiyxR"><button class="sc-qQmou cLaWfy"><span type="put" class="sc-qYiqT kTNhJK http-verb put">put</span><span class="sc-prOVx eZNvzE">/update</span><svg class="sc-fznKkj ejwrda" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-pAZqv ekzMPL"><div class="sc-pJurq dfduhr"><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>Local Jina gateway</p>
-</div><div tabindex="0" role="button"><div class="sc-pRTZB kYZNvV"><span>http://localhost:[62470]</span>/update</div></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Request samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-28" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-29" tabindex="0">Payload</li><li class="react-tabs__tab" role="tab" id="react-tabs-30" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-31">Shell + Curl</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-29" aria-labelledby="react-tabs-28"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;hello, world!&quot;</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;</span><a href="https://docs.jina.ai/_static/logo-light.svg">https://docs.jina.ai/_static/logo-light.svg</a><span class="token string">&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-31" aria-labelledby="react-tabs-30"></div></div></div><div><h3 class="sc-fzpans lerNRm"> Response samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-32" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-33" tabindex="0">200</li><li class="tab-error" role="tab" id="react-tabs-34" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-35">422</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-33" aria-labelledby="react-tabs-32"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"header"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"requestId"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"execEndpoint"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"timeout"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"routes"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"startTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"endTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"parent_id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"granularity"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"adjacency"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"blob"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tensor"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"mime_type"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"weight"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tags"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"offset"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"location"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token number">0</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"embedding"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"modality"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"evaluations"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"scores"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"chunks"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"matches"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-35" aria-labelledby="react-tabs-34"></div></div></div></div></div></div><div id="operation/_flow_health_dry_run_get" data-section-id="operation/_flow_health_dry_run_get" class="sc-AxhUy emOdQX"><div class="sc-Axmtr sc-pBzUF doDHgT"><div class="sc-AxhCb kwETCN"><h2 class="sc-fzozJi iieAzF"><a class="sc-fznyAO itFEXV" href="#operation/_flow_health_dry_run_get" aria-label="operation/_flow_health_dry_run_get"></a>Get the readiness of Jina Flow service, sends an empty DocumentArray to the complete Flow to validate connectivity<!-- --> </h2><div class="sc-pJUVA dpVwlj"><div class="sc-fzoant sc-fzoYHE cDQnzz"><p>Get the health of the complete Flow service.
+</div><div tabindex="0" role="button"><div class="sc-pRTZB kYZNvV"><span>http://localhost:[57465]</span>/update</div></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Request samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-28" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-29" tabindex="0">Payload</li><li class="react-tabs__tab" role="tab" id="react-tabs-30" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-31">Shell + Curl</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-29" aria-labelledby="react-tabs-28"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;hello, world!&quot;</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;</span><a href="https://docs.jina.ai/_static/logo-light.svg">https://docs.jina.ai/_static/logo-light.svg</a><span class="token string">&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-31" aria-labelledby="react-tabs-30"></div></div></div><div><h3 class="sc-fzpans lerNRm"> Response samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-32" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-33" tabindex="0">200</li><li class="tab-error" role="tab" id="react-tabs-34" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-35">422</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-33" aria-labelledby="react-tabs-32"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"header"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"requestId"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"execEndpoint"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"timeout"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"routes"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"startTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"endTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"parent_id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"granularity"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"adjacency"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"blob"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tensor"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"mime_type"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"weight"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tags"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"offset"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"location"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token number">0</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"embedding"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"modality"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"evaluations"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"scores"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"chunks"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"matches"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-35" aria-labelledby="react-tabs-34"></div></div></div></div></div></div><div id="operation/_flow_health_dry_run_get" data-section-id="operation/_flow_health_dry_run_get" class="sc-AxhUy emOdQX"><div class="sc-Axmtr sc-pBzUF doDHgT"><div class="sc-AxhCb kwETCN"><h2 class="sc-fzozJi iieAzF"><a class="sc-fznyAO itFEXV" href="#operation/_flow_health_dry_run_get" aria-label="operation/_flow_health_dry_run_get"></a>Get the readiness of Jina Flow service, sends an empty DocumentArray to the complete Flow to validate connectivity<!-- --> </h2><div class="sc-pJUVA dpVwlj"><div class="sc-fzoant sc-fzoYHE cDQnzz"><p>Get the health of the complete Flow service.
 .. # noqa: DAR201</p>
 </div></div><div><h3 class="sc-qQxXP cgMNyW">Responses</h3><div><button class="sc-qapaw kluWNM"><svg class="sc-fznKkj fscamO" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-psCJM kuedQF">200<!-- --> </strong><span class="sc-fzpkqZ ebKPJY"><p>Successful Response</p>
 </span></button></div></div></div><div class="sc-AxgMl sc-AxheI iyqNNA"><div class="sc-pjSSY laiyxR"><button class="sc-qQmou cLaWfy"><span type="get" class="sc-qYiqT fjEWKb http-verb get">get</span><span class="sc-prOVx eZNvzE">/dry_run</span><svg class="sc-fznKkj ejwrda" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-pAZqv ekzMPL"><div class="sc-pJurq dfduhr"><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>Local Jina gateway</p>
-</div><div tabindex="0" role="button"><div class="sc-pRTZB kYZNvV"><span>http://localhost:[62470]</span>/dry_run</div></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Request samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-36" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-37" tabindex="0">Shell + Curl</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-37" aria-labelledby="react-tabs-36"><div class="sc-fzqAbL khURdn"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button></div><pre class="sc-fzqMAW sc-fzoydu iZXnCw">curl <span class="token operator">--</span>request GET \
-  <span class="token operator">--</span>url <span class="token string">'http://localhost/:[62470]/dry_run'</span></pre></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Response samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-38" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-39" tabindex="0">200</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-39" aria-labelledby="react-tabs-38"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"exception"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div></div></div><div id="operation/post_post_post" data-section-id="operation/post_post_post" class="sc-AxhUy emOdQX"><div class="sc-Axmtr sc-pBzUF doDHgT"><div class="sc-AxhCb kwETCN"><h2 class="sc-fzozJi iieAzF"><a class="sc-fznyAO itFEXV" href="#operation/post_post_post" aria-label="operation/post_post_post"></a>Post<!-- --> </h2><div class="sc-pJUVA dpVwlj"><div class="sc-fzoant sc-fzoYHE cDQnzz"><p>Post a data request to some endpoint.</p>
+</div><div tabindex="0" role="button"><div class="sc-pRTZB kYZNvV"><span>http://localhost:[57465]</span>/dry_run</div></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Request samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-36" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-37" tabindex="0">Shell + Curl</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-37" aria-labelledby="react-tabs-36"><div class="sc-fzqAbL khURdn"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button></div><pre class="sc-fzqMAW sc-fzoydu iZXnCw">curl <span class="token operator">--</span>request GET \
+  <span class="token operator">--</span>url <span class="token string">'http://localhost/:[57465]/dry_run'</span></pre></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Response samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-38" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-39" tabindex="0">200</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-39" aria-labelledby="react-tabs-38"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"exception"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div></div></div><div id="operation/post_post_post" data-section-id="operation/post_post_post" class="sc-AxhUy emOdQX"><div class="sc-Axmtr sc-pBzUF doDHgT"><div class="sc-AxhCb kwETCN"><h2 class="sc-fzozJi iieAzF"><a class="sc-fznyAO itFEXV" href="#operation/post_post_post" aria-label="operation/post_post_post"></a>Post<!-- --> </h2><div class="sc-pJUVA dpVwlj"><div class="sc-fzoant sc-fzoYHE cDQnzz"><p>Post a data request to some endpoint.</p>
 <p>This is equivalent to the following:</p>
 <pre><code>from jina import Flow
 
@@ -608,9 +608,9 @@
 </div></div></div></td></tr></tbody></table><div><h3 class="sc-qQxXP cgMNyW">Responses</h3><div><button class="sc-qapaw kluWNM"><svg class="sc-fznKkj fscamO" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-psCJM kuedQF">200<!-- --> </strong><span class="sc-fzpkqZ ebKPJY"><p>Successful Response</p>
 </span></button></div><div><button class="sc-qapaw grUCxK"><svg class="sc-fznKkj cLpHgS" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-psCJM kuedQF">422<!-- --> </strong><span class="sc-fzpkqZ ebKPJY"><p>Validation Error</p>
 </span></button></div></div></div><div class="sc-AxgMl sc-AxheI iyqNNA"><div class="sc-pjSSY laiyxR"><button class="sc-qQmou cLaWfy"><span type="post" class="sc-qYiqT fOPsDV http-verb post">post</span><span class="sc-prOVx eZNvzE">/post</span><svg class="sc-fznKkj ejwrda" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-pAZqv ekzMPL"><div class="sc-pJurq dfduhr"><div class="sc-fzoant sc-fzoYHE kTjICZ"><p>Local Jina gateway</p>
-</div><div tabindex="0" role="button"><div class="sc-pRTZB kYZNvV"><span>http://localhost:[62470]</span>/post</div></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Request samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-40" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-41" tabindex="0">Payload</li><li class="react-tabs__tab" role="tab" id="react-tabs-42" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-43">Shell + Curl</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-41" aria-labelledby="react-tabs-40"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;hello, world!&quot;</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;</span><a href="https://docs.jina.ai/_static/logo-light.svg">https://docs.jina.ai/_static/logo-light.svg</a><span class="token string">&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"execEndpoint"</span>: <span class="token string">&quot;/&quot;</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-43" aria-labelledby="react-tabs-42"></div></div></div><div><h3 class="sc-fzpans lerNRm"> Response samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-44" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-45" tabindex="0">200</li><li class="tab-error" role="tab" id="react-tabs-46" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-47">422</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-45" aria-labelledby="react-tabs-44"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"header"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"requestId"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"execEndpoint"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"timeout"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"routes"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"startTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"endTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"parent_id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"granularity"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"adjacency"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"blob"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tensor"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"mime_type"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"weight"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tags"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"offset"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"location"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token number">0</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"embedding"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"modality"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"evaluations"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"scores"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"chunks"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"matches"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-47" aria-labelledby="react-tabs-46"></div></div></div></div></div></div></div><div class="sc-pscky iTeWTL"></div></div></div>
+</div><div tabindex="0" role="button"><div class="sc-pRTZB kYZNvV"><span>http://localhost:[57465]</span>/post</div></div></div></div></div><div><h3 class="sc-fzpans lerNRm"> Request samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-40" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-41" tabindex="0">Payload</li><li class="react-tabs__tab" role="tab" id="react-tabs-42" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-43">Shell + Curl</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-41" aria-labelledby="react-tabs-40"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;hello, world!&quot;</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;</span><a href="https://docs.jina.ai/_static/logo-light.svg">https://docs.jina.ai/_static/logo-light.svg</a><span class="token string">&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"execEndpoint"</span>: <span class="token string">&quot;/&quot;</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-43" aria-labelledby="react-tabs-42"></div></div></div><div><h3 class="sc-fzpans lerNRm"> Response samples </h3><div class="sc-fznzOf kuWevu" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-44" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-45" tabindex="0">200</li><li class="tab-error" role="tab" id="react-tabs-46" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-47">422</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-45" aria-labelledby="react-tabs-44"><div><div class="sc-fzpisO dBHtDj"><span class="sc-fzoVTD hYwnSl">Content type</span><div class="sc-fzoJus ixzWHz">application/json</div></div><div class="sc-fznXWL iZtsQe"><div class="sc-fzqMdD cDvkPr"><div class="sc-fzomME nAZSf"><button><div class="sc-fznAgC jKdGWZ">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-fzoant dwarDg sc-fzowVh blNKQn"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"header"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"requestId"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"execEndpoint"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"targetExecutor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"timeout"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"routes"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"startTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"endTime"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"status"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"code"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"exception"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"args"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"stacks"</span>: <span class="token punctuation">[ ]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"executor"</span>: <span class="token string">&quot;&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"parent_id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"granularity"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"adjacency"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"blob"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tensor"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"mime_type"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"text"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"weight"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"uri"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tags"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"offset"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"location"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token number">0</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"embedding"</span>: <span class="token keyword">null</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"modality"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"evaluations"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"scores"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"op_name"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ref_id"</span>: <span class="token string">&quot;string&quot;</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"chunks"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"matches"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token punctuation">{ }</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-47" aria-labelledby="react-tabs-46"></div></div></div></div></div></div></div><div class="sc-pscky iTeWTL"></div></div></div>
     <script>
-    const __redoc_state = {"menu":{"activeItemIdx":-1},"spec":{"data":{"openapi":"3.1.0","info":{"title":"My Jina Service","description":"This is my awesome service. You can set `title` and `description` in your `Flow` or `Gateway` to customize the title and description.","version":"3.25.2","x-logo":{"url":"https://schemas.jina.ai/logo/logo-product/jina-core/horizontal-layout/colored/Product%20logo_Core_vertical_colorful%402x-margin.png"}},"paths":{"/dry_run":{"get":{"summary":"Get the readiness of Jina Flow service, sends an empty DocumentArray to the complete Flow to validate connectivity","description":"Get the health of the complete Flow service.\n.. # noqa: DAR201","operationId":"_flow_health_dry_run_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusProto"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url 'http://localhost/:[62470]/dry_run'"}]}},"/status":{"get":{"tags":["Debug"],"summary":"Get the status of Jina service","description":"Get the status of this Jina service.\n\nThis is equivalent to running `jina -vf` from command line.\n\n.. # noqa: DAR201","operationId":"_status_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaInfoModel"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url 'http://localhost/:[62470]/status'"}]}},"/post":{"post":{"summary":"Post","description":"Post a data request to some endpoint.\n\nThis is equivalent to the following:\n\n    from jina import Flow\n\n    f = Flow().add(...)\n\n    with f:\n        f.post(endpoint, ...)\n\n.. # noqa: DAR201\n.. # noqa: DAR101","operationId":"post_post_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaEndpointRequestModel"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaResponseModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url 'http://localhost/:[62470]/post' \\\n  --header 'content-type: application/json' \\\n  --data '{\"data\":[{\"text\":\"hello, world!\"},{\"uri\":\"https://docs.jina.ai/_static/logo-light.svg\"}],\"targetExecutor\":\"\",\"parameters\":{},\"execEndpoint\":\"/\"}'"}]}},"/index":{"post":{"tags":["CRUD"],"summary":"/Index","description":"Post data requests to the Flow. Executors with `@requests(on=\"/index\")` will respond.","operationId":"_index_index_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaRequestModel"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaResponseModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url 'http://localhost/:[62470]/index' \\\n  --header 'content-type: application/json' \\\n  --data '{\"data\":[{\"text\":\"hello, world!\"},{\"uri\":\"https://docs.jina.ai/_static/logo-light.svg\"}],\"targetExecutor\":\"\",\"parameters\":{}}'"}]}},"/search":{"post":{"tags":["CRUD"],"summary":"/Search","description":"Post data requests to the Flow. Executors with `@requests(on=\"/search\")` will respond.","operationId":"_search_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaRequestModel"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaResponseModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url 'http://localhost/:[62470]/search' \\\n  --header 'content-type: application/json' \\\n  --data '{\"data\":[{\"text\":\"hello, world!\"},{\"uri\":\"https://docs.jina.ai/_static/logo-light.svg\"}],\"targetExecutor\":\"\",\"parameters\":{}}'"}]}},"/delete":{"delete":{"tags":["CRUD"],"summary":"/Delete","description":"Post data requests to the Flow. Executors with `@requests(on=\"/delete\")` will respond.","operationId":"_delete_delete_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaRequestModel"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaResponseModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n  --url 'http://localhost/:[62470]/delete' \\\n  --header 'content-type: application/json' \\\n  --data '{\"data\":[{\"text\":\"hello, world!\"},{\"uri\":\"https://docs.jina.ai/_static/logo-light.svg\"}],\"targetExecutor\":\"\",\"parameters\":{}}'"}]}},"/update":{"put":{"tags":["CRUD"],"summary":"/Update","description":"Post data requests to the Flow. Executors with `@requests(on=\"/update\")` will respond.","operationId":"_update_update_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaRequestModel"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaResponseModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n  --url 'http://localhost/:[62470]/update' \\\n  --header 'content-type: application/json' \\\n  --data '{\"data\":[{\"text\":\"hello, world!\"},{\"uri\":\"https://docs.jina.ai/_static/logo-light.svg\"}],\"targetExecutor\":\"\",\"parameters\":{}}'"}]}}},"components":{"schemas":{"ExceptionProto":{"properties":{"name":{"type":"string","title":"Name","default":""},"args":{"items":{"type":"string"},"type":"array","title":"Args","default":[]},"stacks":{"items":{"type":"string"},"type":"array","title":"Stacks","default":[]},"executor":{"type":"string","title":"Executor","default":""}},"type":"object","title":"ExceptionProto"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HeaderProto":{"properties":{"requestId":{"type":"string","title":"Requestid","default":""},"status":{"$ref":"#/components/schemas/StatusProto"},"execEndpoint":{"type":"string","title":"Execendpoint","default":""},"targetExecutor":{"type":"string","title":"Targetexecutor","default":""},"timeout":{"type":"integer","title":"Timeout","default":0}},"type":"object","title":"HeaderProto"},"JinaEndpointRequestModel":{"properties":{"data":{"anyOf":[{"items":{"$ref":"#/components/schemas/PydanticDocument"},"type":"array"},{"additionalProperties":{"items":{"$ref":"#/components/schemas/PydanticDocument"},"type":"array"},"type":"object"}],"title":"Data","description":"Data to send, a list of dict/string/bytes that can be converted into a list of `Document` objects","example":[{"text":"hello, world!"},{"uri":"https://docs.jina.ai/_static/logo-light.svg"}]},"targetExecutor":{"type":"string","title":"Targetexecutor","description":"A regex string representing the specific pods/deployments targeted by the request.","example":""},"parameters":{"type":"object","title":"Parameters","description":"A dictionary of parameters to be sent to the executor.","example":{}},"execEndpoint":{"type":"string","title":"Execendpoint","description":"The endpoint string, by convention starts with `/`. If you specify it as `/foo`, then all executors bind with `@requests(on=\"/foo\")` will receive the request.","default":"/","example":"/"}},"type":"object","title":"JinaEndpointRequestModel","description":"Jina HTTP request model that allows customized endpoint."},"JinaInfoModel":{"properties":{"jina":{"type":"object","title":"Jina"},"envs":{"type":"object","title":"Envs"}},"type":"object","required":["jina","envs"],"title":"JinaInfoModel","description":"Pydantic BaseModel for Jina status, used as the response model in REST app."},"JinaRequestModel":{"properties":{"data":{"anyOf":[{"items":{"$ref":"#/components/schemas/PydanticDocument"},"type":"array"},{"additionalProperties":{"items":{"$ref":"#/components/schemas/PydanticDocument"},"type":"array"},"type":"object"}],"title":"Data","description":"Data to send, a list of dict/string/bytes that can be converted into a list of `Document` objects","example":[{"text":"hello, world!"},{"uri":"https://docs.jina.ai/_static/logo-light.svg"}]},"targetExecutor":{"type":"string","title":"Targetexecutor","description":"A regex string representing the specific pods/deployments targeted by the request.","example":""},"parameters":{"type":"object","title":"Parameters","description":"A dictionary of parameters to be sent to the executor.","example":{}}},"type":"object","title":"JinaRequestModel","description":"Jina HTTP request model."},"JinaResponseModel":{"properties":{"header":{"$ref":"#/components/schemas/HeaderProto"},"parameters":{"type":"object","title":"Parameters"},"routes":{"items":{"$ref":"#/components/schemas/RouteProto"},"type":"array","title":"Routes"},"data":{"items":{"$ref":"#/components/schemas/PydanticDocument"},"type":"array","title":"Data"}},"type":"object","title":"JinaResponseModel","description":"Jina HTTP Response model. Only `request_id` and `data` are preserved."},"PydanticDocument":{"properties":{"id":{"type":"string","title":"Id"},"parent_id":{"type":"string","title":"Parent Id"},"granularity":{"type":"integer","title":"Granularity"},"adjacency":{"type":"integer","title":"Adjacency"},"blob":{"type":"string","title":"Blob"},"tensor":{"title":"Tensor"},"mime_type":{"type":"string","title":"Mime Type"},"text":{"type":"string","title":"Text"},"weight":{"type":"number","title":"Weight"},"uri":{"type":"string","title":"Uri"},"tags":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"},{"items":{},"type":"array"},{"type":"object"},{"items":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"},{"items":{},"type":"array"},{"type":"object"}]},"type":"array"},{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"},{"items":{},"type":"array"},{"type":"object"}]},"type":"object"}]},"type":"object","title":"Tags"},"offset":{"type":"number","title":"Offset"},"location":{"items":{"type":"number"},"type":"array","title":"Location"},"embedding":{"title":"Embedding"},"modality":{"type":"string","title":"Modality"},"evaluations":{"additionalProperties":{"$ref":"#/components/schemas/_NamedScore"},"type":"object","title":"Evaluations"},"scores":{"additionalProperties":{"$ref":"#/components/schemas/_NamedScore"},"type":"object","title":"Scores"},"chunks":{"items":{"$ref":"#/components/schemas/PydanticDocument"},"type":"array","title":"Chunks"},"matches":{"items":{"$ref":"#/components/schemas/PydanticDocument"},"type":"array","title":"Matches"}},"type":"object","title":"PydanticDocument"},"RouteProto":{"properties":{"executor":{"type":"string","title":"Executor","default":""},"startTime":{"type":"string","format":"date-time","title":"Starttime"},"endTime":{"type":"string","format":"date-time","title":"Endtime"},"status":{"$ref":"#/components/schemas/StatusProto"}},"type":"object","title":"RouteProto"},"StatusCode":{"enum":[0,1],"title":"StatusCode","description":"An enumeration."},"StatusProto":{"properties":{"code":{"allOf":[{"$ref":"#/components/schemas/StatusCode"}],"default":0},"description":{"type":"string","title":"Description","default":""},"exception":{"$ref":"#/components/schemas/ExceptionProto"}},"type":"object","title":"StatusProto"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"_NamedScore":{"properties":{"value":{"type":"number","title":"Value"},"op_name":{"type":"string","title":"Op Name"},"description":{"type":"string","title":"Description"},"ref_id":{"type":"string","title":"Ref Id"}},"type":"object","title":"_NamedScore"}}},"tags":[{"name":"Debug","description":"Debugging interface. In production, you should hide them by setting `--no-debug-endpoints` in `Flow`/`Gateway`."},{"name":"CRUD","description":"CRUD interface. If your service does not implement those interfaces, you can should hide them by setting `--no-crud-endpoints` in `Flow`/`Gateway`."}],"servers":[{"url":"http://localhost:[62470]","description":"Local Jina gateway"}]}},"searchIndex":{"store":["tag/Debug","operation/_status_status_get","tag/CRUD","operation/_index_index_post","operation/_search_search_post","operation/_delete_delete_delete","operation/_update_update_put","operation/_flow_health_dry_run_get","operation/post_post_post"],"index":{"version":"2.3.8","fields":["title","description"],"fieldVectors":[["title/0",[0,1.809]],["description/0",[0,1.574,1,1.574,2,2.155,3,1.574,4,1.574,5,2.155,6,1.574]],["title/1",[7,1.241,8,0.715,9,0.535]],["description/1",[7,1.228,8,1.009,9,0.53,10,1.228,11,1.681,12,1.681,13,1.681,14,1.681,15,1.326,16,0.93,17,0.93]],["title/2",[18,1.809]],["description/2",[1,1.9,3,1.38,4,1.38,6,1.38,9,0.595,18,1.38,19,1.888,20,1.888,21,1.888]],["title/3",[22,2.476]],["description/3",[23,0.489,24,0.679,25,0.679,26,0.327,27,0.907,28,2.155,29,0.907]],["title/4",[30,2.476]],["description/4",[23,0.489,24,0.679,25,0.679,26,0.327,27,0.907,29,0.907,31,2.155]],["title/5",[32,2.476]],["description/5",[23,0.489,24,0.679,25,0.679,26,0.327,27,0.907,29,0.907,33,2.155]],["title/6",[34,2.476]],["description/6",[23,0.489,24,0.679,25,0.679,26,0.327,27,0.907,29,0.907,35,2.155]],["title/7",[8,0.317,9,0.237,26,0.193,36,0.753,37,0.753,38,0.753,39,0.753,40,0.55,41,0.753,42,0.753]],["description/7",[9,0.649,15,1.525,16,1.139,17,1.139,26,0.312,40,1.504,43,2.058]],["title/8",[23,0.562]],["description/8",[8,0.518,10,0.899,15,1.651,16,1.051,17,0.681,23,0.279,24,0.388,25,0.388,26,0.187,44,1.23,45,1.23,46,1.23,47,1.9,48,1.23,49,1.23,50,1.23]]],"invertedIndex":[["",{"_index":15,"title":{},"description":{"1":{},"7":{},"8":{}}}],["command",{"_index":13,"title":{},"description":{"1":{}}}],["complet",{"_index":40,"title":{"7":{}},"description":{"7":{}}}],["connect",{"_index":42,"title":{"7":{}},"description":{}}],["crud",{"_index":18,"title":{"2":{}},"description":{"2":{}}}],["dar101",{"_index":50,"title":{},"description":{"8":{}}}],["dar201",{"_index":17,"title":{},"description":{"1":{},"7":{},"8":{}}}],["data",{"_index":24,"title":{},"description":{"3":{},"4":{},"5":{},"6":{},"8":{}}}],["debug",{"_index":0,"title":{"0":{}},"description":{"0":{}}}],["delet",{"_index":32,"title":{"5":{}},"description":{}}],["documentarray",{"_index":39,"title":{"7":{}},"description":{}}],["empti",{"_index":38,"title":{"7":{}},"description":{}}],["endpoint",{"_index":44,"title":{},"description":{"8":{}}}],["equival",{"_index":10,"title":{},"description":{"1":{},"8":{}}}],["executor",{"_index":27,"title":{},"description":{"3":{},"4":{},"5":{},"6":{}}}],["f",{"_index":47,"title":{},"description":{"8":{}}}],["f.post(endpoint",{"_index":49,"title":{},"description":{"8":{}}}],["flow",{"_index":26,"title":{"7":{}},"description":{"3":{},"4":{},"5":{},"6":{},"7":{},"8":{}}}],["flow().add",{"_index":48,"title":{},"description":{"8":{}}}],["flow`/`gateway",{"_index":6,"title":{},"description":{"0":{},"2":{}}}],["follow",{"_index":45,"title":{},"description":{"8":{}}}],["health",{"_index":43,"title":{},"description":{"7":{}}}],["hide",{"_index":3,"title":{},"description":{"0":{},"2":{}}}],["implement",{"_index":19,"title":{},"description":{"2":{}}}],["import",{"_index":46,"title":{},"description":{"8":{}}}],["index",{"_index":22,"title":{"3":{}},"description":{}}],["interfac",{"_index":1,"title":{},"description":{"0":{},"2":{}}}],["jina",{"_index":8,"title":{"1":{},"7":{}},"description":{"1":{},"8":{}}}],["line",{"_index":14,"title":{},"description":{"1":{}}}],["no-crud-endpoint",{"_index":21,"title":{},"description":{"2":{}}}],["no-debug-endpoint",{"_index":5,"title":{},"description":{"0":{}}}],["noqa",{"_index":16,"title":{},"description":{"1":{},"7":{},"8":{}}}],["post",{"_index":23,"title":{"8":{}},"description":{"3":{},"4":{},"5":{},"6":{},"8":{}}}],["product",{"_index":2,"title":{},"description":{"0":{}}}],["readi",{"_index":36,"title":{"7":{}},"description":{}}],["request",{"_index":25,"title":{},"description":{"3":{},"4":{},"5":{},"6":{},"8":{}}}],["requests(on=\"/delet",{"_index":33,"title":{},"description":{"5":{}}}],["requests(on=\"/index",{"_index":28,"title":{},"description":{"3":{}}}],["requests(on=\"/search",{"_index":31,"title":{},"description":{"4":{}}}],["requests(on=\"/upd",{"_index":35,"title":{},"description":{"6":{}}}],["respond",{"_index":29,"title":{},"description":{"3":{},"4":{},"5":{},"6":{}}}],["run",{"_index":11,"title":{},"description":{"1":{}}}],["search",{"_index":30,"title":{"4":{}},"description":{}}],["send",{"_index":37,"title":{"7":{}},"description":{}}],["servic",{"_index":9,"title":{"1":{},"7":{}},"description":{"1":{},"2":{},"7":{}}}],["set",{"_index":4,"title":{},"description":{"0":{},"2":{}}}],["statu",{"_index":7,"title":{"1":{}},"description":{"1":{}}}],["those",{"_index":20,"title":{},"description":{"2":{}}}],["updat",{"_index":34,"title":{"6":{}},"description":{}}],["valid",{"_index":41,"title":{"7":{}},"description":{}}],["vf",{"_index":12,"title":{},"description":{"1":{}}}]],"pipeline":[]}},"options":{}};
+    const __redoc_state = {"menu":{"activeItemIdx":-1},"spec":{"data":{"openapi":"3.1.0","info":{"title":"My Jina Service","description":"This is my awesome service. You can set `title` and `description` in your `Flow` or `Gateway` to customize the title and description.","version":"3.25.3","x-logo":{"url":"https://schemas.jina.ai/logo/logo-product/jina-core/horizontal-layout/colored/Product%20logo_Core_vertical_colorful%402x-margin.png"}},"paths":{"/dry_run":{"get":{"summary":"Get the readiness of Jina Flow service, sends an empty DocumentArray to the complete Flow to validate connectivity","description":"Get the health of the complete Flow service.\n.. # noqa: DAR201","operationId":"_flow_health_dry_run_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusProto"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url 'http://localhost/:[57465]/dry_run'"}]}},"/status":{"get":{"tags":["Debug"],"summary":"Get the status of Jina service","description":"Get the status of this Jina service.\n\nThis is equivalent to running `jina -vf` from command line.\n\n.. # noqa: DAR201","operationId":"_status_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaInfoModel"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url 'http://localhost/:[57465]/status'"}]}},"/post":{"post":{"summary":"Post","description":"Post a data request to some endpoint.\n\nThis is equivalent to the following:\n\n    from jina import Flow\n\n    f = Flow().add(...)\n\n    with f:\n        f.post(endpoint, ...)\n\n.. # noqa: DAR201\n.. # noqa: DAR101","operationId":"post_post_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaEndpointRequestModel"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaResponseModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url 'http://localhost/:[57465]/post' \\\n  --header 'content-type: application/json' \\\n  --data '{\"data\":[{\"text\":\"hello, world!\"},{\"uri\":\"https://docs.jina.ai/_static/logo-light.svg\"}],\"targetExecutor\":\"\",\"parameters\":{},\"execEndpoint\":\"/\"}'"}]}},"/index":{"post":{"tags":["CRUD"],"summary":"/Index","description":"Post data requests to the Flow. Executors with `@requests(on=\"/index\")` will respond.","operationId":"_index_index_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaRequestModel"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaResponseModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url 'http://localhost/:[57465]/index' \\\n  --header 'content-type: application/json' \\\n  --data '{\"data\":[{\"text\":\"hello, world!\"},{\"uri\":\"https://docs.jina.ai/_static/logo-light.svg\"}],\"targetExecutor\":\"\",\"parameters\":{}}'"}]}},"/search":{"post":{"tags":["CRUD"],"summary":"/Search","description":"Post data requests to the Flow. Executors with `@requests(on=\"/search\")` will respond.","operationId":"_search_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaRequestModel"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaResponseModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url 'http://localhost/:[57465]/search' \\\n  --header 'content-type: application/json' \\\n  --data '{\"data\":[{\"text\":\"hello, world!\"},{\"uri\":\"https://docs.jina.ai/_static/logo-light.svg\"}],\"targetExecutor\":\"\",\"parameters\":{}}'"}]}},"/delete":{"delete":{"tags":["CRUD"],"summary":"/Delete","description":"Post data requests to the Flow. Executors with `@requests(on=\"/delete\")` will respond.","operationId":"_delete_delete_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaRequestModel"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaResponseModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n  --url 'http://localhost/:[57465]/delete' \\\n  --header 'content-type: application/json' \\\n  --data '{\"data\":[{\"text\":\"hello, world!\"},{\"uri\":\"https://docs.jina.ai/_static/logo-light.svg\"}],\"targetExecutor\":\"\",\"parameters\":{}}'"}]}},"/update":{"put":{"tags":["CRUD"],"summary":"/Update","description":"Post data requests to the Flow. Executors with `@requests(on=\"/update\")` will respond.","operationId":"_update_update_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaRequestModel"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JinaResponseModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n  --url 'http://localhost/:[57465]/update' \\\n  --header 'content-type: application/json' \\\n  --data '{\"data\":[{\"text\":\"hello, world!\"},{\"uri\":\"https://docs.jina.ai/_static/logo-light.svg\"}],\"targetExecutor\":\"\",\"parameters\":{}}'"}]}}},"components":{"schemas":{"ExceptionProto":{"properties":{"name":{"type":"string","title":"Name","default":""},"args":{"items":{"type":"string"},"type":"array","title":"Args","default":[]},"stacks":{"items":{"type":"string"},"type":"array","title":"Stacks","default":[]},"executor":{"type":"string","title":"Executor","default":""}},"type":"object","title":"ExceptionProto"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HeaderProto":{"properties":{"requestId":{"type":"string","title":"Requestid","default":""},"status":{"$ref":"#/components/schemas/StatusProto"},"execEndpoint":{"type":"string","title":"Execendpoint","default":""},"targetExecutor":{"type":"string","title":"Targetexecutor","default":""},"timeout":{"type":"integer","title":"Timeout","default":0}},"type":"object","title":"HeaderProto"},"JinaEndpointRequestModel":{"properties":{"data":{"anyOf":[{"items":{"$ref":"#/components/schemas/PydanticDocument"},"type":"array"},{"additionalProperties":{"items":{"$ref":"#/components/schemas/PydanticDocument"},"type":"array"},"type":"object"}],"title":"Data","description":"Data to send, a list of dict/string/bytes that can be converted into a list of `Document` objects","example":[{"text":"hello, world!"},{"uri":"https://docs.jina.ai/_static/logo-light.svg"}]},"targetExecutor":{"type":"string","title":"Targetexecutor","description":"A regex string representing the specific pods/deployments targeted by the request.","example":""},"parameters":{"type":"object","title":"Parameters","description":"A dictionary of parameters to be sent to the executor.","example":{}},"execEndpoint":{"type":"string","title":"Execendpoint","description":"The endpoint string, by convention starts with `/`. If you specify it as `/foo`, then all executors bind with `@requests(on=\"/foo\")` will receive the request.","default":"/","example":"/"}},"type":"object","title":"JinaEndpointRequestModel","description":"Jina HTTP request model that allows customized endpoint."},"JinaInfoModel":{"properties":{"jina":{"type":"object","title":"Jina"},"envs":{"type":"object","title":"Envs"}},"type":"object","required":["jina","envs"],"title":"JinaInfoModel","description":"Pydantic BaseModel for Jina status, used as the response model in REST app."},"JinaRequestModel":{"properties":{"data":{"anyOf":[{"items":{"$ref":"#/components/schemas/PydanticDocument"},"type":"array"},{"additionalProperties":{"items":{"$ref":"#/components/schemas/PydanticDocument"},"type":"array"},"type":"object"}],"title":"Data","description":"Data to send, a list of dict/string/bytes that can be converted into a list of `Document` objects","example":[{"text":"hello, world!"},{"uri":"https://docs.jina.ai/_static/logo-light.svg"}]},"targetExecutor":{"type":"string","title":"Targetexecutor","description":"A regex string representing the specific pods/deployments targeted by the request.","example":""},"parameters":{"type":"object","title":"Parameters","description":"A dictionary of parameters to be sent to the executor.","example":{}}},"type":"object","title":"JinaRequestModel","description":"Jina HTTP request model."},"JinaResponseModel":{"properties":{"header":{"$ref":"#/components/schemas/HeaderProto"},"parameters":{"type":"object","title":"Parameters"},"routes":{"items":{"$ref":"#/components/schemas/RouteProto"},"type":"array","title":"Routes"},"data":{"items":{"$ref":"#/components/schemas/PydanticDocument"},"type":"array","title":"Data"}},"type":"object","title":"JinaResponseModel","description":"Jina HTTP Response model. Only `request_id` and `data` are preserved."},"PydanticDocument":{"properties":{"id":{"type":"string","title":"Id"},"parent_id":{"type":"string","title":"Parent Id"},"granularity":{"type":"integer","title":"Granularity"},"adjacency":{"type":"integer","title":"Adjacency"},"blob":{"type":"string","title":"Blob"},"tensor":{"title":"Tensor"},"mime_type":{"type":"string","title":"Mime Type"},"text":{"type":"string","title":"Text"},"weight":{"type":"number","title":"Weight"},"uri":{"type":"string","title":"Uri"},"tags":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"},{"items":{},"type":"array"},{"type":"object"},{"items":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"},{"items":{},"type":"array"},{"type":"object"}]},"type":"array"},{"additionalProperties":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"},{"items":{},"type":"array"},{"type":"object"}]},"type":"object"}]},"type":"object","title":"Tags"},"offset":{"type":"number","title":"Offset"},"location":{"items":{"type":"number"},"type":"array","title":"Location"},"embedding":{"title":"Embedding"},"modality":{"type":"string","title":"Modality"},"evaluations":{"additionalProperties":{"$ref":"#/components/schemas/_NamedScore"},"type":"object","title":"Evaluations"},"scores":{"additionalProperties":{"$ref":"#/components/schemas/_NamedScore"},"type":"object","title":"Scores"},"chunks":{"items":{"$ref":"#/components/schemas/PydanticDocument"},"type":"array","title":"Chunks"},"matches":{"items":{"$ref":"#/components/schemas/PydanticDocument"},"type":"array","title":"Matches"}},"type":"object","title":"PydanticDocument"},"RouteProto":{"properties":{"executor":{"type":"string","title":"Executor","default":""},"startTime":{"type":"string","format":"date-time","title":"Starttime"},"endTime":{"type":"string","format":"date-time","title":"Endtime"},"status":{"$ref":"#/components/schemas/StatusProto"}},"type":"object","title":"RouteProto"},"StatusCode":{"enum":[0,1],"title":"StatusCode","description":"An enumeration."},"StatusProto":{"properties":{"code":{"allOf":[{"$ref":"#/components/schemas/StatusCode"}],"default":0},"description":{"type":"string","title":"Description","default":""},"exception":{"$ref":"#/components/schemas/ExceptionProto"}},"type":"object","title":"StatusProto"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"_NamedScore":{"properties":{"value":{"type":"number","title":"Value"},"op_name":{"type":"string","title":"Op Name"},"description":{"type":"string","title":"Description"},"ref_id":{"type":"string","title":"Ref Id"}},"type":"object","title":"_NamedScore"}}},"tags":[{"name":"Debug","description":"Debugging interface. In production, you should hide them by setting `--no-debug-endpoints` in `Flow`/`Gateway`."},{"name":"CRUD","description":"CRUD interface. If your service does not implement those interfaces, you can should hide them by setting `--no-crud-endpoints` in `Flow`/`Gateway`."}],"servers":[{"url":"http://localhost:[57465]","description":"Local Jina gateway"}]}},"searchIndex":{"store":["tag/Debug","operation/_status_status_get","tag/CRUD","operation/_index_index_post","operation/_search_search_post","operation/_delete_delete_delete","operation/_update_update_put","operation/_flow_health_dry_run_get","operation/post_post_post"],"index":{"version":"2.3.8","fields":["title","description"],"fieldVectors":[["title/0",[0,1.809]],["description/0",[0,1.574,1,1.574,2,2.155,3,1.574,4,1.574,5,2.155,6,1.574]],["title/1",[7,1.241,8,0.715,9,0.535]],["description/1",[7,1.228,8,1.009,9,0.53,10,1.228,11,1.681,12,1.681,13,1.681,14,1.681,15,1.326,16,0.93,17,0.93]],["title/2",[18,1.809]],["description/2",[1,1.9,3,1.38,4,1.38,6,1.38,9,0.595,18,1.38,19,1.888,20,1.888,21,1.888]],["title/3",[22,2.476]],["description/3",[23,0.489,24,0.679,25,0.679,26,0.327,27,0.907,28,2.155,29,0.907]],["title/4",[30,2.476]],["description/4",[23,0.489,24,0.679,25,0.679,26,0.327,27,0.907,29,0.907,31,2.155]],["title/5",[32,2.476]],["description/5",[23,0.489,24,0.679,25,0.679,26,0.327,27,0.907,29,0.907,33,2.155]],["title/6",[34,2.476]],["description/6",[23,0.489,24,0.679,25,0.679,26,0.327,27,0.907,29,0.907,35,2.155]],["title/7",[8,0.317,9,0.237,26,0.193,36,0.753,37,0.753,38,0.753,39,0.753,40,0.55,41,0.753,42,0.753]],["description/7",[9,0.649,15,1.525,16,1.139,17,1.139,26,0.312,40,1.504,43,2.058]],["title/8",[23,0.562]],["description/8",[8,0.518,10,0.899,15,1.651,16,1.051,17,0.681,23,0.279,24,0.388,25,0.388,26,0.187,44,1.23,45,1.23,46,1.23,47,1.9,48,1.23,49,1.23,50,1.23]]],"invertedIndex":[["",{"_index":15,"title":{},"description":{"1":{},"7":{},"8":{}}}],["command",{"_index":13,"title":{},"description":{"1":{}}}],["complet",{"_index":40,"title":{"7":{}},"description":{"7":{}}}],["connect",{"_index":42,"title":{"7":{}},"description":{}}],["crud",{"_index":18,"title":{"2":{}},"description":{"2":{}}}],["dar101",{"_index":50,"title":{},"description":{"8":{}}}],["dar201",{"_index":17,"title":{},"description":{"1":{},"7":{},"8":{}}}],["data",{"_index":24,"title":{},"description":{"3":{},"4":{},"5":{},"6":{},"8":{}}}],["debug",{"_index":0,"title":{"0":{}},"description":{"0":{}}}],["delet",{"_index":32,"title":{"5":{}},"description":{}}],["documentarray",{"_index":39,"title":{"7":{}},"description":{}}],["empti",{"_index":38,"title":{"7":{}},"description":{}}],["endpoint",{"_index":44,"title":{},"description":{"8":{}}}],["equival",{"_index":10,"title":{},"description":{"1":{},"8":{}}}],["executor",{"_index":27,"title":{},"description":{"3":{},"4":{},"5":{},"6":{}}}],["f",{"_index":47,"title":{},"description":{"8":{}}}],["f.post(endpoint",{"_index":49,"title":{},"description":{"8":{}}}],["flow",{"_index":26,"title":{"7":{}},"description":{"3":{},"4":{},"5":{},"6":{},"7":{},"8":{}}}],["flow().add",{"_index":48,"title":{},"description":{"8":{}}}],["flow`/`gateway",{"_index":6,"title":{},"description":{"0":{},"2":{}}}],["follow",{"_index":45,"title":{},"description":{"8":{}}}],["health",{"_index":43,"title":{},"description":{"7":{}}}],["hide",{"_index":3,"title":{},"description":{"0":{},"2":{}}}],["implement",{"_index":19,"title":{},"description":{"2":{}}}],["import",{"_index":46,"title":{},"description":{"8":{}}}],["index",{"_index":22,"title":{"3":{}},"description":{}}],["interfac",{"_index":1,"title":{},"description":{"0":{},"2":{}}}],["jina",{"_index":8,"title":{"1":{},"7":{}},"description":{"1":{},"8":{}}}],["line",{"_index":14,"title":{},"description":{"1":{}}}],["no-crud-endpoint",{"_index":21,"title":{},"description":{"2":{}}}],["no-debug-endpoint",{"_index":5,"title":{},"description":{"0":{}}}],["noqa",{"_index":16,"title":{},"description":{"1":{},"7":{},"8":{}}}],["post",{"_index":23,"title":{"8":{}},"description":{"3":{},"4":{},"5":{},"6":{},"8":{}}}],["product",{"_index":2,"title":{},"description":{"0":{}}}],["readi",{"_index":36,"title":{"7":{}},"description":{}}],["request",{"_index":25,"title":{},"description":{"3":{},"4":{},"5":{},"6":{},"8":{}}}],["requests(on=\"/delet",{"_index":33,"title":{},"description":{"5":{}}}],["requests(on=\"/index",{"_index":28,"title":{},"description":{"3":{}}}],["requests(on=\"/search",{"_index":31,"title":{},"description":{"4":{}}}],["requests(on=\"/upd",{"_index":35,"title":{},"description":{"6":{}}}],["respond",{"_index":29,"title":{},"description":{"3":{},"4":{},"5":{},"6":{}}}],["run",{"_index":11,"title":{},"description":{"1":{}}}],["search",{"_index":30,"title":{"4":{}},"description":{}}],["send",{"_index":37,"title":{"7":{}},"description":{}}],["servic",{"_index":9,"title":{"1":{},"7":{}},"description":{"1":{},"2":{},"7":{}}}],["set",{"_index":4,"title":{},"description":{"0":{},"2":{}}}],["statu",{"_index":7,"title":{"1":{}},"description":{"1":{}}}],["those",{"_index":20,"title":{},"description":{"2":{}}}],["updat",{"_index":34,"title":{"6":{}},"description":{}}],["valid",{"_index":41,"title":{"7":{}},"description":{}}],["vf",{"_index":12,"title":{},"description":{"1":{}}}]],"pipeline":[]}},"options":{}};
 
     var container = document.getElementById('redoc');
     Redoc.hydrate(__redoc_state, container);;
diff --git a/rest/master.json b/rest/master.json
index 8d87a3b7..f7ac7b04 100644
--- a/rest/master.json
+++ b/rest/master.json
@@ -1 +1 @@
-{"openapi": "3.1.0", "info": {"title": "My Jina Service", "description": "This is my awesome service. You can set `title` and `description` in your `Flow` or `Gateway` to customize the title and description.", "version": "3.25.2", "x-logo": {"url": "https://schemas.jina.ai/logo/logo-product/jina-core/horizontal-layout/colored/Product%20logo_Core_vertical_colorful%402x-margin.png"}}, "paths": {"/dry_run": {"get": {"summary": "Get the readiness of Jina Flow service, sends an empty DocumentArray to the complete Flow to validate connectivity", "description": "Get the health of the complete Flow service.\n.. # noqa: DAR201", "operationId": "_flow_health_dry_run_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StatusProto"}}}}}}}, "/status": {"get": {"tags": ["Debug"], "summary": "Get the status of Jina service", "description": "Get the status of this Jina service.\n\nThis is equivalent to running `jina -vf` from command line.\n\n.. # noqa: DAR201", "operationId": "_status_status_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaInfoModel"}}}}}}}, "/post": {"post": {"summary": "Post", "description": "Post a data request to some endpoint.\n\nThis is equivalent to the following:\n\n    from jina import Flow\n\n    f = Flow().add(...)\n\n    with f:\n        f.post(endpoint, ...)\n\n.. # noqa: DAR201\n.. # noqa: DAR101", "operationId": "post_post_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaEndpointRequestModel"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaResponseModel"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/index": {"post": {"tags": ["CRUD"], "summary": "/Index", "description": "Post data requests to the Flow. Executors with `@requests(on=\"/index\")` will respond.", "operationId": "_index_index_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaRequestModel"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaResponseModel"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/search": {"post": {"tags": ["CRUD"], "summary": "/Search", "description": "Post data requests to the Flow. Executors with `@requests(on=\"/search\")` will respond.", "operationId": "_search_search_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaRequestModel"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaResponseModel"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/delete": {"delete": {"tags": ["CRUD"], "summary": "/Delete", "description": "Post data requests to the Flow. Executors with `@requests(on=\"/delete\")` will respond.", "operationId": "_delete_delete_delete", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaRequestModel"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaResponseModel"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/update": {"put": {"tags": ["CRUD"], "summary": "/Update", "description": "Post data requests to the Flow. Executors with `@requests(on=\"/update\")` will respond.", "operationId": "_update_update_put", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaRequestModel"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaResponseModel"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}}, "components": {"schemas": {"ExceptionProto": {"properties": {"name": {"type": "string", "title": "Name", "default": ""}, "args": {"items": {"type": "string"}, "type": "array", "title": "Args", "default": []}, "stacks": {"items": {"type": "string"}, "type": "array", "title": "Stacks", "default": []}, "executor": {"type": "string", "title": "Executor", "default": ""}}, "type": "object", "title": "ExceptionProto"}, "HTTPValidationError": {"properties": {"detail": {"items": {"$ref": "#/components/schemas/ValidationError"}, "type": "array", "title": "Detail"}}, "type": "object", "title": "HTTPValidationError"}, "HeaderProto": {"properties": {"requestId": {"type": "string", "title": "Requestid", "default": ""}, "status": {"$ref": "#/components/schemas/StatusProto"}, "execEndpoint": {"type": "string", "title": "Execendpoint", "default": ""}, "targetExecutor": {"type": "string", "title": "Targetexecutor", "default": ""}, "timeout": {"type": "integer", "title": "Timeout", "default": 0}}, "type": "object", "title": "HeaderProto"}, "JinaEndpointRequestModel": {"properties": {"data": {"anyOf": [{"items": {"$ref": "#/components/schemas/PydanticDocument"}, "type": "array"}, {"additionalProperties": {"items": {"$ref": "#/components/schemas/PydanticDocument"}, "type": "array"}, "type": "object"}], "title": "Data", "description": "Data to send, a list of dict/string/bytes that can be converted into a list of `Document` objects", "example": [{"text": "hello, world!"}, {"uri": "https://docs.jina.ai/_static/logo-light.svg"}]}, "targetExecutor": {"type": "string", "title": "Targetexecutor", "description": "A regex string representing the specific pods/deployments targeted by the request.", "example": ""}, "parameters": {"type": "object", "title": "Parameters", "description": "A dictionary of parameters to be sent to the executor.", "example": {}}, "execEndpoint": {"type": "string", "title": "Execendpoint", "description": "The endpoint string, by convention starts with `/`. If you specify it as `/foo`, then all executors bind with `@requests(on=\"/foo\")` will receive the request.", "default": "/", "example": "/"}}, "type": "object", "title": "JinaEndpointRequestModel", "description": "Jina HTTP request model that allows customized endpoint."}, "JinaInfoModel": {"properties": {"jina": {"type": "object", "title": "Jina"}, "envs": {"type": "object", "title": "Envs"}}, "type": "object", "required": ["jina", "envs"], "title": "JinaInfoModel", "description": "Pydantic BaseModel for Jina status, used as the response model in REST app."}, "JinaRequestModel": {"properties": {"data": {"anyOf": [{"items": {"$ref": "#/components/schemas/PydanticDocument"}, "type": "array"}, {"additionalProperties": {"items": {"$ref": "#/components/schemas/PydanticDocument"}, "type": "array"}, "type": "object"}], "title": "Data", "description": "Data to send, a list of dict/string/bytes that can be converted into a list of `Document` objects", "example": [{"text": "hello, world!"}, {"uri": "https://docs.jina.ai/_static/logo-light.svg"}]}, "targetExecutor": {"type": "string", "title": "Targetexecutor", "description": "A regex string representing the specific pods/deployments targeted by the request.", "example": ""}, "parameters": {"type": "object", "title": "Parameters", "description": "A dictionary of parameters to be sent to the executor.", "example": {}}}, "type": "object", "title": "JinaRequestModel", "description": "Jina HTTP request model."}, "JinaResponseModel": {"properties": {"header": {"$ref": "#/components/schemas/HeaderProto"}, "parameters": {"type": "object", "title": "Parameters"}, "routes": {"items": {"$ref": "#/components/schemas/RouteProto"}, "type": "array", "title": "Routes"}, "data": {"items": {"$ref": "#/components/schemas/PydanticDocument"}, "type": "array", "title": "Data"}}, "type": "object", "title": "JinaResponseModel", "description": "Jina HTTP Response model. Only `request_id` and `data` are preserved."}, "PydanticDocument": {"properties": {"id": {"type": "string", "title": "Id"}, "parent_id": {"type": "string", "title": "Parent Id"}, "granularity": {"type": "integer", "title": "Granularity"}, "adjacency": {"type": "integer", "title": "Adjacency"}, "blob": {"type": "string", "title": "Blob"}, "tensor": {"title": "Tensor"}, "mime_type": {"type": "string", "title": "Mime Type"}, "text": {"type": "string", "title": "Text"}, "weight": {"type": "number", "title": "Weight"}, "uri": {"type": "string", "title": "Uri"}, "tags": {"additionalProperties": {"anyOf": [{"type": "boolean"}, {"type": "number"}, {"type": "string"}, {"items": {}, "type": "array"}, {"type": "object"}, {"items": {"anyOf": [{"type": "boolean"}, {"type": "number"}, {"type": "string"}, {"items": {}, "type": "array"}, {"type": "object"}]}, "type": "array"}, {"additionalProperties": {"anyOf": [{"type": "boolean"}, {"type": "number"}, {"type": "string"}, {"items": {}, "type": "array"}, {"type": "object"}]}, "type": "object"}]}, "type": "object", "title": "Tags"}, "offset": {"type": "number", "title": "Offset"}, "location": {"items": {"type": "number"}, "type": "array", "title": "Location"}, "embedding": {"title": "Embedding"}, "modality": {"type": "string", "title": "Modality"}, "evaluations": {"additionalProperties": {"$ref": "#/components/schemas/_NamedScore"}, "type": "object", "title": "Evaluations"}, "scores": {"additionalProperties": {"$ref": "#/components/schemas/_NamedScore"}, "type": "object", "title": "Scores"}, "chunks": {"items": {"$ref": "#/components/schemas/PydanticDocument"}, "type": "array", "title": "Chunks"}, "matches": {"items": {"$ref": "#/components/schemas/PydanticDocument"}, "type": "array", "title": "Matches"}}, "type": "object", "title": "PydanticDocument"}, "RouteProto": {"properties": {"executor": {"type": "string", "title": "Executor", "default": ""}, "startTime": {"type": "string", "format": "date-time", "title": "Starttime"}, "endTime": {"type": "string", "format": "date-time", "title": "Endtime"}, "status": {"$ref": "#/components/schemas/StatusProto"}}, "type": "object", "title": "RouteProto"}, "StatusCode": {"enum": [0, 1], "title": "StatusCode", "description": "An enumeration."}, "StatusProto": {"properties": {"code": {"allOf": [{"$ref": "#/components/schemas/StatusCode"}], "default": 0}, "description": {"type": "string", "title": "Description", "default": ""}, "exception": {"$ref": "#/components/schemas/ExceptionProto"}}, "type": "object", "title": "StatusProto"}, "ValidationError": {"properties": {"loc": {"items": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "type": "array", "title": "Location"}, "msg": {"type": "string", "title": "Message"}, "type": {"type": "string", "title": "Error Type"}}, "type": "object", "required": ["loc", "msg", "type"], "title": "ValidationError"}, "_NamedScore": {"properties": {"value": {"type": "number", "title": "Value"}, "op_name": {"type": "string", "title": "Op Name"}, "description": {"type": "string", "title": "Description"}, "ref_id": {"type": "string", "title": "Ref Id"}}, "type": "object", "title": "_NamedScore"}}}, "tags": [{"name": "Debug", "description": "Debugging interface. In production, you should hide them by setting `--no-debug-endpoints` in `Flow`/`Gateway`."}, {"name": "CRUD", "description": "CRUD interface. If your service does not implement those interfaces, you can should hide them by setting `--no-crud-endpoints` in `Flow`/`Gateway`."}], "servers": [{"url": "http://localhost:[62470]", "description": "Local Jina gateway"}]}
\ No newline at end of file
+{"openapi": "3.1.0", "info": {"title": "My Jina Service", "description": "This is my awesome service. You can set `title` and `description` in your `Flow` or `Gateway` to customize the title and description.", "version": "3.25.3", "x-logo": {"url": "https://schemas.jina.ai/logo/logo-product/jina-core/horizontal-layout/colored/Product%20logo_Core_vertical_colorful%402x-margin.png"}}, "paths": {"/dry_run": {"get": {"summary": "Get the readiness of Jina Flow service, sends an empty DocumentArray to the complete Flow to validate connectivity", "description": "Get the health of the complete Flow service.\n.. # noqa: DAR201", "operationId": "_flow_health_dry_run_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StatusProto"}}}}}}}, "/status": {"get": {"tags": ["Debug"], "summary": "Get the status of Jina service", "description": "Get the status of this Jina service.\n\nThis is equivalent to running `jina -vf` from command line.\n\n.. # noqa: DAR201", "operationId": "_status_status_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaInfoModel"}}}}}}}, "/post": {"post": {"summary": "Post", "description": "Post a data request to some endpoint.\n\nThis is equivalent to the following:\n\n    from jina import Flow\n\n    f = Flow().add(...)\n\n    with f:\n        f.post(endpoint, ...)\n\n.. # noqa: DAR201\n.. # noqa: DAR101", "operationId": "post_post_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaEndpointRequestModel"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaResponseModel"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/index": {"post": {"tags": ["CRUD"], "summary": "/Index", "description": "Post data requests to the Flow. Executors with `@requests(on=\"/index\")` will respond.", "operationId": "_index_index_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaRequestModel"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaResponseModel"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/search": {"post": {"tags": ["CRUD"], "summary": "/Search", "description": "Post data requests to the Flow. Executors with `@requests(on=\"/search\")` will respond.", "operationId": "_search_search_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaRequestModel"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaResponseModel"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/delete": {"delete": {"tags": ["CRUD"], "summary": "/Delete", "description": "Post data requests to the Flow. Executors with `@requests(on=\"/delete\")` will respond.", "operationId": "_delete_delete_delete", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaRequestModel"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaResponseModel"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/update": {"put": {"tags": ["CRUD"], "summary": "/Update", "description": "Post data requests to the Flow. Executors with `@requests(on=\"/update\")` will respond.", "operationId": "_update_update_put", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaRequestModel"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JinaResponseModel"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}}, "components": {"schemas": {"ExceptionProto": {"properties": {"name": {"type": "string", "title": "Name", "default": ""}, "args": {"items": {"type": "string"}, "type": "array", "title": "Args", "default": []}, "stacks": {"items": {"type": "string"}, "type": "array", "title": "Stacks", "default": []}, "executor": {"type": "string", "title": "Executor", "default": ""}}, "type": "object", "title": "ExceptionProto"}, "HTTPValidationError": {"properties": {"detail": {"items": {"$ref": "#/components/schemas/ValidationError"}, "type": "array", "title": "Detail"}}, "type": "object", "title": "HTTPValidationError"}, "HeaderProto": {"properties": {"requestId": {"type": "string", "title": "Requestid", "default": ""}, "status": {"$ref": "#/components/schemas/StatusProto"}, "execEndpoint": {"type": "string", "title": "Execendpoint", "default": ""}, "targetExecutor": {"type": "string", "title": "Targetexecutor", "default": ""}, "timeout": {"type": "integer", "title": "Timeout", "default": 0}}, "type": "object", "title": "HeaderProto"}, "JinaEndpointRequestModel": {"properties": {"data": {"anyOf": [{"items": {"$ref": "#/components/schemas/PydanticDocument"}, "type": "array"}, {"additionalProperties": {"items": {"$ref": "#/components/schemas/PydanticDocument"}, "type": "array"}, "type": "object"}], "title": "Data", "description": "Data to send, a list of dict/string/bytes that can be converted into a list of `Document` objects", "example": [{"text": "hello, world!"}, {"uri": "https://docs.jina.ai/_static/logo-light.svg"}]}, "targetExecutor": {"type": "string", "title": "Targetexecutor", "description": "A regex string representing the specific pods/deployments targeted by the request.", "example": ""}, "parameters": {"type": "object", "title": "Parameters", "description": "A dictionary of parameters to be sent to the executor.", "example": {}}, "execEndpoint": {"type": "string", "title": "Execendpoint", "description": "The endpoint string, by convention starts with `/`. If you specify it as `/foo`, then all executors bind with `@requests(on=\"/foo\")` will receive the request.", "default": "/", "example": "/"}}, "type": "object", "title": "JinaEndpointRequestModel", "description": "Jina HTTP request model that allows customized endpoint."}, "JinaInfoModel": {"properties": {"jina": {"type": "object", "title": "Jina"}, "envs": {"type": "object", "title": "Envs"}}, "type": "object", "required": ["jina", "envs"], "title": "JinaInfoModel", "description": "Pydantic BaseModel for Jina status, used as the response model in REST app."}, "JinaRequestModel": {"properties": {"data": {"anyOf": [{"items": {"$ref": "#/components/schemas/PydanticDocument"}, "type": "array"}, {"additionalProperties": {"items": {"$ref": "#/components/schemas/PydanticDocument"}, "type": "array"}, "type": "object"}], "title": "Data", "description": "Data to send, a list of dict/string/bytes that can be converted into a list of `Document` objects", "example": [{"text": "hello, world!"}, {"uri": "https://docs.jina.ai/_static/logo-light.svg"}]}, "targetExecutor": {"type": "string", "title": "Targetexecutor", "description": "A regex string representing the specific pods/deployments targeted by the request.", "example": ""}, "parameters": {"type": "object", "title": "Parameters", "description": "A dictionary of parameters to be sent to the executor.", "example": {}}}, "type": "object", "title": "JinaRequestModel", "description": "Jina HTTP request model."}, "JinaResponseModel": {"properties": {"header": {"$ref": "#/components/schemas/HeaderProto"}, "parameters": {"type": "object", "title": "Parameters"}, "routes": {"items": {"$ref": "#/components/schemas/RouteProto"}, "type": "array", "title": "Routes"}, "data": {"items": {"$ref": "#/components/schemas/PydanticDocument"}, "type": "array", "title": "Data"}}, "type": "object", "title": "JinaResponseModel", "description": "Jina HTTP Response model. Only `request_id` and `data` are preserved."}, "PydanticDocument": {"properties": {"id": {"type": "string", "title": "Id"}, "parent_id": {"type": "string", "title": "Parent Id"}, "granularity": {"type": "integer", "title": "Granularity"}, "adjacency": {"type": "integer", "title": "Adjacency"}, "blob": {"type": "string", "title": "Blob"}, "tensor": {"title": "Tensor"}, "mime_type": {"type": "string", "title": "Mime Type"}, "text": {"type": "string", "title": "Text"}, "weight": {"type": "number", "title": "Weight"}, "uri": {"type": "string", "title": "Uri"}, "tags": {"additionalProperties": {"anyOf": [{"type": "boolean"}, {"type": "number"}, {"type": "string"}, {"items": {}, "type": "array"}, {"type": "object"}, {"items": {"anyOf": [{"type": "boolean"}, {"type": "number"}, {"type": "string"}, {"items": {}, "type": "array"}, {"type": "object"}]}, "type": "array"}, {"additionalProperties": {"anyOf": [{"type": "boolean"}, {"type": "number"}, {"type": "string"}, {"items": {}, "type": "array"}, {"type": "object"}]}, "type": "object"}]}, "type": "object", "title": "Tags"}, "offset": {"type": "number", "title": "Offset"}, "location": {"items": {"type": "number"}, "type": "array", "title": "Location"}, "embedding": {"title": "Embedding"}, "modality": {"type": "string", "title": "Modality"}, "evaluations": {"additionalProperties": {"$ref": "#/components/schemas/_NamedScore"}, "type": "object", "title": "Evaluations"}, "scores": {"additionalProperties": {"$ref": "#/components/schemas/_NamedScore"}, "type": "object", "title": "Scores"}, "chunks": {"items": {"$ref": "#/components/schemas/PydanticDocument"}, "type": "array", "title": "Chunks"}, "matches": {"items": {"$ref": "#/components/schemas/PydanticDocument"}, "type": "array", "title": "Matches"}}, "type": "object", "title": "PydanticDocument"}, "RouteProto": {"properties": {"executor": {"type": "string", "title": "Executor", "default": ""}, "startTime": {"type": "string", "format": "date-time", "title": "Starttime"}, "endTime": {"type": "string", "format": "date-time", "title": "Endtime"}, "status": {"$ref": "#/components/schemas/StatusProto"}}, "type": "object", "title": "RouteProto"}, "StatusCode": {"enum": [0, 1], "title": "StatusCode", "description": "An enumeration."}, "StatusProto": {"properties": {"code": {"allOf": [{"$ref": "#/components/schemas/StatusCode"}], "default": 0}, "description": {"type": "string", "title": "Description", "default": ""}, "exception": {"$ref": "#/components/schemas/ExceptionProto"}}, "type": "object", "title": "StatusProto"}, "ValidationError": {"properties": {"loc": {"items": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "type": "array", "title": "Location"}, "msg": {"type": "string", "title": "Message"}, "type": {"type": "string", "title": "Error Type"}}, "type": "object", "required": ["loc", "msg", "type"], "title": "ValidationError"}, "_NamedScore": {"properties": {"value": {"type": "number", "title": "Value"}, "op_name": {"type": "string", "title": "Op Name"}, "description": {"type": "string", "title": "Description"}, "ref_id": {"type": "string", "title": "Ref Id"}}, "type": "object", "title": "_NamedScore"}}}, "tags": [{"name": "Debug", "description": "Debugging interface. In production, you should hide them by setting `--no-debug-endpoints` in `Flow`/`Gateway`."}, {"name": "CRUD", "description": "CRUD interface. If your service does not implement those interfaces, you can should hide them by setting `--no-crud-endpoints` in `Flow`/`Gateway`."}], "servers": [{"url": "http://localhost:[57465]", "description": "Local Jina gateway"}]}
\ No newline at end of file
diff --git a/schemas/3.25.3-master.json b/schemas/3.25.3-master.json
new file mode 100644
index 00000000..c1d08cfa
--- /dev/null
+++ b/schemas/3.25.3-master.json
@@ -0,0 +1 @@
+{"$id": "https://schemas.jina.ai/schemas/3.25.3.json", "$schema": "http://json-schema.org/draft-07/schema#", "definitions": {"Jina::Deployment": {"additionalProperties": false, "description": "Define the config of a Deployment.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"allow_concurrent": {"default": false, "description": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "type": "boolean"}, "compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "connection_list": {"default": null, "description": "dictionary JSON with a list of connections to configure", "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "disable_auto_volume": {"default": false, "description": "Do not automatically mount a volume for dockerized Executors.", "type": "boolean"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "exit_on_exceptions": {"default": [], "description": "List of exceptions that will cause the Executor to shut down.", "type": "array"}, "external": {"default": false, "description": "The Deployment will be considered an external Deployment that has been started independently from the Flow.This Deployment will not be context managed by the Flow.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "force_update": {"default": false, "description": "If set, always pull the latest Hub Executor bundle even it exists on local", "type": "boolean"}, "gpus": {"default": null, "description": "This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_metadata": {"default": null, "description": "The metadata to be passed to the gRPC request.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": ["0.0.0.0"], "description": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "type": "array"}, "install_requirements": {"default": false, "description": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "type": "boolean"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "method": {"default": "add", "description": "The method to use when appending the Deployment to the Flow", "enum": ["add", "needs", "inspect", "needs_all", "gather_inspect"], "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "executor", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "native": {"default": false, "description": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "type": "boolean"}, "needs": {"description": "The name of the Deployment(s) that this Deployment receives data from. One can also use `gateway` to indicate the connection with the gateway.\nThis is useful to create parallelization. By default the Flow always works sequentially following the defined order of the Deployments.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "type": ["array", "string"]}, "no_reduce": {"default": false, "description": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "type": "boolean"}, "output_array_type": {"default": null, "description": "The type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.", "type": "string"}, "polling": {"default": "ANY", "description": "The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}", "type": "string"}, "port": {"default": [56073], "description": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "type": "number"}, "port_monitoring": {"default": [64544], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefer_platform": {"default": null, "description": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "type": "string"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "raft_configuration": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "type": "object"}, "reload": {"default": false, "description": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas in the deployment", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "WorkerRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "shards": {"default": 1, "description": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "type": "number"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "tls": {"default": false, "description": "If set, connect to deployment using tls encryption", "type": "boolean"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": "BaseExecutor", "description": "The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_after": {"default": null, "description": "The executor attached after the Pods described by --uses, typically used for receiving from all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "type": "string"}, "uses_after_address": {"default": null, "description": "The address of the uses-before runtime", "type": "string"}, "uses_before": {"default": null, "description": "The executor attached before the Pods described by --uses, typically before sending to all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "type": "string"}, "uses_before_address": {"default": null, "description": "The address of the uses-before runtime", "type": "string"}, "uses_dynamic_batching": {"default": null, "description": "Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`", "type": "object"}, "uses_metas": {"default": null, "description": "Dictionary of keyword arguments that will override the `metas` configuration in `uses`", "type": "object"}, "uses_requests": {"default": null, "description": "Dictionary of keyword arguments that will override the `requests` configuration in `uses`", "type": "object"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "volumes": {"default": null, "description": "The path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.", "type": "array"}, "when": {"default": null, "description": "The condition that the documents need to fulfill before reaching the Executor.The condition can be defined in the form of a `DocArray query condition <https://docarray.jina.ai/fundamentals/documentarray/find/#query-by-conditions>`", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}, "Jina::Executors::All": {"minItems": 1, "type": "array"}, "Jina::Flow": {"additionalProperties": false, "properties": {"executors": {"description": "Define the steps in the Flow.\nA Deployment is a container and interface for one or multiple Pods that have the same properties.", "items": {"$ref": "#/definitions/Jina::Deployment"}, "minItems": 1, "type": "array"}, "gateway": {"additionalProperties": false, "description": "The config of a Jina Gateway. A Gateway is a pod that encapsulates Flow logic and exposes services to the internet.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "deployments_addresses": {"default": "{}", "description": "JSON dictionary with the input addresses of each Deployment", "type": "string"}, "deployments_metadata": {"default": "{}", "description": "JSON dictionary with the request metadata for each Deployment", "type": "string"}, "deployments_no_reduce": {"default": "[]", "description": "list JSON disabling the built-in merging mechanism for each Deployment listed", "type": "string"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "expose_endpoints": {"default": null, "description": "A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.", "type": "string"}, "expose_graphql_endpoint": {"default": false, "description": "If set, /graphql endpoint is added to HTTP interface.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "graph_conditions": {"default": "{}", "description": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "type": "string"}, "graph_description": {"default": "{}", "description": "Routing graph for the gateway", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": "0.0.0.0", "description": "The host address of the runtime, by default it is 0.0.0.0.", "type": "string"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "gateway", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "no_crud_endpoints": {"default": false, "description": "If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.", "type": "boolean"}, "no_debug_endpoints": {"default": false, "description": "If set, `/status` `/post` endpoints are removed from HTTP interface.", "type": "boolean"}, "port": {"default": [53382], "description": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "type": "number"}, "port_monitoring": {"default": [58311], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefetch": {"default": 1000, "description": "Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "type": "number"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "proxy": {"default": false, "description": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "type": "boolean"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "reload": {"default": false, "description": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "GatewayRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": null, "description": "The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}, "jtype": {"default": "Flow", "description": "The type of Jina object (Flow, Executor).\nA Flow is made up of several sub-tasks, and it manages the states and context of these sub-tasks.\nThe input and output data of Flows are Documents.", "enum": ["Flow"], "type": "string"}, "version": {"default": "'1'", "description": "The YAML version of this Flow.", "type": "string"}, "with": {"additionalProperties": false, "description": "The config of Flow, unrecognized config arguments will be applied to all Deployments", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "deployments_addresses": {"default": "{}", "description": "JSON dictionary with the input addresses of each Deployment", "type": "string"}, "deployments_metadata": {"default": "{}", "description": "JSON dictionary with the request metadata for each Deployment", "type": "string"}, "deployments_no_reduce": {"default": "[]", "description": "list JSON disabling the built-in merging mechanism for each Deployment listed", "type": "string"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "expose_endpoints": {"default": null, "description": "A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.", "type": "string"}, "expose_graphql_endpoint": {"default": false, "description": "If set, /graphql endpoint is added to HTTP interface.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "graph_conditions": {"default": "{}", "description": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "type": "string"}, "graph_description": {"default": "{}", "description": "Routing graph for the gateway", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": "0.0.0.0", "description": "The host address of the runtime, by default it is 0.0.0.0.", "type": "string"}, "inspect": {"default": "COLLECT", "description": "The strategy on those inspect deployments in the flow.\n\n    If `REMOVE` is given then all inspect deployments are removed when building the flow.", "enum": ["HANG", "REMOVE", "COLLECT"], "type": "string"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "gateway", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "no_crud_endpoints": {"default": false, "description": "If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.", "type": "boolean"}, "no_debug_endpoints": {"default": false, "description": "If set, `/status` `/post` endpoints are removed from HTTP interface.", "type": "boolean"}, "port": {"default": [50736], "description": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "type": "number"}, "port_monitoring": {"default": [53663], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefetch": {"default": 1000, "description": "Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "type": "number"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "proxy": {"default": false, "description": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "type": "boolean"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "reload": {"default": false, "description": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "GatewayRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "suppress_root_logging": {"default": false, "description": "If set, then no root handlers will be suppressed from logging.", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": null, "description": "The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}}, "required": ["jtype", "executors"], "type": "object"}, "Jina::Gateway": {"additionalProperties": false, "description": "The config of a Jina Gateway. A Gateway is a pod that encapsulates Flow logic and exposes services to the internet.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "deployments_addresses": {"default": "{}", "description": "JSON dictionary with the input addresses of each Deployment", "type": "string"}, "deployments_metadata": {"default": "{}", "description": "JSON dictionary with the request metadata for each Deployment", "type": "string"}, "deployments_no_reduce": {"default": "[]", "description": "list JSON disabling the built-in merging mechanism for each Deployment listed", "type": "string"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "expose_endpoints": {"default": null, "description": "A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.", "type": "string"}, "expose_graphql_endpoint": {"default": false, "description": "If set, /graphql endpoint is added to HTTP interface.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "graph_conditions": {"default": "{}", "description": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "type": "string"}, "graph_description": {"default": "{}", "description": "Routing graph for the gateway", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": "0.0.0.0", "description": "The host address of the runtime, by default it is 0.0.0.0.", "type": "string"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "gateway", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "no_crud_endpoints": {"default": false, "description": "If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.", "type": "boolean"}, "no_debug_endpoints": {"default": false, "description": "If set, `/status` `/post` endpoints are removed from HTTP interface.", "type": "boolean"}, "port": {"default": [53382], "description": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "type": "number"}, "port_monitoring": {"default": [58311], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefetch": {"default": 1000, "description": "Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "type": "number"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "proxy": {"default": false, "description": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "type": "boolean"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "reload": {"default": false, "description": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "GatewayRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": null, "description": "The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}, "Jina::Metas": {"additionalProperties": false, "description": "The meta config of the Executor", "properties": {"description": {"default": null, "description": "The description of this executor. It will be used in automatics docs UI", "type": "string"}, "name": {"default": null, "description": "The name of the executor.", "type": "string"}, "py_modules": {"default": null, "description": "\nThe external python module paths. it is useful when you want to load external python modules\nusing :func:`BaseExecutor.load_config` from a YAML file. If a relative path is given then the root path is set to\nthe path of the current YAML file.\n\nExample of ``py_module`` usage:\n\n1. This is a valid structure and it is RECOMMENDED:\n    - \"my_cust_module\" is a python module\n    - all core logic of your customized executor goes to ``__init__.py``\n    - to import ``foo.py``, you can use relative import, e.g. ``from .foo import bar``\n    - ``helper.py`` needs to be put BEFORE `__init__.py` in YAML ``py_modules``\n\nThis is also the structure given by ``jina hub new`` CLI.\n\n    .. highlight:: text\n    .. code-block:: text\n\n         my_cust_module\n           |- __init__.py\n           |- helper.py\n           |- config.yml\n                |- py_modules\n                       |- helper.py\n                       |- __init__.py\n\n2. This is a valid structure but not recommended:\n    - \"my_cust_module\" is not a python module (lack of __init__.py under the root)\n    - to import ``foo.py``, you must to use ``from jinahub.foo import bar``\n    - ``jinahub`` is a common namespace for all plugin-modules, not changeable.\n    - ``helper.py`` needs to be put BEFORE `my_cust.py` in YAML ``py_modules``\n\n    .. highlight:: text\n    .. code-block:: text\n\n         my_cust_module\n           |- my_cust.py\n           |- helper.py\n           |- config.yml\n                |- py_modules\n                       |- helper.py\n                       |- my_cust.py                \n                ", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "type": "array"}}, "required": [], "type": "object"}}, "description": "The YAML schema of Jina objects (Flow, Executor).", "oneOf": [{"$ref": "#/definitions/Jina::Flow"}], "type": "object"}
\ No newline at end of file
diff --git a/schemas/master b/schemas/master
index 733a9bae..c1d08cfa 100644
--- a/schemas/master
+++ b/schemas/master
@@ -1 +1 @@
-{"$id": "https://schemas.jina.ai/schemas/3.25.2.json", "$schema": "http://json-schema.org/draft-07/schema#", "definitions": {"Jina::Deployment": {"additionalProperties": false, "description": "Define the config of a Deployment.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"allow_concurrent": {"default": false, "description": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "type": "boolean"}, "compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "connection_list": {"default": null, "description": "dictionary JSON with a list of connections to configure", "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "disable_auto_volume": {"default": false, "description": "Do not automatically mount a volume for dockerized Executors.", "type": "boolean"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "exit_on_exceptions": {"default": [], "description": "List of exceptions that will cause the Executor to shut down.", "type": "array"}, "external": {"default": false, "description": "The Deployment will be considered an external Deployment that has been started independently from the Flow.This Deployment will not be context managed by the Flow.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "force_update": {"default": false, "description": "If set, always pull the latest Hub Executor bundle even it exists on local", "type": "boolean"}, "gpus": {"default": null, "description": "This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_metadata": {"default": null, "description": "The metadata to be passed to the gRPC request.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": ["0.0.0.0"], "description": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "type": "array"}, "install_requirements": {"default": false, "description": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "type": "boolean"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "method": {"default": "add", "description": "The method to use when appending the Deployment to the Flow", "enum": ["add", "needs", "inspect", "needs_all", "gather_inspect"], "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "executor", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "native": {"default": false, "description": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "type": "boolean"}, "needs": {"description": "The name of the Deployment(s) that this Deployment receives data from. One can also use `gateway` to indicate the connection with the gateway.\nThis is useful to create parallelization. By default the Flow always works sequentially following the defined order of the Deployments.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "type": ["array", "string"]}, "no_reduce": {"default": false, "description": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "type": "boolean"}, "output_array_type": {"default": null, "description": "The type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.", "type": "string"}, "polling": {"default": "ANY", "description": "The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}", "type": "string"}, "port": {"default": [49529], "description": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "type": "number"}, "port_monitoring": {"default": [64614], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefer_platform": {"default": null, "description": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "type": "string"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "raft_configuration": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "type": "object"}, "reload": {"default": false, "description": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas in the deployment", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "WorkerRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "shards": {"default": 1, "description": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "type": "number"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "tls": {"default": false, "description": "If set, connect to deployment using tls encryption", "type": "boolean"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": "BaseExecutor", "description": "The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_after": {"default": null, "description": "The executor attached after the Pods described by --uses, typically used for receiving from all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "type": "string"}, "uses_after_address": {"default": null, "description": "The address of the uses-before runtime", "type": "string"}, "uses_before": {"default": null, "description": "The executor attached before the Pods described by --uses, typically before sending to all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "type": "string"}, "uses_before_address": {"default": null, "description": "The address of the uses-before runtime", "type": "string"}, "uses_dynamic_batching": {"default": null, "description": "Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`", "type": "object"}, "uses_metas": {"default": null, "description": "Dictionary of keyword arguments that will override the `metas` configuration in `uses`", "type": "object"}, "uses_requests": {"default": null, "description": "Dictionary of keyword arguments that will override the `requests` configuration in `uses`", "type": "object"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "volumes": {"default": null, "description": "The path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.", "type": "array"}, "when": {"default": null, "description": "The condition that the documents need to fulfill before reaching the Executor.The condition can be defined in the form of a `DocArray query condition <https://docarray.jina.ai/fundamentals/documentarray/find/#query-by-conditions>`", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}, "Jina::Executors::All": {"minItems": 1, "type": "array"}, "Jina::Flow": {"additionalProperties": false, "properties": {"executors": {"description": "Define the steps in the Flow.\nA Deployment is a container and interface for one or multiple Pods that have the same properties.", "items": {"$ref": "#/definitions/Jina::Deployment"}, "minItems": 1, "type": "array"}, "gateway": {"additionalProperties": false, "description": "The config of a Jina Gateway. A Gateway is a pod that encapsulates Flow logic and exposes services to the internet.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "deployments_addresses": {"default": "{}", "description": "JSON dictionary with the input addresses of each Deployment", "type": "string"}, "deployments_metadata": {"default": "{}", "description": "JSON dictionary with the request metadata for each Deployment", "type": "string"}, "deployments_no_reduce": {"default": "[]", "description": "list JSON disabling the built-in merging mechanism for each Deployment listed", "type": "string"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "expose_endpoints": {"default": null, "description": "A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.", "type": "string"}, "expose_graphql_endpoint": {"default": false, "description": "If set, /graphql endpoint is added to HTTP interface.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "graph_conditions": {"default": "{}", "description": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "type": "string"}, "graph_description": {"default": "{}", "description": "Routing graph for the gateway", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": "0.0.0.0", "description": "The host address of the runtime, by default it is 0.0.0.0.", "type": "string"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "gateway", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "no_crud_endpoints": {"default": false, "description": "If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.", "type": "boolean"}, "no_debug_endpoints": {"default": false, "description": "If set, `/status` `/post` endpoints are removed from HTTP interface.", "type": "boolean"}, "port": {"default": [55565], "description": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "type": "number"}, "port_monitoring": {"default": [55930], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefetch": {"default": 1000, "description": "Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "type": "number"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "proxy": {"default": false, "description": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "type": "boolean"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "reload": {"default": false, "description": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "GatewayRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": null, "description": "The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}, "jtype": {"default": "Flow", "description": "The type of Jina object (Flow, Executor).\nA Flow is made up of several sub-tasks, and it manages the states and context of these sub-tasks.\nThe input and output data of Flows are Documents.", "enum": ["Flow"], "type": "string"}, "version": {"default": "'1'", "description": "The YAML version of this Flow.", "type": "string"}, "with": {"additionalProperties": false, "description": "The config of Flow, unrecognized config arguments will be applied to all Deployments", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "deployments_addresses": {"default": "{}", "description": "JSON dictionary with the input addresses of each Deployment", "type": "string"}, "deployments_metadata": {"default": "{}", "description": "JSON dictionary with the request metadata for each Deployment", "type": "string"}, "deployments_no_reduce": {"default": "[]", "description": "list JSON disabling the built-in merging mechanism for each Deployment listed", "type": "string"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "expose_endpoints": {"default": null, "description": "A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.", "type": "string"}, "expose_graphql_endpoint": {"default": false, "description": "If set, /graphql endpoint is added to HTTP interface.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "graph_conditions": {"default": "{}", "description": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "type": "string"}, "graph_description": {"default": "{}", "description": "Routing graph for the gateway", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": "0.0.0.0", "description": "The host address of the runtime, by default it is 0.0.0.0.", "type": "string"}, "inspect": {"default": "COLLECT", "description": "The strategy on those inspect deployments in the flow.\n\n    If `REMOVE` is given then all inspect deployments are removed when building the flow.", "enum": ["HANG", "REMOVE", "COLLECT"], "type": "string"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "gateway", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "no_crud_endpoints": {"default": false, "description": "If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.", "type": "boolean"}, "no_debug_endpoints": {"default": false, "description": "If set, `/status` `/post` endpoints are removed from HTTP interface.", "type": "boolean"}, "port": {"default": [63663], "description": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "type": "number"}, "port_monitoring": {"default": [63372], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefetch": {"default": 1000, "description": "Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "type": "number"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "proxy": {"default": false, "description": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "type": "boolean"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "reload": {"default": false, "description": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "GatewayRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "suppress_root_logging": {"default": false, "description": "If set, then no root handlers will be suppressed from logging.", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": null, "description": "The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}}, "required": ["jtype", "executors"], "type": "object"}, "Jina::Gateway": {"additionalProperties": false, "description": "The config of a Jina Gateway. A Gateway is a pod that encapsulates Flow logic and exposes services to the internet.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "deployments_addresses": {"default": "{}", "description": "JSON dictionary with the input addresses of each Deployment", "type": "string"}, "deployments_metadata": {"default": "{}", "description": "JSON dictionary with the request metadata for each Deployment", "type": "string"}, "deployments_no_reduce": {"default": "[]", "description": "list JSON disabling the built-in merging mechanism for each Deployment listed", "type": "string"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "expose_endpoints": {"default": null, "description": "A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.", "type": "string"}, "expose_graphql_endpoint": {"default": false, "description": "If set, /graphql endpoint is added to HTTP interface.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "graph_conditions": {"default": "{}", "description": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "type": "string"}, "graph_description": {"default": "{}", "description": "Routing graph for the gateway", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": "0.0.0.0", "description": "The host address of the runtime, by default it is 0.0.0.0.", "type": "string"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "gateway", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "no_crud_endpoints": {"default": false, "description": "If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.", "type": "boolean"}, "no_debug_endpoints": {"default": false, "description": "If set, `/status` `/post` endpoints are removed from HTTP interface.", "type": "boolean"}, "port": {"default": [55565], "description": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "type": "number"}, "port_monitoring": {"default": [55930], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefetch": {"default": 1000, "description": "Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "type": "number"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "proxy": {"default": false, "description": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "type": "boolean"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "reload": {"default": false, "description": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "GatewayRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": null, "description": "The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}, "Jina::Metas": {"additionalProperties": false, "description": "The meta config of the Executor", "properties": {"description": {"default": null, "description": "The description of this executor. It will be used in automatics docs UI", "type": "string"}, "name": {"default": null, "description": "The name of the executor.", "type": "string"}, "py_modules": {"default": null, "description": "\nThe external python module paths. it is useful when you want to load external python modules\nusing :func:`BaseExecutor.load_config` from a YAML file. If a relative path is given then the root path is set to\nthe path of the current YAML file.\n\nExample of ``py_module`` usage:\n\n1. This is a valid structure and it is RECOMMENDED:\n    - \"my_cust_module\" is a python module\n    - all core logic of your customized executor goes to ``__init__.py``\n    - to import ``foo.py``, you can use relative import, e.g. ``from .foo import bar``\n    - ``helper.py`` needs to be put BEFORE `__init__.py` in YAML ``py_modules``\n\nThis is also the structure given by ``jina hub new`` CLI.\n\n    .. highlight:: text\n    .. code-block:: text\n\n         my_cust_module\n           |- __init__.py\n           |- helper.py\n           |- config.yml\n                |- py_modules\n                       |- helper.py\n                       |- __init__.py\n\n2. This is a valid structure but not recommended:\n    - \"my_cust_module\" is not a python module (lack of __init__.py under the root)\n    - to import ``foo.py``, you must to use ``from jinahub.foo import bar``\n    - ``jinahub`` is a common namespace for all plugin-modules, not changeable.\n    - ``helper.py`` needs to be put BEFORE `my_cust.py` in YAML ``py_modules``\n\n    .. highlight:: text\n    .. code-block:: text\n\n         my_cust_module\n           |- my_cust.py\n           |- helper.py\n           |- config.yml\n                |- py_modules\n                       |- helper.py\n                       |- my_cust.py                \n                ", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "type": "array"}}, "required": [], "type": "object"}}, "description": "The YAML schema of Jina objects (Flow, Executor).", "oneOf": [{"$ref": "#/definitions/Jina::Flow"}], "type": "object"}
\ No newline at end of file
+{"$id": "https://schemas.jina.ai/schemas/3.25.3.json", "$schema": "http://json-schema.org/draft-07/schema#", "definitions": {"Jina::Deployment": {"additionalProperties": false, "description": "Define the config of a Deployment.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"allow_concurrent": {"default": false, "description": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "type": "boolean"}, "compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "connection_list": {"default": null, "description": "dictionary JSON with a list of connections to configure", "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "disable_auto_volume": {"default": false, "description": "Do not automatically mount a volume for dockerized Executors.", "type": "boolean"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "exit_on_exceptions": {"default": [], "description": "List of exceptions that will cause the Executor to shut down.", "type": "array"}, "external": {"default": false, "description": "The Deployment will be considered an external Deployment that has been started independently from the Flow.This Deployment will not be context managed by the Flow.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "force_update": {"default": false, "description": "If set, always pull the latest Hub Executor bundle even it exists on local", "type": "boolean"}, "gpus": {"default": null, "description": "This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_metadata": {"default": null, "description": "The metadata to be passed to the gRPC request.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": ["0.0.0.0"], "description": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "type": "array"}, "install_requirements": {"default": false, "description": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "type": "boolean"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "method": {"default": "add", "description": "The method to use when appending the Deployment to the Flow", "enum": ["add", "needs", "inspect", "needs_all", "gather_inspect"], "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "executor", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "native": {"default": false, "description": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "type": "boolean"}, "needs": {"description": "The name of the Deployment(s) that this Deployment receives data from. One can also use `gateway` to indicate the connection with the gateway.\nThis is useful to create parallelization. By default the Flow always works sequentially following the defined order of the Deployments.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "type": ["array", "string"]}, "no_reduce": {"default": false, "description": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "type": "boolean"}, "output_array_type": {"default": null, "description": "The type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.", "type": "string"}, "polling": {"default": "ANY", "description": "The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}", "type": "string"}, "port": {"default": [56073], "description": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "type": "number"}, "port_monitoring": {"default": [64544], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefer_platform": {"default": null, "description": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "type": "string"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "raft_configuration": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "type": "object"}, "reload": {"default": false, "description": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas in the deployment", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "WorkerRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "shards": {"default": 1, "description": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "type": "number"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "tls": {"default": false, "description": "If set, connect to deployment using tls encryption", "type": "boolean"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": "BaseExecutor", "description": "The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_after": {"default": null, "description": "The executor attached after the Pods described by --uses, typically used for receiving from all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "type": "string"}, "uses_after_address": {"default": null, "description": "The address of the uses-before runtime", "type": "string"}, "uses_before": {"default": null, "description": "The executor attached before the Pods described by --uses, typically before sending to all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "type": "string"}, "uses_before_address": {"default": null, "description": "The address of the uses-before runtime", "type": "string"}, "uses_dynamic_batching": {"default": null, "description": "Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`", "type": "object"}, "uses_metas": {"default": null, "description": "Dictionary of keyword arguments that will override the `metas` configuration in `uses`", "type": "object"}, "uses_requests": {"default": null, "description": "Dictionary of keyword arguments that will override the `requests` configuration in `uses`", "type": "object"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "volumes": {"default": null, "description": "The path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.", "type": "array"}, "when": {"default": null, "description": "The condition that the documents need to fulfill before reaching the Executor.The condition can be defined in the form of a `DocArray query condition <https://docarray.jina.ai/fundamentals/documentarray/find/#query-by-conditions>`", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}, "Jina::Executors::All": {"minItems": 1, "type": "array"}, "Jina::Flow": {"additionalProperties": false, "properties": {"executors": {"description": "Define the steps in the Flow.\nA Deployment is a container and interface for one or multiple Pods that have the same properties.", "items": {"$ref": "#/definitions/Jina::Deployment"}, "minItems": 1, "type": "array"}, "gateway": {"additionalProperties": false, "description": "The config of a Jina Gateway. A Gateway is a pod that encapsulates Flow logic and exposes services to the internet.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "deployments_addresses": {"default": "{}", "description": "JSON dictionary with the input addresses of each Deployment", "type": "string"}, "deployments_metadata": {"default": "{}", "description": "JSON dictionary with the request metadata for each Deployment", "type": "string"}, "deployments_no_reduce": {"default": "[]", "description": "list JSON disabling the built-in merging mechanism for each Deployment listed", "type": "string"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "expose_endpoints": {"default": null, "description": "A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.", "type": "string"}, "expose_graphql_endpoint": {"default": false, "description": "If set, /graphql endpoint is added to HTTP interface.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "graph_conditions": {"default": "{}", "description": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "type": "string"}, "graph_description": {"default": "{}", "description": "Routing graph for the gateway", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": "0.0.0.0", "description": "The host address of the runtime, by default it is 0.0.0.0.", "type": "string"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "gateway", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "no_crud_endpoints": {"default": false, "description": "If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.", "type": "boolean"}, "no_debug_endpoints": {"default": false, "description": "If set, `/status` `/post` endpoints are removed from HTTP interface.", "type": "boolean"}, "port": {"default": [53382], "description": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "type": "number"}, "port_monitoring": {"default": [58311], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefetch": {"default": 1000, "description": "Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "type": "number"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "proxy": {"default": false, "description": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "type": "boolean"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "reload": {"default": false, "description": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "GatewayRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": null, "description": "The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}, "jtype": {"default": "Flow", "description": "The type of Jina object (Flow, Executor).\nA Flow is made up of several sub-tasks, and it manages the states and context of these sub-tasks.\nThe input and output data of Flows are Documents.", "enum": ["Flow"], "type": "string"}, "version": {"default": "'1'", "description": "The YAML version of this Flow.", "type": "string"}, "with": {"additionalProperties": false, "description": "The config of Flow, unrecognized config arguments will be applied to all Deployments", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "deployments_addresses": {"default": "{}", "description": "JSON dictionary with the input addresses of each Deployment", "type": "string"}, "deployments_metadata": {"default": "{}", "description": "JSON dictionary with the request metadata for each Deployment", "type": "string"}, "deployments_no_reduce": {"default": "[]", "description": "list JSON disabling the built-in merging mechanism for each Deployment listed", "type": "string"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "expose_endpoints": {"default": null, "description": "A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.", "type": "string"}, "expose_graphql_endpoint": {"default": false, "description": "If set, /graphql endpoint is added to HTTP interface.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "graph_conditions": {"default": "{}", "description": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "type": "string"}, "graph_description": {"default": "{}", "description": "Routing graph for the gateway", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": "0.0.0.0", "description": "The host address of the runtime, by default it is 0.0.0.0.", "type": "string"}, "inspect": {"default": "COLLECT", "description": "The strategy on those inspect deployments in the flow.\n\n    If `REMOVE` is given then all inspect deployments are removed when building the flow.", "enum": ["HANG", "REMOVE", "COLLECT"], "type": "string"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "gateway", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "no_crud_endpoints": {"default": false, "description": "If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.", "type": "boolean"}, "no_debug_endpoints": {"default": false, "description": "If set, `/status` `/post` endpoints are removed from HTTP interface.", "type": "boolean"}, "port": {"default": [50736], "description": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "type": "number"}, "port_monitoring": {"default": [53663], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefetch": {"default": 1000, "description": "Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "type": "number"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "proxy": {"default": false, "description": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "type": "boolean"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "reload": {"default": false, "description": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "GatewayRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "suppress_root_logging": {"default": false, "description": "If set, then no root handlers will be suppressed from logging.", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": null, "description": "The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}}, "required": ["jtype", "executors"], "type": "object"}, "Jina::Gateway": {"additionalProperties": false, "description": "The config of a Jina Gateway. A Gateway is a pod that encapsulates Flow logic and exposes services to the internet.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "deployments_addresses": {"default": "{}", "description": "JSON dictionary with the input addresses of each Deployment", "type": "string"}, "deployments_metadata": {"default": "{}", "description": "JSON dictionary with the request metadata for each Deployment", "type": "string"}, "deployments_no_reduce": {"default": "[]", "description": "list JSON disabling the built-in merging mechanism for each Deployment listed", "type": "string"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "expose_endpoints": {"default": null, "description": "A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.", "type": "string"}, "expose_graphql_endpoint": {"default": false, "description": "If set, /graphql endpoint is added to HTTP interface.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "graph_conditions": {"default": "{}", "description": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "type": "string"}, "graph_description": {"default": "{}", "description": "Routing graph for the gateway", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": "0.0.0.0", "description": "The host address of the runtime, by default it is 0.0.0.0.", "type": "string"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "gateway", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "no_crud_endpoints": {"default": false, "description": "If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.", "type": "boolean"}, "no_debug_endpoints": {"default": false, "description": "If set, `/status` `/post` endpoints are removed from HTTP interface.", "type": "boolean"}, "port": {"default": [53382], "description": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "type": "number"}, "port_monitoring": {"default": [58311], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefetch": {"default": 1000, "description": "Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "type": "number"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "proxy": {"default": false, "description": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "type": "boolean"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "reload": {"default": false, "description": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "GatewayRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": null, "description": "The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}, "Jina::Metas": {"additionalProperties": false, "description": "The meta config of the Executor", "properties": {"description": {"default": null, "description": "The description of this executor. It will be used in automatics docs UI", "type": "string"}, "name": {"default": null, "description": "The name of the executor.", "type": "string"}, "py_modules": {"default": null, "description": "\nThe external python module paths. it is useful when you want to load external python modules\nusing :func:`BaseExecutor.load_config` from a YAML file. If a relative path is given then the root path is set to\nthe path of the current YAML file.\n\nExample of ``py_module`` usage:\n\n1. This is a valid structure and it is RECOMMENDED:\n    - \"my_cust_module\" is a python module\n    - all core logic of your customized executor goes to ``__init__.py``\n    - to import ``foo.py``, you can use relative import, e.g. ``from .foo import bar``\n    - ``helper.py`` needs to be put BEFORE `__init__.py` in YAML ``py_modules``\n\nThis is also the structure given by ``jina hub new`` CLI.\n\n    .. highlight:: text\n    .. code-block:: text\n\n         my_cust_module\n           |- __init__.py\n           |- helper.py\n           |- config.yml\n                |- py_modules\n                       |- helper.py\n                       |- __init__.py\n\n2. This is a valid structure but not recommended:\n    - \"my_cust_module\" is not a python module (lack of __init__.py under the root)\n    - to import ``foo.py``, you must to use ``from jinahub.foo import bar``\n    - ``jinahub`` is a common namespace for all plugin-modules, not changeable.\n    - ``helper.py`` needs to be put BEFORE `my_cust.py` in YAML ``py_modules``\n\n    .. highlight:: text\n    .. code-block:: text\n\n         my_cust_module\n           |- my_cust.py\n           |- helper.py\n           |- config.yml\n                |- py_modules\n                       |- helper.py\n                       |- my_cust.py                \n                ", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "type": "array"}}, "required": [], "type": "object"}}, "description": "The YAML schema of Jina objects (Flow, Executor).", "oneOf": [{"$ref": "#/definitions/Jina::Flow"}], "type": "object"}
\ No newline at end of file
diff --git a/schemas/master.json b/schemas/master.json
index 733a9bae..c1d08cfa 100644
--- a/schemas/master.json
+++ b/schemas/master.json
@@ -1 +1 @@
-{"$id": "https://schemas.jina.ai/schemas/3.25.2.json", "$schema": "http://json-schema.org/draft-07/schema#", "definitions": {"Jina::Deployment": {"additionalProperties": false, "description": "Define the config of a Deployment.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"allow_concurrent": {"default": false, "description": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "type": "boolean"}, "compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "connection_list": {"default": null, "description": "dictionary JSON with a list of connections to configure", "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "disable_auto_volume": {"default": false, "description": "Do not automatically mount a volume for dockerized Executors.", "type": "boolean"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "exit_on_exceptions": {"default": [], "description": "List of exceptions that will cause the Executor to shut down.", "type": "array"}, "external": {"default": false, "description": "The Deployment will be considered an external Deployment that has been started independently from the Flow.This Deployment will not be context managed by the Flow.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "force_update": {"default": false, "description": "If set, always pull the latest Hub Executor bundle even it exists on local", "type": "boolean"}, "gpus": {"default": null, "description": "This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_metadata": {"default": null, "description": "The metadata to be passed to the gRPC request.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": ["0.0.0.0"], "description": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "type": "array"}, "install_requirements": {"default": false, "description": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "type": "boolean"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "method": {"default": "add", "description": "The method to use when appending the Deployment to the Flow", "enum": ["add", "needs", "inspect", "needs_all", "gather_inspect"], "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "executor", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "native": {"default": false, "description": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "type": "boolean"}, "needs": {"description": "The name of the Deployment(s) that this Deployment receives data from. One can also use `gateway` to indicate the connection with the gateway.\nThis is useful to create parallelization. By default the Flow always works sequentially following the defined order of the Deployments.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "type": ["array", "string"]}, "no_reduce": {"default": false, "description": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "type": "boolean"}, "output_array_type": {"default": null, "description": "The type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.", "type": "string"}, "polling": {"default": "ANY", "description": "The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}", "type": "string"}, "port": {"default": [49529], "description": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "type": "number"}, "port_monitoring": {"default": [64614], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefer_platform": {"default": null, "description": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "type": "string"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "raft_configuration": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "type": "object"}, "reload": {"default": false, "description": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas in the deployment", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "WorkerRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "shards": {"default": 1, "description": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "type": "number"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "tls": {"default": false, "description": "If set, connect to deployment using tls encryption", "type": "boolean"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": "BaseExecutor", "description": "The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_after": {"default": null, "description": "The executor attached after the Pods described by --uses, typically used for receiving from all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "type": "string"}, "uses_after_address": {"default": null, "description": "The address of the uses-before runtime", "type": "string"}, "uses_before": {"default": null, "description": "The executor attached before the Pods described by --uses, typically before sending to all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "type": "string"}, "uses_before_address": {"default": null, "description": "The address of the uses-before runtime", "type": "string"}, "uses_dynamic_batching": {"default": null, "description": "Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`", "type": "object"}, "uses_metas": {"default": null, "description": "Dictionary of keyword arguments that will override the `metas` configuration in `uses`", "type": "object"}, "uses_requests": {"default": null, "description": "Dictionary of keyword arguments that will override the `requests` configuration in `uses`", "type": "object"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "volumes": {"default": null, "description": "The path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.", "type": "array"}, "when": {"default": null, "description": "The condition that the documents need to fulfill before reaching the Executor.The condition can be defined in the form of a `DocArray query condition <https://docarray.jina.ai/fundamentals/documentarray/find/#query-by-conditions>`", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}, "Jina::Executors::All": {"minItems": 1, "type": "array"}, "Jina::Flow": {"additionalProperties": false, "properties": {"executors": {"description": "Define the steps in the Flow.\nA Deployment is a container and interface for one or multiple Pods that have the same properties.", "items": {"$ref": "#/definitions/Jina::Deployment"}, "minItems": 1, "type": "array"}, "gateway": {"additionalProperties": false, "description": "The config of a Jina Gateway. A Gateway is a pod that encapsulates Flow logic and exposes services to the internet.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "deployments_addresses": {"default": "{}", "description": "JSON dictionary with the input addresses of each Deployment", "type": "string"}, "deployments_metadata": {"default": "{}", "description": "JSON dictionary with the request metadata for each Deployment", "type": "string"}, "deployments_no_reduce": {"default": "[]", "description": "list JSON disabling the built-in merging mechanism for each Deployment listed", "type": "string"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "expose_endpoints": {"default": null, "description": "A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.", "type": "string"}, "expose_graphql_endpoint": {"default": false, "description": "If set, /graphql endpoint is added to HTTP interface.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "graph_conditions": {"default": "{}", "description": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "type": "string"}, "graph_description": {"default": "{}", "description": "Routing graph for the gateway", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": "0.0.0.0", "description": "The host address of the runtime, by default it is 0.0.0.0.", "type": "string"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "gateway", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "no_crud_endpoints": {"default": false, "description": "If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.", "type": "boolean"}, "no_debug_endpoints": {"default": false, "description": "If set, `/status` `/post` endpoints are removed from HTTP interface.", "type": "boolean"}, "port": {"default": [55565], "description": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "type": "number"}, "port_monitoring": {"default": [55930], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefetch": {"default": 1000, "description": "Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "type": "number"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "proxy": {"default": false, "description": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "type": "boolean"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "reload": {"default": false, "description": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "GatewayRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": null, "description": "The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}, "jtype": {"default": "Flow", "description": "The type of Jina object (Flow, Executor).\nA Flow is made up of several sub-tasks, and it manages the states and context of these sub-tasks.\nThe input and output data of Flows are Documents.", "enum": ["Flow"], "type": "string"}, "version": {"default": "'1'", "description": "The YAML version of this Flow.", "type": "string"}, "with": {"additionalProperties": false, "description": "The config of Flow, unrecognized config arguments will be applied to all Deployments", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "deployments_addresses": {"default": "{}", "description": "JSON dictionary with the input addresses of each Deployment", "type": "string"}, "deployments_metadata": {"default": "{}", "description": "JSON dictionary with the request metadata for each Deployment", "type": "string"}, "deployments_no_reduce": {"default": "[]", "description": "list JSON disabling the built-in merging mechanism for each Deployment listed", "type": "string"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "expose_endpoints": {"default": null, "description": "A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.", "type": "string"}, "expose_graphql_endpoint": {"default": false, "description": "If set, /graphql endpoint is added to HTTP interface.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "graph_conditions": {"default": "{}", "description": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "type": "string"}, "graph_description": {"default": "{}", "description": "Routing graph for the gateway", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": "0.0.0.0", "description": "The host address of the runtime, by default it is 0.0.0.0.", "type": "string"}, "inspect": {"default": "COLLECT", "description": "The strategy on those inspect deployments in the flow.\n\n    If `REMOVE` is given then all inspect deployments are removed when building the flow.", "enum": ["HANG", "REMOVE", "COLLECT"], "type": "string"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "gateway", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "no_crud_endpoints": {"default": false, "description": "If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.", "type": "boolean"}, "no_debug_endpoints": {"default": false, "description": "If set, `/status` `/post` endpoints are removed from HTTP interface.", "type": "boolean"}, "port": {"default": [63663], "description": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "type": "number"}, "port_monitoring": {"default": [63372], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefetch": {"default": 1000, "description": "Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "type": "number"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "proxy": {"default": false, "description": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "type": "boolean"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "reload": {"default": false, "description": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "GatewayRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "suppress_root_logging": {"default": false, "description": "If set, then no root handlers will be suppressed from logging.", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": null, "description": "The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}}, "required": ["jtype", "executors"], "type": "object"}, "Jina::Gateway": {"additionalProperties": false, "description": "The config of a Jina Gateway. A Gateway is a pod that encapsulates Flow logic and exposes services to the internet.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "deployments_addresses": {"default": "{}", "description": "JSON dictionary with the input addresses of each Deployment", "type": "string"}, "deployments_metadata": {"default": "{}", "description": "JSON dictionary with the request metadata for each Deployment", "type": "string"}, "deployments_no_reduce": {"default": "[]", "description": "list JSON disabling the built-in merging mechanism for each Deployment listed", "type": "string"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "expose_endpoints": {"default": null, "description": "A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.", "type": "string"}, "expose_graphql_endpoint": {"default": false, "description": "If set, /graphql endpoint is added to HTTP interface.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "graph_conditions": {"default": "{}", "description": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "type": "string"}, "graph_description": {"default": "{}", "description": "Routing graph for the gateway", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": "0.0.0.0", "description": "The host address of the runtime, by default it is 0.0.0.0.", "type": "string"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "gateway", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "no_crud_endpoints": {"default": false, "description": "If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.", "type": "boolean"}, "no_debug_endpoints": {"default": false, "description": "If set, `/status` `/post` endpoints are removed from HTTP interface.", "type": "boolean"}, "port": {"default": [55565], "description": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "type": "number"}, "port_monitoring": {"default": [55930], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefetch": {"default": 1000, "description": "Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "type": "number"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "proxy": {"default": false, "description": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "type": "boolean"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "reload": {"default": false, "description": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "GatewayRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": null, "description": "The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}, "Jina::Metas": {"additionalProperties": false, "description": "The meta config of the Executor", "properties": {"description": {"default": null, "description": "The description of this executor. It will be used in automatics docs UI", "type": "string"}, "name": {"default": null, "description": "The name of the executor.", "type": "string"}, "py_modules": {"default": null, "description": "\nThe external python module paths. it is useful when you want to load external python modules\nusing :func:`BaseExecutor.load_config` from a YAML file. If a relative path is given then the root path is set to\nthe path of the current YAML file.\n\nExample of ``py_module`` usage:\n\n1. This is a valid structure and it is RECOMMENDED:\n    - \"my_cust_module\" is a python module\n    - all core logic of your customized executor goes to ``__init__.py``\n    - to import ``foo.py``, you can use relative import, e.g. ``from .foo import bar``\n    - ``helper.py`` needs to be put BEFORE `__init__.py` in YAML ``py_modules``\n\nThis is also the structure given by ``jina hub new`` CLI.\n\n    .. highlight:: text\n    .. code-block:: text\n\n         my_cust_module\n           |- __init__.py\n           |- helper.py\n           |- config.yml\n                |- py_modules\n                       |- helper.py\n                       |- __init__.py\n\n2. This is a valid structure but not recommended:\n    - \"my_cust_module\" is not a python module (lack of __init__.py under the root)\n    - to import ``foo.py``, you must to use ``from jinahub.foo import bar``\n    - ``jinahub`` is a common namespace for all plugin-modules, not changeable.\n    - ``helper.py`` needs to be put BEFORE `my_cust.py` in YAML ``py_modules``\n\n    .. highlight:: text\n    .. code-block:: text\n\n         my_cust_module\n           |- my_cust.py\n           |- helper.py\n           |- config.yml\n                |- py_modules\n                       |- helper.py\n                       |- my_cust.py                \n                ", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "type": "array"}}, "required": [], "type": "object"}}, "description": "The YAML schema of Jina objects (Flow, Executor).", "oneOf": [{"$ref": "#/definitions/Jina::Flow"}], "type": "object"}
\ No newline at end of file
+{"$id": "https://schemas.jina.ai/schemas/3.25.3.json", "$schema": "http://json-schema.org/draft-07/schema#", "definitions": {"Jina::Deployment": {"additionalProperties": false, "description": "Define the config of a Deployment.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"allow_concurrent": {"default": false, "description": "Allow concurrent requests to be processed by the Executor. This is only recommended if the Executor is thread-safe.", "type": "boolean"}, "compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "connection_list": {"default": null, "description": "dictionary JSON with a list of connections to configure", "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "disable_auto_volume": {"default": false, "description": "Do not automatically mount a volume for dockerized Executors.", "type": "boolean"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "exit_on_exceptions": {"default": [], "description": "List of exceptions that will cause the Executor to shut down.", "type": "array"}, "external": {"default": false, "description": "The Deployment will be considered an external Deployment that has been started independently from the Flow.This Deployment will not be context managed by the Flow.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "force_update": {"default": false, "description": "If set, always pull the latest Hub Executor bundle even it exists on local", "type": "boolean"}, "gpus": {"default": null, "description": "This argument allows dockerized Jina Executors to discover local gpu devices.\n    \n    Note, \n    - To access all gpus, use `--gpus all`.\n    - To access multiple gpus, e.g. make use of 2 gpus, use `--gpus 2`.\n    - To access specified gpus based on device id, use `--gpus device=[YOUR-GPU-DEVICE-ID]`\n    - To access specified gpus based on multiple device id, use `--gpus device=[YOUR-GPU-DEVICE-ID1],device=[YOUR-GPU-DEVICE-ID2]`\n    - To specify more parameters, use `--gpus device=[YOUR-GPU-DEVICE-ID],runtime=nvidia,capabilities=display", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_metadata": {"default": null, "description": "The metadata to be passed to the gRPC request.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": ["0.0.0.0"], "description": "The host of the Gateway, which the client should connect to, by default it is 0.0.0.0. In the case of an external Executor (`--external` or `external=True`) this can be a list of hosts.  Then, every resulting address will be considered as one replica of the Executor.", "type": "array"}, "install_requirements": {"default": false, "description": "If set, try to install `requirements.txt` from the local Executor if exists in the Executor folder. If using Hub, install `requirements.txt` in the Hub Executor bundle to local.", "type": "boolean"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "method": {"default": "add", "description": "The method to use when appending the Deployment to the Flow", "enum": ["add", "needs", "inspect", "needs_all", "gather_inspect"], "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "executor", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "native": {"default": false, "description": "If set, only native Executors is allowed, and the Executor is always run inside WorkerRuntime.", "type": "boolean"}, "needs": {"description": "The name of the Deployment(s) that this Deployment receives data from. One can also use `gateway` to indicate the connection with the gateway.\nThis is useful to create parallelization. By default the Flow always works sequentially following the defined order of the Deployments.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "type": ["array", "string"]}, "no_reduce": {"default": false, "description": "Disable the built-in reduction mechanism. Set this if the reduction is to be handled by the Executor itself by operating on a `docs_matrix` or `docs_map`", "type": "boolean"}, "output_array_type": {"default": null, "description": "The type of array `tensor` and `embedding` will be serialized to.\n\nSupports the same types as `docarray.to_protobuf(.., ndarray_type=...)`, which can be found \n`here <https://docarray.jina.ai/fundamentals/document/serialization/#from-to-protobuf>`.\nDefaults to retaining whatever type is returned by the Executor.", "type": "string"}, "polling": {"default": "ANY", "description": "The polling strategy of the Deployment and its endpoints (when `shards>1`).\n    Can be defined for all endpoints of a Deployment or by endpoint.\n    Define per Deployment:\n    - ANY: only one (whoever is idle) Pod polls the message\n    - ALL: all Pods poll the message (like a broadcast)\n    Define per Endpoint:\n    JSON dict, {endpoint: PollingType}\n    {'/custom': 'ALL', '/search': 'ANY', '*': 'ANY'}", "type": "string"}, "port": {"default": [56073], "description": "The port for input data to bind to, default is a random port between [49152, 65535]. In the case of an external Executor (`--external` or `external=True`) this can be a list of ports. Then, every resulting address will be considered as one replica of the Executor.", "type": "number"}, "port_monitoring": {"default": [64544], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefer_platform": {"default": null, "description": "The preferred target Docker platform. (e.g. \"linux/amd64\", \"linux/arm64\")", "type": "string"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Executor. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the executor\n\nNote that the recommended way is to only import a single module - a simple python file, if your\nexecutor can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package. For more details, please see the\n`Executor cookbook <https://docs.jina.ai/concepts/executor/executor-files/>`__", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "raft_configuration": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the RAFT node as configuration options when starting the RAFT node.", "type": "object"}, "reload": {"default": false, "description": "If set, the Executor will restart while serving if YAML configuration source or Executor modules are changed. If YAML configuration is changed, the whole deployment is reloaded and new processes will be restarted. If only Python modules of the Executor have changed, they will be reloaded to the interpreter without restarting process.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas in the deployment", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "WorkerRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "shards": {"default": 1, "description": "The number of shards in the deployment running at the same time. For more details check https://docs.jina.ai/concepts/flow/create-flow/#complex-flow-topologies", "type": "number"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "tls": {"default": false, "description": "If set, connect to deployment using tls encryption", "type": "boolean"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": "BaseExecutor", "description": "The config of the executor, it could be one of the followings:\n        * the string literal of an Executor class name\n        * an Executor YAML file (.yml, .yaml, .jaml)\n        * a Jina Hub Executor (must start with `jinahub://` or `jinahub+docker://`)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_after": {"default": null, "description": "The executor attached after the Pods described by --uses, typically used for receiving from all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "type": "string"}, "uses_after_address": {"default": null, "description": "The address of the uses-before runtime", "type": "string"}, "uses_before": {"default": null, "description": "The executor attached before the Pods described by --uses, typically before sending to all shards, accepted type follows `--uses`. This argument only applies for sharded Deployments (shards > 1).", "type": "string"}, "uses_before_address": {"default": null, "description": "The address of the uses-before runtime", "type": "string"}, "uses_dynamic_batching": {"default": null, "description": "Dictionary of keyword arguments that will override the `dynamic_batching` configuration in `uses`", "type": "object"}, "uses_metas": {"default": null, "description": "Dictionary of keyword arguments that will override the `metas` configuration in `uses`", "type": "object"}, "uses_requests": {"default": null, "description": "Dictionary of keyword arguments that will override the `requests` configuration in `uses`", "type": "object"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "volumes": {"default": null, "description": "The path on the host to be mounted inside the container. \n\nNote, \n- If separated by `:`, then the first part will be considered as the local host path and the second part is the path in the container system. \n- If no split provided, then the basename of that directory will be mounted into container's root path, e.g. `--volumes=\"/user/test/my-workspace\"` will be mounted into `/my-workspace` inside the container. \n- All volumes are mounted with read-write mode.", "type": "array"}, "when": {"default": null, "description": "The condition that the documents need to fulfill before reaching the Executor.The condition can be defined in the form of a `DocArray query condition <https://docarray.jina.ai/fundamentals/documentarray/find/#query-by-conditions>`", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}, "Jina::Executors::All": {"minItems": 1, "type": "array"}, "Jina::Flow": {"additionalProperties": false, "properties": {"executors": {"description": "Define the steps in the Flow.\nA Deployment is a container and interface for one or multiple Pods that have the same properties.", "items": {"$ref": "#/definitions/Jina::Deployment"}, "minItems": 1, "type": "array"}, "gateway": {"additionalProperties": false, "description": "The config of a Jina Gateway. A Gateway is a pod that encapsulates Flow logic and exposes services to the internet.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "deployments_addresses": {"default": "{}", "description": "JSON dictionary with the input addresses of each Deployment", "type": "string"}, "deployments_metadata": {"default": "{}", "description": "JSON dictionary with the request metadata for each Deployment", "type": "string"}, "deployments_no_reduce": {"default": "[]", "description": "list JSON disabling the built-in merging mechanism for each Deployment listed", "type": "string"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "expose_endpoints": {"default": null, "description": "A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.", "type": "string"}, "expose_graphql_endpoint": {"default": false, "description": "If set, /graphql endpoint is added to HTTP interface.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "graph_conditions": {"default": "{}", "description": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "type": "string"}, "graph_description": {"default": "{}", "description": "Routing graph for the gateway", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": "0.0.0.0", "description": "The host address of the runtime, by default it is 0.0.0.0.", "type": "string"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "gateway", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "no_crud_endpoints": {"default": false, "description": "If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.", "type": "boolean"}, "no_debug_endpoints": {"default": false, "description": "If set, `/status` `/post` endpoints are removed from HTTP interface.", "type": "boolean"}, "port": {"default": [53382], "description": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "type": "number"}, "port_monitoring": {"default": [58311], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefetch": {"default": 1000, "description": "Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "type": "number"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "proxy": {"default": false, "description": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "type": "boolean"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "reload": {"default": false, "description": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "GatewayRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": null, "description": "The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}, "jtype": {"default": "Flow", "description": "The type of Jina object (Flow, Executor).\nA Flow is made up of several sub-tasks, and it manages the states and context of these sub-tasks.\nThe input and output data of Flows are Documents.", "enum": ["Flow"], "type": "string"}, "version": {"default": "'1'", "description": "The YAML version of this Flow.", "type": "string"}, "with": {"additionalProperties": false, "description": "The config of Flow, unrecognized config arguments will be applied to all Deployments", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "deployments_addresses": {"default": "{}", "description": "JSON dictionary with the input addresses of each Deployment", "type": "string"}, "deployments_metadata": {"default": "{}", "description": "JSON dictionary with the request metadata for each Deployment", "type": "string"}, "deployments_no_reduce": {"default": "[]", "description": "list JSON disabling the built-in merging mechanism for each Deployment listed", "type": "string"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "expose_endpoints": {"default": null, "description": "A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.", "type": "string"}, "expose_graphql_endpoint": {"default": false, "description": "If set, /graphql endpoint is added to HTTP interface.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "graph_conditions": {"default": "{}", "description": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "type": "string"}, "graph_description": {"default": "{}", "description": "Routing graph for the gateway", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": "0.0.0.0", "description": "The host address of the runtime, by default it is 0.0.0.0.", "type": "string"}, "inspect": {"default": "COLLECT", "description": "The strategy on those inspect deployments in the flow.\n\n    If `REMOVE` is given then all inspect deployments are removed when building the flow.", "enum": ["HANG", "REMOVE", "COLLECT"], "type": "string"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "gateway", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "no_crud_endpoints": {"default": false, "description": "If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.", "type": "boolean"}, "no_debug_endpoints": {"default": false, "description": "If set, `/status` `/post` endpoints are removed from HTTP interface.", "type": "boolean"}, "port": {"default": [50736], "description": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "type": "number"}, "port_monitoring": {"default": [53663], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefetch": {"default": 1000, "description": "Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "type": "number"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "proxy": {"default": false, "description": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "type": "boolean"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "reload": {"default": false, "description": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "GatewayRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "suppress_root_logging": {"default": false, "description": "If set, then no root handlers will be suppressed from logging.", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": null, "description": "The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}}, "required": ["jtype", "executors"], "type": "object"}, "Jina::Gateway": {"additionalProperties": false, "description": "The config of a Jina Gateway. A Gateway is a pod that encapsulates Flow logic and exposes services to the internet.", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "properties": {"compression": {"default": null, "description": "The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression.", "enum": ["NoCompression", "Deflate", "Gzip"], "type": "string"}, "cors": {"default": false, "description": "If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access.", "type": "boolean"}, "deployments_addresses": {"default": "{}", "description": "JSON dictionary with the input addresses of each Deployment", "type": "string"}, "deployments_metadata": {"default": "{}", "description": "JSON dictionary with the request metadata for each Deployment", "type": "string"}, "deployments_no_reduce": {"default": "[]", "description": "list JSON disabling the built-in merging mechanism for each Deployment listed", "type": "string"}, "description": {"default": null, "description": "The description of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "docker_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker '\ncontainer. \n\nMore details can be found in the Docker SDK docs:  https://docker-py.readthedocs.io/en/stable/", "type": "object"}, "entrypoint": {"default": null, "description": "The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective.", "type": "string"}, "env": {"default": null, "description": "The map of environment variables that are available inside runtime", "type": "object"}, "expose_endpoints": {"default": null, "description": "A JSON string that represents a map from executor endpoints (`@requests(on=...)`) to HTTP endpoints.", "type": "string"}, "expose_graphql_endpoint": {"default": false, "description": "If set, /graphql endpoint is added to HTTP interface.", "type": "boolean"}, "floating": {"default": false, "description": "If set, the current Pod/Deployment can not be further chained, and the next `.add()` will chain after the last Pod/Deployment not this current one.", "type": "boolean"}, "graph_conditions": {"default": "{}", "description": "Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents.", "type": "string"}, "graph_description": {"default": "{}", "description": "Routing graph for the gateway", "type": "string"}, "grpc_channel_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc channel as options when creating a channel, example : {'grpc.max_send_message_length': -1}. When max_attempts > 1, the 'grpc.service_config' option will not be applicable.", "type": "object"}, "grpc_server_options": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {'grpc.max_send_message_length': -1}", "type": "object"}, "host": {"default": "0.0.0.0", "description": "The host address of the runtime, by default it is 0.0.0.0.", "type": "string"}, "log_config": {"default": "default", "description": "The config name or the absolute path to the YAML config file of the logger used in this object.", "type": "string"}, "metrics": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "metrics_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the metrics exporter agent.", "type": "string"}, "metrics_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the metrics exporter agent.", "type": "number"}, "monitoring": {"default": false, "description": "If set, spawn an http server with a prometheus endpoint to expose metrics", "type": "boolean"}, "name": {"default": "gateway", "description": "The name of this object.\n\n    This will be used in the following places:\n    - how you refer to this object in Python/YAML/CLI\n    - visualization\n    - log message header\n    - ...\n\n    When not given, then the default naming strategy will apply.", "type": "string"}, "no_crud_endpoints": {"default": false, "description": "If set, `/index`, `/search`, `/update`, `/delete` endpoints are removed from HTTP interface.\n\n        Any executor that has `@requests(on=...)` bound with those values will receive data requests.", "type": "boolean"}, "no_debug_endpoints": {"default": false, "description": "If set, `/status` `/post` endpoints are removed from HTTP interface.", "type": "boolean"}, "port": {"default": [53382], "description": "The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used.", "type": "number"}, "port_monitoring": {"default": [58311], "description": "The port on which the prometheus server is exposed, default is a random port between [49152, 65535]", "type": "number"}, "prefetch": {"default": 1000, "description": "Number of requests fetched from the client before feeding into the first Executor. \n    \n    Used to control the speed of data input into a Flow. 0 disables prefetch (1000 requests is the default)", "type": "number"}, "protocol": {"default": [0], "description": "Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: ['GRPC', 'HTTP', 'WEBSOCKET'].", "enum": ["GRPC", "HTTP", "WEBSOCKET"], "type": "array"}, "provider": {"default": [0], "description": "If set, Executor is translated to a custom container compatible with the chosen provider. Choose the convenient providers from: ['NONE', 'SAGEMAKER', 'AZURE'].", "enum": ["NONE", "SAGEMAKER", "AZURE"], "type": "string"}, "provider_endpoint": {"default": null, "description": "If set, Executor endpoint will be explicitly chosen and used in the custom container operated by the provider.", "type": "string"}, "proxy": {"default": false, "description": "If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy", "type": "boolean"}, "py_modules": {"default": null, "description": "The customized python modules need to be imported before loading the gateway\n\nNote that the recommended way is to only import a single module - a simple python file, if your\ngateway can be defined in a single file, or an ``__init__.py`` file if you have multiple files,\nwhich should be structured as a python package.", "type": "array"}, "quiet": {"default": false, "description": "If set, then no log will be emitted from this object.", "type": "boolean"}, "quiet_error": {"default": false, "description": "If set, then exception stack information will not be added to the log", "type": "boolean"}, "reload": {"default": false, "description": "If set, the Gateway will restart while serving if YAML configuration source is changed.", "type": "boolean"}, "replicas": {"default": 1, "description": "The number of replicas of the Gateway. This replicas will only be applied when converted into Kubernetes YAML", "type": "number"}, "retries": {"default": -1, "description": "Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas)", "type": "number"}, "runtime_cls": {"default": "GatewayRuntime", "description": "The runtime class to run inside the Pod", "type": "string"}, "ssl_certfile": {"default": null, "description": "the path to the certificate file", "type": "string"}, "ssl_keyfile": {"default": null, "description": "the path to the key file", "type": "string"}, "stateful": {"default": false, "description": "If set, start consensus module to make sure write operations are properly replicated between all the replicas", "type": "boolean"}, "timeout_ctrl": {"default": 60, "description": "The timeout in milliseconds of the control request, -1 for waiting forever", "type": "number"}, "timeout_ready": {"default": 600000, "description": "The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever", "type": "number"}, "timeout_send": {"default": null, "description": "The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default", "type": "number"}, "title": {"default": null, "description": "The title of this HTTP server. It will be used in automatics docs such as Swagger UI.", "type": "string"}, "traces_exporter_host": {"default": null, "description": "If tracing is enabled, this hostname will be used to configure the trace exporter agent.", "type": "string"}, "traces_exporter_port": {"default": null, "description": "If tracing is enabled, this port will be used to configure the trace exporter agent.", "type": "number"}, "tracing": {"default": false, "description": "If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided.", "type": "boolean"}, "uses": {"default": null, "description": "The config of the gateway, it could be one of the followings:\n        * the string literal of an Gateway class name\n        * a Gateway YAML file (.yml, .yaml, .jaml)\n        * a docker image (must start with `docker://`)\n        * the string literal of a YAML config (must start with `!` or `jtype: `)\n        * the string literal of a JSON config\n\n        When use it under Python, one can use the following values additionally:\n        - a Python dict that represents the config\n        - a text file stream has `.read()` interface", "type": "string"}, "uses_with": {"default": null, "description": "Dictionary of keyword arguments that will override the `with` configuration in `uses`", "type": "object"}, "uvicorn_kwargs": {"default": null, "description": "Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server\n\nMore details can be found in Uvicorn docs: https://www.uvicorn.org/settings/", "type": "object"}, "workspace": {"default": null, "description": "The working directory for any IO operations in this object. If not set, then derive from its parent `workspace`.", "type": "string"}}, "required": [], "type": "object"}, "Jina::Metas": {"additionalProperties": false, "description": "The meta config of the Executor", "properties": {"description": {"default": null, "description": "The description of this executor. It will be used in automatics docs UI", "type": "string"}, "name": {"default": null, "description": "The name of the executor.", "type": "string"}, "py_modules": {"default": null, "description": "\nThe external python module paths. it is useful when you want to load external python modules\nusing :func:`BaseExecutor.load_config` from a YAML file. If a relative path is given then the root path is set to\nthe path of the current YAML file.\n\nExample of ``py_module`` usage:\n\n1. This is a valid structure and it is RECOMMENDED:\n    - \"my_cust_module\" is a python module\n    - all core logic of your customized executor goes to ``__init__.py``\n    - to import ``foo.py``, you can use relative import, e.g. ``from .foo import bar``\n    - ``helper.py`` needs to be put BEFORE `__init__.py` in YAML ``py_modules``\n\nThis is also the structure given by ``jina hub new`` CLI.\n\n    .. highlight:: text\n    .. code-block:: text\n\n         my_cust_module\n           |- __init__.py\n           |- helper.py\n           |- config.yml\n                |- py_modules\n                       |- helper.py\n                       |- __init__.py\n\n2. This is a valid structure but not recommended:\n    - \"my_cust_module\" is not a python module (lack of __init__.py under the root)\n    - to import ``foo.py``, you must to use ``from jinahub.foo import bar``\n    - ``jinahub`` is a common namespace for all plugin-modules, not changeable.\n    - ``helper.py`` needs to be put BEFORE `my_cust.py` in YAML ``py_modules``\n\n    .. highlight:: text\n    .. code-block:: text\n\n         my_cust_module\n           |- my_cust.py\n           |- helper.py\n           |- config.yml\n                |- py_modules\n                       |- helper.py\n                       |- my_cust.py                \n                ", "items": {"minItems": 1, "type": "string", "uniqueItems": true}, "type": "array"}}, "required": [], "type": "object"}}, "description": "The YAML schema of Jina objects (Flow, Executor).", "oneOf": [{"$ref": "#/definitions/Jina::Flow"}], "type": "object"}
\ No newline at end of file