diff --git a/.env.example b/.env.example index 869c7ad0..b8a42eae 100644 --- a/.env.example +++ b/.env.example @@ -102,4 +102,5 @@ REDBOX_API_KEY = myapi # AUTHBROKER_CLIENT_SECRET=REPLACE_WITH_GITLAB_SECRET # AUTHBROKER_URL=https://sso.trade.gov.uk -ENABLE_METADATA_EXTRACTION = True \ No newline at end of file +ENABLE_METADATA_EXTRACTION = True +SELF_ROUTE_ENABLED = False \ No newline at end of file diff --git a/redbox-core/redbox/models/chain.py b/redbox-core/redbox/models/chain.py index 16eaaff8..a886e829 100644 --- a/redbox-core/redbox/models/chain.py +++ b/redbox-core/redbox/models/chain.py @@ -5,6 +5,8 @@ from typing import Annotated, Literal, NotRequired, Required, TypedDict, get_args, get_origin from uuid import UUID, uuid4 +import environ +from dotenv import load_dotenv from langchain_core.documents import Document from langchain_core.messages import AnyMessage from langgraph.graph.message import add_messages @@ -14,6 +16,9 @@ from redbox.models import prompts from redbox.models.settings import ChatLLMBackend +load_dotenv() +env = environ.Env() + class ChainChatMessage(TypedDict): role: Literal["user", "ai", "system"] @@ -29,7 +34,7 @@ class AISettings(BaseModel): # Prompts and LangGraph settings max_document_tokens: int = 1_000_000 - self_route_enabled: bool = False + self_route_enabled: bool = env.bool("SELF_ROUTE_ENABLED", default=False) map_max_concurrency: int = 128 stuff_chunk_context_ratio: float = 0.75 recursion_limit: int = 50