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

Извлечение контекста

Каждый LLM-шаг может объявить step_context_queries. По каждому запросу CARL ищет в вашем outer_context и вставляет найденные фрагменты в промпт этого шага — так каждый шаг видит только тот контекст, который ему нужен. Это RAG-подобное извлечение, лежащее в основе CARL.

LLMStepDescription(
number=1,
title="Financial analysis",
aim="Analyze financial performance.",
step_context_queries=["revenue growth", "profit margins", "cost efficiency"],
)

Настройте поиск на уровне цепочки с помощью ContextSearchConfig:

ПолеТипПо умолчаниюНазначение
strategy"substring" | "vector""substring"Стратегия поиска по умолчанию.
substring_configdict | NoneNoneПараметры substring-поиска.
vector_configdict | NoneNoneПараметры векторного поиска.
embedding_modelstr | NoneNoneМодель эмбеддингов для векторного поиска.
  • Substring (по умолчанию) — быстрое точное сопоставление по ключевым словам, без дополнительных зависимостей.
  • Vector — семантическое сходство через FAISS-эмбеддинги; см. векторный поиск.
from mmar_carl import ContextSearchConfig, ReasoningChain
search_config = ContextSearchConfig(
strategy="substring",
substring_config={
"case_sensitive": False, # default
"min_word_length": 2, # default
"max_matches_per_query": 3, # default
},
)
chain = ReasoningChain(steps=steps, search_config=search_config)

Или через построитель: ChainBuilder().with_search_config(search_config).

Смешивайте обычные строки-запросы и объекты ContextQuery в одном шаге для переопределения стратегии у отдельных запросов:

from mmar_carl import ContextQuery
step_context_queries=[
"EBITDA", # uses the chain default
ContextQuery(
query="revenue trends",
search_strategy="vector",
search_config={"similarity_threshold": 0.8, "max_results": 3},
),
ContextQuery(
query="NET_INCOME",
search_strategy="substring",
search_config={"case_sensitive": True},
),
]
Поле ContextQueryТипНазначение
querystrТекст запроса.
search_strategy"substring" | "vector" | NoneПереопределение для этого запроса.
search_configdict | NoneДополнительные параметры поиска для этого запроса.