1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- from typing import Any, Literal, Optional, Union
- from pydantic import BaseModel
- from core.prompt.entities.advanced_prompt_entities import ChatModelMessage, CompletionModelPromptTemplate, MemoryConfig
- from core.workflow.entities.base_node_data_entities import BaseNodeData
- from core.workflow.entities.variable_entities import VariableSelector
- class ModelConfig(BaseModel):
- """
- Model Config.
- """
- provider: str
- name: str
- mode: str
- completion_params: dict[str, Any] = {}
- class ContextConfig(BaseModel):
- """
- Context Config.
- """
- enabled: bool
- variable_selector: Optional[list[str]] = None
- class VisionConfig(BaseModel):
- """
- Vision Config.
- """
- class Configs(BaseModel):
- """
- Configs.
- """
- detail: Literal['low', 'high']
- enabled: bool
- configs: Optional[Configs] = None
- class PromptConfig(BaseModel):
- """
- Prompt Config.
- """
- jinja2_variables: Optional[list[VariableSelector]] = None
- class LLMNodeChatModelMessage(ChatModelMessage):
- """
- LLM Node Chat Model Message.
- """
- jinja2_text: Optional[str] = None
- class LLMNodeCompletionModelPromptTemplate(CompletionModelPromptTemplate):
- """
- LLM Node Chat Model Prompt Template.
- """
- jinja2_text: Optional[str] = None
- class LLMNodeData(BaseNodeData):
- """
- LLM Node Data.
- """
- model: ModelConfig
- prompt_template: Union[list[LLMNodeChatModelMessage], LLMNodeCompletionModelPromptTemplate]
- prompt_config: Optional[PromptConfig] = None
- memory: Optional[MemoryConfig] = None
- context: ContextConfig
- vision: VisionConfig
|