simbiot-harness/venv/lib/python3.12/site-packages/strands/models/__init__.py
Simbiot Harness b60439152b Simbiot Harness v0.1: тактовая лестница на Strands + CQRS/ES-спина
- harness/es.py: append-only event store + проекции (образец — кооп-портал)
- harness/levels.py: уровни 1с/1м/1ч/1д, контекст ∝ масштабу
- harness/scheduler.py: уровневые потоки, идемпотентные тики, absorbed-стабы
- harness/isolated_runner.py + _llm_worker.py: LLM-тик в сабпроцессе
  (глобальный asyncio-рантайм Strands не переживает 2+ create_harness)
- cli.py: init/task/tasks/status/events + requeue (написан самим минутным агентом)
- 9router: отдельный ключ sk-simbiot, модель auto (glm-5.3 первым)
2026-09-29 15:28:50 +00:00

91 lines
2.2 KiB
Python

"""SDK model providers.
This package includes an abstract base Model class along with concrete implementations for specific providers.
"""
from typing import Any
from . import bedrock, model, routing
from .bedrock import BedrockModel
from .model import BaseModelConfig, CacheConfig, CacheToolsConfig, Model
from .routing import (
CandidateInput,
ClassifierStrategy,
FallbackStrategy,
ModelRouter,
RoutingAttempt,
RoutingCandidate,
RoutingContext,
RoutingStrategy,
)
__all__ = [
"bedrock",
"model",
"routing",
"BaseModelConfig",
"BedrockModel",
"CacheConfig",
"CacheToolsConfig",
"CandidateInput",
"ClassifierStrategy",
"FallbackStrategy",
"Model",
"ModelRouter",
"RoutingAttempt",
"RoutingCandidate",
"RoutingContext",
"RoutingStrategy",
]
def __getattr__(name: str) -> Any:
"""Lazy load model implementations only when accessed.
This defers the import of optional dependencies until actually needed.
"""
if name == "AnthropicModel":
from .anthropic import AnthropicModel
return AnthropicModel
if name == "GeminiModel":
from .gemini import GeminiModel
return GeminiModel
if name == "LiteLLMModel":
from .litellm import LiteLLMModel
return LiteLLMModel
if name == "LlamaAPIModel":
from .llamaapi import LlamaAPIModel
return LlamaAPIModel
if name == "LlamaCppModel":
from .llamacpp import LlamaCppModel
return LlamaCppModel
if name == "MistralModel":
from .mistral import MistralModel
return MistralModel
if name == "OllamaModel":
from .ollama import OllamaModel
return OllamaModel
if name == "OpenAIModel":
from .openai import OpenAIModel
return OpenAIModel
if name == "OpenAIResponsesModel":
from .openai_responses import OpenAIResponsesModel
return OpenAIResponsesModel
if name == "SageMakerAIModel":
from .sagemaker import SageMakerAIModel
return SageMakerAIModel
if name == "WriterModel":
from .writer import WriterModel
return WriterModel
raise AttributeError(f"cannot import name '{name}' from '{__name__}' ({__file__})")