"description":"Maximum number of research units to run concurrently. This will allow the researcher to use multiple sub-agents to conduct research. Note: with more concurrency, you may run into rate limits."# noqa: E501
{"label":"OpenAI Native Web Search","value":SearchAPI.OPENAI.value},
{"label":"Anthropic Native Web Search","value":SearchAPI.ANTHROPIC.value},
{"label":"None","value":SearchAPI.NONE.value}
]
}
}
)
max_researcher_iterations:int=Field(
default=3,
metadata={
"x_oap_ui_config":{
"type":"slider",
"default":3,
"min":1,
"max":10,
"step":1,
"description":"Maximum number of research iterations for the Research Supervisor. This is the number of times the Research Supervisor will reflect on the research and ask follow-up questions."
}
}
)
max_react_tool_calls:int=Field(
default=5,
metadata={
"x_oap_ui_config":{
"type":"slider",
"default":5,
"min":1,
"max":30,
"step":1,
"description":"Maximum number of tool calling iterations to make in a single researcher step."
}
}
)
# Model Configuration
summarization_model:str=Field(
default="openai:gpt-4.1-nano",
metadata={
"x_oap_ui_config":{
"type":"text",
"default":"openai:gpt-4.1-nano",
"description":"Model for summarizing research results from Tavily search results"
}
}
)
summarization_model_max_tokens:int=Field(
default=8192,
metadata={
"x_oap_ui_config":{
"type":"number",
"default":8192,
"description":"Maximum output tokens for summarization model"
}
}
)
research_model:str=Field(
default="openai:gpt-4.1",
metadata={
"x_oap_ui_config":{
"type":"text",
"default":"openai:gpt-4.1",
"description":"Model for conducting research. NOTE: Make sure your Researcher Model supports the selected search API."
}
}
)
research_model_max_tokens:int=Field(
default=10000,
metadata={
"x_oap_ui_config":{
"type":"number",
"default":10000,
"description":"Maximum output tokens for research model"
}
}
)
compression_model:str=Field(
default="openai:gpt-4.1-mini",
metadata={
"x_oap_ui_config":{
"type":"text",
"default":"openai:gpt-4.1-mini",
"description":"Model for compressing research findings from sub-agents. NOTE: Make sure your Compression Model supports the selected search API."
}
}
)
compression_model_max_tokens:int=Field(
default=8192,
metadata={
"x_oap_ui_config":{
"type":"number",
"default":8192,
"description":"Maximum output tokens for compression model"
}
}
)
final_report_model:str=Field(
default="openai:gpt-4.1",
metadata={
"x_oap_ui_config":{
"type":"text",
"default":"openai:gpt-4.1",
"description":"Model for writing the final report from all research findings"
}
}
)
final_report_model_max_tokens:int=Field(
default=10000,
metadata={
"x_oap_ui_config":{
"type":"number",
"default":10000,
"description":"Maximum output tokens for final report model"