Customization & Capability

Custom Prompt

We can customize the deep researcher prompts by supplying a custom PromptBuilder object. This is useful for adding custom instructions or simply adjusting the tone of the deep research results.

Please note that although we're only using the OpenAIDeepResearcher in the example above, the same approach applies to any other deep researcher subclass.

See complete code on GitHub

MCP Integration

circle-exclamation

By default, deep researcher components have the capability to access the internet perform web search operations. This enables them to retrieve and utilize latest public information in the deep research process.

However, sometimes we also need to use non-public services as a source of knowledge. We can provide additional data sources to deep research by supplying MCP tools at invocation time.

MCP integration allows deep research to access private or non-public data (such as enterprise systems or personal data sources) during execution. It does not change how deep research performs research or reasoning internally.

Make sure you have:

  • MCP server URL or MCP connector credentials

  • For MCP connectors (like Google Calendar), get auth token from the provider

Data Store Integration

circle-exclamation

Another way to connect to a non-public source of knowledge is by integrating a data store to our deep researcher component. This allows the deep researcher to access files stored in certain provider-managed file stores services. To learn more about these data stores, please refer to the LM invoker data store management page.

Event Timeout Configuration

circle-exclamation

Due to the prolonged process of event streaming, any individual event might momentarily become stuck at some point during the emission phase. To circumvent this potential bottleneck and ensure a smooth flow of events, you can configure an event_idle_timeout parameter when initializing the deep researcher.

This timeout mechanism monitors event emission and automatically retries if an event remains idle for longer than the specified duration.

In this example:

  • retry_config sets the overall timeout (3600 seconds) and maximum retries (4 attempts)

  • event_idle_timeout=5 ensures that if any event remains idle for more than 5 seconds, it will be retried automatically

Next Step

  1. Explore different research profilesarrow-up-right for GLOpenDeepResearcher.

  2. Explore of Deep Researcher Component with customization.

Last updated

Was this helpful?