Перейти к содержимому

ReasoningChain

ReasoningChain — основной публичный API: список шагов плюс настройки исполнения. Он прогоняет шаги через DAG-исполнитель и сериализуется в JSON для повторного использования.

ReasoningChain(steps, max_workers=3, ...)
ПараметрТипПо умолчаниюНазначение
stepsSequence[StepDescription...]— (обязательное)Шаги для выполнения.
max_workersint | str3Размер пула параллельных воркеров. "auto" подбирает оптимальное значение.
enable_progressboolFalseВключить логирование прогресса.
search_configContextSearchConfig | NoneNoneСтратегия извлечения контекста (substring / vector).
metricslist[MetricBase][]Метрики на уровне цепочки.
timeoutfloat | NoneNoneТаймаут цепочки в секундах.
replan_policyReplanPolicy | NoneNoneПолитика RE-PLAN.
default_llm_configLLMStepConfig | NoneNoneКонфигурация LLM по умолчанию для всех LLM-шагов.
memory_schemadict | NoneNoneСхема проверки записей в память.
metadatadict | NoneNoneПроизвольные метаданные, сохранённые в цепочке.

(Также: prompt_template, trace_name, session_id, step_groups, max_injections.)

result = chain.execute(context) # synchronous
result = await chain.execute_async(context) # async

Для пошагового стриминга используйте stream_async. Подробнее об асинхронном выполнении — см. async execution.

Цепочки сохраняются в JSON и загружаются обратно:

chain.save("my_chain.json") # write to disk
loaded = 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 — генерация цепочки из текста на естественном языке.