ReasoningChain
ReasoningChain — основной публичный API: список шагов
плюс настройки исполнения. Он прогоняет шаги через DAG-исполнитель и сериализуется в
JSON для повторного использования.
Конструктор
Заголовок раздела «Конструктор»ReasoningChain(steps, max_workers=3, ...)| Параметр | Тип | По умолчанию | Назначение |
|---|---|---|---|
steps | Sequence[StepDescription...] | — (обязательное) | Шаги для выполнения. |
max_workers | int | str | 3 | Размер пула параллельных воркеров. "auto" подбирает оптимальное значение. |
enable_progress | bool | False | Включить логирование прогресса. |
search_config | ContextSearchConfig | None | None | Стратегия извлечения контекста (substring / vector). |
metrics | list[MetricBase] | [] | Метрики на уровне цепочки. |
timeout | float | None | None | Таймаут цепочки в секундах. |
replan_policy | ReplanPolicy | None | None | Политика RE-PLAN. |
default_llm_config | LLMStepConfig | None | None | Конфигурация LLM по умолчанию для всех LLM-шагов. |
memory_schema | dict | None | None | Схема проверки записей в память. |
metadata | dict | None | None | Произвольные метаданные, сохранённые в цепочке. |
(Также: prompt_template, trace_name, session_id, step_groups, max_injections.)
Запуск цепочки
Заголовок раздела «Запуск цепочки»result = chain.execute(context) # synchronousresult = await chain.execute_async(context) # asyncДля пошагового стриминга используйте stream_async. Подробнее
об асинхронном выполнении — см. async execution.
Сериализация
Заголовок раздела «Сериализация»Цепочки сохраняются в JSON и загружаются обратно:
chain.save("my_chain.json") # write to diskloaded = ReasoningChain.load("my_chain.json")
d = chain.to_dict(); ReasoningChain.from_dict(d)s = chain.to_json(); ReasoningChain.from_json(s)from_dict выполняет полную валидацию (циклы, ссылки на зависимости, предупреждения о
синтаксисе ссылок).
Другие методы цепочки
Заголовок раздела «Другие методы цепочки»chain.estimate_cost(pricing=...)— предварительный расчёт токенов/USD без запуска.chain.to_mermaid()— отрисовка DAG в виде Mermaid-диаграммы.chain.reflect(...)— анализ завершённого запуска.
Способы построения цепочки
Заголовок раздела «Способы построения цепочки»- Напрямую — передать список типизированных описаний шагов (эта страница).
ChainBuilder— fluent-построитель.ChainBuilder.from_description— генерация цепочки из текста на естественном языке.