optimize get app model to wraps

This commit is contained in:
takatost
2024-02-19 16:55:59 +08:00
parent cef16862da
commit 381b3d5016
17 changed files with 232 additions and 265 deletions

View File

@ -4,12 +4,12 @@ from typing import Optional
from core.app_runner.app_runner import AppRunner
from core.application_queue_manager import ApplicationQueueManager, PublishFrom
from core.callback_handler.index_tool_callback_handler import DatasetIndexToolCallbackHandler
from core.entities.application_entities import ApplicationGenerateEntity, DatasetEntity, InvokeFrom, ModelConfigEntity
from core.entities.application_entities import ApplicationGenerateEntity, DatasetEntity, InvokeFrom, ModelConfigEntity, \
AppMode
from core.features.dataset_retrieval.dataset_retrieval import DatasetRetrievalFeature
from core.memory.token_buffer_memory import TokenBufferMemory
from core.model_manager import ModelInstance
from core.moderation.base import ModerationException
from core.prompt.prompt_transform import AppMode
from extensions.ext_database import db
from models.model import App, Conversation, Message

View File

@ -9,6 +9,26 @@ from core.model_runtime.entities.message_entities import PromptMessageRole
from core.model_runtime.entities.model_entities import AIModelEntity
class AppMode(Enum):
COMPLETION = 'completion' # will be deprecated in the future
WORKFLOW = 'workflow' # instead of 'completion'
CHAT = 'chat'
AGENT = 'agent'
@classmethod
def value_of(cls, value: str) -> 'AppMode':
"""
Get value of given mode.
:param value: mode value
:return: mode
"""
for mode in cls:
if mode.value == value:
return mode
raise ValueError(f'invalid mode value {value}')
class ModelConfigEntity(BaseModel):
"""
Model Config Entity.

View File

@ -7,7 +7,7 @@ from typing import Optional, cast
from core.entities.application_entities import (
AdvancedCompletionPromptTemplateEntity,
ModelConfigEntity,
PromptTemplateEntity,
PromptTemplateEntity, AppMode,
)
from core.file.file_obj import FileObj
from core.memory.token_buffer_memory import TokenBufferMemory
@ -25,24 +25,6 @@ from core.prompt.prompt_builder import PromptBuilder
from core.prompt.prompt_template import PromptTemplateParser
class AppMode(enum.Enum):
COMPLETION = 'completion'
CHAT = 'chat'
@classmethod
def value_of(cls, value: str) -> 'AppMode':
"""
Get value of given mode.
:param value: mode value
:return: mode
"""
for mode in cls:
if mode.value == value:
return mode
raise ValueError(f'invalid mode value {value}')
class ModelMode(enum.Enum):
COMPLETION = 'completion'
CHAT = 'chat'