ChainBuilder
ChainBuilder — fluent-альтернатива ручному созданию объектов шагов:
цепочка вызовов .add_*() и .with_*(), затем .build().
from mmar_carl import ChainBuilder
chain = ( ChainBuilder() .add_step( number=1, title="Analysis", aim="Analyze the data.", reasoning_questions="What patterns exist?", stage_action="Extract insights.", example_reasoning="Pattern analysis reveals trends.", ) .add_tool_step( number=2, title="Calculate", tool_name="my_calculator", input_mapping={"value": "$history[-1]"}, dependencies=[1], ) .add_memory_step( number=3, title="Store", operation="write", memory_key="result", value_source="$history[-1]", dependencies=[2], ) .with_max_workers(2) .build())Методы добавления шагов
Заголовок раздела «Методы добавления шагов»| Метод | Добавляет |
|---|---|
add_step(number, title, aim, reasoning_questions, stage_action, example_reasoning, …) | LLM-шаг. Также принимает dependencies, step_context_queries, llm_config, execution_mode. |
add_tool_step(number, title, tool_name, input_mapping=…, …) | Tool-шаг (timeout=30.0). |
add_mcp_step(number, title, server_name, tool_name, …) | MCP-шаг (timeout=60.0). |
add_memory_step(number, title, operation, memory_key, …) | Memory-шаг (namespace="default"). |
add_transform_step(number, title, transform_type, input_key="$history[-1]", …) | Transform-шаг. |
add_conditional_step(...) | Шаг с условным ветвлением. |
Каждый метод add_* принимает dependencies, checkpoint, checkpoint_name и
replan_enabled, а также возвращает self для цепочки вызовов.
Методы конфигурации
Заголовок раздела «Методы конфигурации»| Метод | Устанавливает |
|---|---|
with_max_workers(n) | Параллельные воркеры (int или "auto"). |
with_search_config(config) | Стратегию извлечения контекста. |
with_default_llm_config(cfg) | Конфигурацию LLM по умолчанию для всех LLM-шагов. |
with_timeout(seconds) | Таймаут цепочки. |
with_replan_policy(policy) | Политику RE-PLAN. |
with_progress(enable=True) | Логирование прогресса. |
with_metadata(**kv) | Произвольные метаданные. |
with_trace_name(name) / with_session_id(id) | Идентификаторы трассировки. |
with_prompt_template(t) | Пользовательский шаблон промпта. |
Завершите вызовом .build() → ReasoningChain.
Смотрите также
Заголовок раздела «Смотрите также»- Генерация цепочки из текста.
- Динамические ссылки для
input_mapping/value_source.