diff --git a/lang_agent/config/__init__.py b/lang_agent/config/__init__.py index 48d287f..8073859 100644 --- a/lang_agent/config/__init__.py +++ b/lang_agent/config/__init__.py @@ -1 +1,4 @@ -from lang_agent.config.core_config import InstantiateConfig, ToolConfig, LLMKeyConfig \ No newline at end of file +from lang_agent.config.core_config import (InstantiateConfig, + ToolConfig, + LLMKeyConfig, + LLMNodeConfig) \ No newline at end of file diff --git a/lang_agent/config/core_config.py b/lang_agent/config/core_config.py index 309c9d0..70e5fb8 100644 --- a/lang_agent/config/core_config.py +++ b/lang_agent/config/core_config.py @@ -1,5 +1,5 @@ from dataclasses import dataclass, is_dataclass, fields, MISSING -from typing import Any, Tuple, Type +from typing import Any, Tuple, Type, Optional import yaml from pathlib import Path from typing import Dict @@ -149,6 +149,19 @@ class LLMKeyConfig(InstantiateConfig): logger.info("ALI_API_KEY loaded from environ") +@dataclass +class LLMNodeConfig(LLMKeyConfig): + """ + class is for LLM nodes that has system prompt config + """ + + pipeline_id: Optional[str] = None + """If set, load prompts from database (with file fallback)""" + + prompt_set_id: Optional[str] = None + """If set, load from this specific prompt set instead of the active one""" + + @dataclass class ToolConfig(InstantiateConfig): use_tool:bool = True