motleycrew.applications.research_agent.question_task
Classes
|
|
|
Task to generate subquestions based on a given question. |
- class motleycrew.applications.research_agent.question_task.QuestionGenerationTaskUnit(*, status: str = 'pending', output: Any | None = None, question: Question)
Bases:
TaskUnit- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class motleycrew.applications.research_agent.question_task.QuestionTask(question: str, query_tool: MotleyTool, crew: MotleyCrew, max_iter: int = 10, allow_async_units: bool = False, llm: BaseLanguageModel | None = None, name: str = 'QuestionTask')
Bases:
TaskTask to generate subquestions based on a given question.
- __init__(question: str, query_tool: MotleyTool, crew: MotleyCrew, max_iter: int = 10, allow_async_units: bool = False, llm: BaseLanguageModel | None = None, name: str = 'QuestionTask')
Initialize the task.
- Parameters:
name – Name of the task.
task_unit_class – Class for representing task units.
crew – Crew to which the task belongs. If not provided, the task should be registered with a crew later.
allow_async_units – Whether the task allows asynchronous units. Default is False. If True, the task may be queried for the next unit even if it has other units in progress.
- get_next_unit() QuestionGenerationTaskUnit | None
Choose the most pertinent question to generate subquestions for.
- on_unit_dispatch(unit: TaskUnitType) None
Increment the iteration count when a unit is dispatched.
- on_unit_completion(unit: TaskUnitType) None
Check if the task is done after each unit completion.
The task is done if the maximum number of iterations is reached.
- get_worker(tools: List[MotleyTool] | None) Runnable
Return the worker that will process the task units.