feat(llm): migrate from OpenRouter to OpusAgent

Replace OpenRouter (openai SDK) with OpusAgent REST API (httpx + polling).
LLMClient now creates topics per system prompt, submits async requests,
and polls for completion. Model tiers map to Claude model IDs
(opus-4-7, sonnet-4-6, haiku-4-5) configurable via env vars.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Adriano Dal Pastro
2026-05-26 09:09:54 +00:00
parent a702b2090d
commit 646c64dacd
10 changed files with 342 additions and 324 deletions
+4 -4
View File
@@ -159,8 +159,8 @@ def parse_args() -> argparse.Namespace:
default=1,
help=(
"Numero di propose() LLM concorrenti per generazione (default 1 = "
"serial). 6-10 tipicamente accettati da OpenRouter qwen-2.5 senza "
"rate-limit; riduce wall time GA loop di 5-8x."
"serial). OpusAgent processa in coda FIFO; concurrency > 1 accoda "
"piu' richieste in parallelo."
),
)
return p.parse_args()
@@ -200,13 +200,13 @@ def main() -> None:
print(f"OHLCV loaded: {len(ohlcv)} bars from {ohlcv.index[0]} to {ohlcv.index[-1]}")
llm = LLMClient(
openrouter_api_key=settings.openrouter_api_key.get_secret_value(),
opus_agent_api_key=settings.opus_agent_api_key.get_secret_value(),
opus_agent_base_url=settings.opus_agent_base_url,
model_tier_s=settings.llm_model_tier_s,
model_tier_a=settings.llm_model_tier_a,
model_tier_b=settings.llm_model_tier_b,
model_tier_c=settings.llm_model_tier_c,
model_tier_d=settings.llm_model_tier_d,
openrouter_base_url=settings.openrouter_base_url,
)
cfg = RunConfig(
+2 -4
View File
@@ -410,16 +410,14 @@ def main() -> None:
)
loader = CerberoOHLCVLoader(client=cerbero, cache_dir=settings.series_dir)
# LLM client (qwen-2.5-72b tier C come da spec progetto - vedi MEMORY:
# cambiare modello senza ricalibrare = regressione dimostrata).
llm = LLMClient(
openrouter_api_key=settings.openrouter_api_key.get_secret_value(),
opus_agent_api_key=settings.opus_agent_api_key.get_secret_value(),
opus_agent_base_url=settings.opus_agent_base_url,
model_tier_s=settings.llm_model_tier_s,
model_tier_a=settings.llm_model_tier_a,
model_tier_b=settings.llm_model_tier_b,
model_tier_c=settings.llm_model_tier_c,
model_tier_d=settings.llm_model_tier_d,
openrouter_base_url=settings.openrouter_base_url,
)
# Setup DB winners (separato dal GA core DB).