🚀 Try Zilliz Cloud, the fully managed Milvus, for free—experience 10x faster performance! Try Now>>

Milvus
Zilliz
  • Home
  • AI Reference
  • What kind of user input does DeepResearch require and how does a user initiate a DeepResearch session?

What kind of user input does DeepResearch require and how does a user initiate a DeepResearch session?

DeepResearch requires structured user input to define the scope, data sources, and objectives of a research task. Users typically provide a primary research question, a list of data sources or APIs to query, and parameters to guide the analysis. For example, a user might specify a topic like “compare performance metrics of Python web frameworks,” include sources like GitHub repositories, Stack Overflow threads, and technical blogs, and set filters such as date ranges or keyword exclusions. The system also accepts optional configuration parameters, such as output format (e.g., JSON, CSV) or analysis depth (e.g., surface-level trends vs. detailed statistical comparisons). Inputs are validated for completeness and relevance before processing begins.

To initiate a session, users interact with DeepResearch through a programmatic interface, such as a REST API endpoint, a CLI tool, or a SDK method. For instance, a developer might send a POST request to /api/v1/research with a JSON payload containing the research question, sources, and parameters. Alternatively, a CLI command like deepresearch start --topic "CPU benchmarking data" --sources "arXiv,IEEE" --output-format markdown could trigger the process. Authentication is typically handled via API keys or OAuth tokens passed in headers. The system returns a session ID immediately, allowing users to track progress or retrieve results later.

DeepResearch also supports batch processing and asynchronous workflows. For long-running tasks, users can register a webhook URL to receive notifications upon completion or poll a status endpoint using the session ID. Input validation errors (e.g., unsupported data sources or missing topic fields) are returned with specific error codes, enabling developers to debug programmatically. For example, an invalid API request might trigger a 400 Bad Request response with a message like "Source 'Twitter' not supported; valid sources: GitHub, arXiv, StackExchange". This design allows integration into automated pipelines where input parameters can be dynamically generated from other systems.

Like the article? Spread the word