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

Быстрый старт

Соберите и запустите цепочку из двух шагов примерно за пять минут.

Окно терминала
pip install mmar-carl

Для OpenAI-совместимых провайдеров (OpenRouter, Azure, локальные LLM):

Окно терминала
pip install 'mmar-carl[openai]'

Цепочки CARL — это списки типизированных описаний шагов. Шаги объявляют свои dependencies, а DAG-исполнитель параллелит всё, что может выполняться одновременно.

from mmar_carl import (
ReasoningChain,
LLMStepDescription,
ReasoningContext,
Language,
OpenAICompatibleClient,
OpenAIClientConfig,
)
steps = [
LLMStepDescription(
number=1,
title="Извлечь утверждения",
aim="Выделить ключевые фактические утверждения из текста.",
reasoning_questions="Что автор подаёт как факт?",
stage_action="Перечислить каждое отдельное утверждение.",
example_reasoning="Отделение фактов от мнений проясняет, что проверять.",
),
LLMStepDescription(
number=2,
title="Оценить обоснованность",
aim="Оценить, насколько хорошо подкреплено каждое утверждение.",
reasoning_questions="Какие утверждения подкреплены доказательствами?",
dependencies=[1], # ждёт шаг 1
stage_action="Оценить каждое: слабо / средне / сильно.",
example_reasoning="Качество доказательств определяет уровень доверия.",
),
]
chain = ReasoningChain(steps=steps, max_workers=2)
client = OpenAICompatibleClient(OpenAIClientConfig(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-v1-...",
model="qwen/qwen3-coder",
))
context = ReasoningContext(
outer_context="<ваш входной текст>",
api=client,
language=Language.RUSSIAN,
system_prompt="Ты внимательный аналитик.",
)
result = chain.execute(context)
print(result.get_final_output())

chain.execute(context) выполняется синхронно. Для async / streaming используйте await chain.execute_async(context) — см. асинхронное исполнение.