chore(build): Fix typo and new pre-commit config (#987)

This commit is contained in:
Fangyin Cheng
2023-12-28 14:14:20 +08:00
committed by GitHub
parent b13d3f6d92
commit fd3a5d2bfa
77 changed files with 432 additions and 446 deletions

View File

@@ -1,52 +1,30 @@
import logging
import json
import asyncio
import logging
import uuid
from abc import ABC
from collections import defaultdict
from typing import Any, Callable, Dict, List, Literal, Optional, Tuple, Type, Union
from fastapi import (
APIRouter,
Body,
UploadFile,
File,
)
from fastapi import APIRouter, Body
from fastapi.responses import StreamingResponse
from abc import ABC
from typing import List
from dbgpt.core.awel import BaseOperator, SimpleCallDataInputSource, InputOperator, DAG
from dbgpt.model.operator.model_operator import ModelOperator, ModelStreamOperator
from dbgpt.app.openapi.api_view_model import Result, ConversationVo
from dbgpt.util.json_utils import EnhancedJSONEncoder
from dbgpt.serve.agent.model import (
PluginHubParam,
PagenationFilter,
PagenationResult,
PluginHubFilter,
)
from dbgpt.agent.common.schema import Status
from dbgpt.agent.agents.agents_mange import AgentsMange
from dbgpt._private.config import Config
from dbgpt.agent.agents.agent import AgentContext
from dbgpt.agent.agents.agents_mange import agent_mange
from dbgpt.agent.agents.plan_group_chat import PlanChat, PlanChatManager
from dbgpt.agent.agents.planner_agent import PlannerAgent
from dbgpt.agent.agents.user_proxy_agent import UserProxyAgent
from dbgpt.agent.agents.plan_group_chat import PlanChat, PlanChatManager
from dbgpt.agent.agents.agent import AgentContext
from dbgpt.agent.common.schema import Status
from dbgpt.agent.memory.gpts_memory import GptsMemory
from .db_gpts_memory import MetaDbGptsPlansMemory, MetaDbGptsMessageMemory
from ..db.gpts_mange_db import GptsInstanceDao, GptsInstanceEntity
from ..db.gpts_conversations_db import GptsConversationsDao, GptsConversationsEntity
from .dbgpts import DbGptsCompletion, DbGptsTaskStep, DbGptsMessage, DbGptsInstance
from dbgpt.app.openapi.api_view_model import Result
from dbgpt.component import BaseComponent, ComponentType, SystemApp
from dbgpt.agent.agents.agents_mange import agent_mange
from dbgpt._private.config import Config
from dbgpt.model.cluster.controller.controller import BaseModelController
from dbgpt.agent.memory.gpts_memory import GptsMessage
from dbgpt.model.cluster import WorkerManager, WorkerManagerFactory
from dbgpt.model.cluster import WorkerManagerFactory
from dbgpt.model.cluster.client import DefaultLLMClient
from dbgpt.serve.agent.model import PagenationFilter, PluginHubFilter
from ..db.gpts_conversations_db import GptsConversationsDao, GptsConversationsEntity
from ..db.gpts_mange_db import GptsInstanceDao, GptsInstanceEntity
from .db_gpts_memory import MetaDbGptsMessageMemory, MetaDbGptsPlansMemory
from .dbgpts import DbGptsInstance
CFG = Config()

View File

@@ -1,13 +1,14 @@
from typing import List, Optional
from dbgpt.agent.memory.base import GptsPlan
from dbgpt.agent.memory.gpts_memory import (
GptsPlansMemory,
GptsPlan,
GptsMessageMemory,
GptsMessage,
GptsMessageMemory,
GptsPlansMemory,
)
from ..db.gpts_plans_db import GptsPlansEntity, GptsPlansDao
from ..db.gpts_messages_db import GptsMessagesDao, GptsMessagesEntity
from ..db.gpts_plans_db import GptsPlansDao, GptsPlansEntity
class MetaDbGptsPlansMemory(GptsPlansMemory):

View File

@@ -1,10 +1,9 @@
from __future__ import annotations
from enum import Enum
from abc import ABC, abstractmethod
from typing import Any, Callable, Dict, List, Literal, Optional, Tuple, Type, Union
from dataclasses import dataclass, asdict, fields
import dataclasses
from dataclasses import dataclass
from enum import Enum
from typing import Any, Dict, List, Optional
from dbgpt.agent.agents.agent import AgentResource

View File

@@ -1,19 +1,22 @@
from datetime import datetime
from typing import List
from sqlalchemy import Column, Integer, String, Index, DateTime, func, Text, desc
from sqlalchemy import UniqueConstraint
from sqlalchemy import (
Column,
DateTime,
Index,
Integer,
String,
Text,
UniqueConstraint,
desc,
func,
)
from dbgpt.storage.metadata import BaseDao, Model
class GptsConversationsEntity(Model):
__tablename__ = "gpts_conversations"
__table_args__ = {
"mysql_charset": "utf8mb4",
"mysql_collate": "utf8mb4_unicode_ci",
}
id = Column(Integer, primary_key=True, comment="autoincrement id")
conv_id = Column(

View File

@@ -1,17 +1,12 @@
from datetime import datetime
from typing import List
from sqlalchemy import Column, Integer, String, Index, DateTime, func, Text, Boolean
from sqlalchemy import UniqueConstraint
from sqlalchemy import Column, DateTime, Integer, String, Text, UniqueConstraint
from dbgpt.storage.metadata import BaseDao, Model
class GptsInstanceEntity(Model):
__tablename__ = "gpts_instance"
__table_args__ = {
"mysql_charset": "utf8mb4",
"mysql_collate": "utf8mb4_unicode_ci",
}
id = Column(Integer, primary_key=True, comment="autoincrement id")
gpts_name = Column(String(255), nullable=False, comment="Current AI assistant name")

View File

@@ -1,28 +1,24 @@
from datetime import datetime
from typing import List, Optional
from sqlalchemy import (
Column,
DateTime,
Index,
Integer,
String,
Index,
DateTime,
func,
Text,
or_,
and_,
desc,
func,
or_,
)
from sqlalchemy import UniqueConstraint
from dbgpt.storage.metadata import BaseDao, Model
class GptsMessagesEntity(Model):
__tablename__ = "gpts_messages"
__table_args__ = {
"mysql_charset": "utf8mb4",
"mysql_collate": "utf8mb4_unicode_ci",
}
id = Column(Integer, primary_key=True, comment="autoincrement id")
conv_id = Column(

View File

@@ -1,18 +1,13 @@
from datetime import datetime
from typing import List
from sqlalchemy import Column, Integer, String, Index, DateTime, func, Text
from sqlalchemy import UniqueConstraint
from dbgpt.storage.metadata import BaseDao, Model
from sqlalchemy import Column, DateTime, Integer, String, Text, UniqueConstraint
from dbgpt.agent.common.schema import Status
from dbgpt.storage.metadata import BaseDao, Model
class GptsPlansEntity(Model):
__tablename__ = "gpts_plans"
__table_args__ = {
"mysql_charset": "utf8mb4",
"mysql_collate": "utf8mb4_unicode_ci",
}
id = Column(Integer, primary_key=True, comment="autoincrement id")
conv_id = Column(

View File

@@ -1,6 +1,6 @@
from datetime import datetime
from sqlalchemy import Column, Integer, String, DateTime, func
from sqlalchemy import UniqueConstraint
from sqlalchemy import Column, DateTime, Integer, String, UniqueConstraint, func
from dbgpt.storage.metadata import BaseDao, Model

View File

@@ -1,7 +1,16 @@
from datetime import datetime
import pytz
from sqlalchemy import Column, Integer, String, Index, DateTime, func, DDL
from sqlalchemy import UniqueConstraint
from sqlalchemy import (
DDL,
Column,
DateTime,
Index,
Integer,
String,
UniqueConstraint,
func,
)
from dbgpt.storage.metadata import BaseDao, Model

View File

@@ -1,18 +1,19 @@
import glob
import json
import logging
import os
import glob
import shutil
from fastapi import UploadFile
from typing import Any
import tempfile
from typing import Any
from ..db.plugin_hub_db import PluginHubEntity, PluginHubDao
from ..db.my_plugin_db import MyPluginDao, MyPluginEntity
from fastapi import UploadFile
from dbgpt.agent.common.schema import PluginStorageType
from dbgpt.agent.plugin.plugins_util import scan_plugins, update_from_git
from ..db.my_plugin_db import MyPluginDao, MyPluginEntity
from ..db.plugin_hub_db import PluginHubDao, PluginHubEntity
logger = logging.getLogger(__name__)
Default_User = "default"
DEFAULT_PLUGIN_REPO = "https://github.com/eosphoros-ai/DB-GPT-Plugins.git"

View File

@@ -1,31 +1,22 @@
import logging
from fastapi import (
APIRouter,
Body,
UploadFile,
File,
)
from abc import ABC
from typing import List
from dbgpt.app.openapi.api_view_model import (
Result,
)
from fastapi import APIRouter, Body, File, UploadFile
from dbgpt.agent.plugin.generator import PluginPromptGenerator
from dbgpt.agent.plugin.plugins_util import scan_plugins
from dbgpt.app.openapi.api_view_model import Result
from dbgpt.component import BaseComponent, ComponentType, SystemApp
from dbgpt.configs.model_config import PLUGINS_DIR
from dbgpt.serve.agent.db.plugin_hub_db import PluginHubEntity
from dbgpt.serve.agent.hub.agent_hub import AgentHub
from dbgpt.serve.agent.model import (
PluginHubParam,
PagenationFilter,
PagenationResult,
PluginHubFilter,
PluginHubParam,
)
from dbgpt.serve.agent.hub.agent_hub import AgentHub
from dbgpt.serve.agent.db.plugin_hub_db import PluginHubEntity
from dbgpt.agent.plugin.plugins_util import scan_plugins
from dbgpt.agent.plugin.generator import PluginPromptGenerator
from dbgpt.configs.model_config import PLUGINS_DIR
from dbgpt.component import BaseComponent, ComponentType, SystemApp
router = APIRouter()
logger = logging.getLogger(__name__)

View File

@@ -1,6 +1,6 @@
from typing import TypedDict, Optional, Dict, List
from dataclasses import dataclass
from typing import TypeVar, Generic, Any
from typing import Any, Dict, Generic, List, Optional, TypedDict, TypeVar
from dbgpt._private.pydantic import BaseModel, Field
T = TypeVar("T")

View File

@@ -1,15 +1,16 @@
from typing import Optional, List
from functools import cache
from fastapi import APIRouter, Depends, Query, HTTPException
from fastapi.security.http import HTTPAuthorizationCredentials, HTTPBearer
from typing import List, Optional
from fastapi import APIRouter, Depends, HTTPException, Query
from fastapi.security.http import HTTPAuthorizationCredentials, HTTPBearer
from dbgpt.component import SystemApp
from dbgpt.serve.core import Result
from dbgpt.util import PaginationResult
from .schemas import ServeRequest, ServerResponse
from ..config import APP_NAME, SERVE_APP_NAME, SERVE_SERVICE_COMPONENT_NAME, ServeConfig
from ..service.service import Service
from ..config import APP_NAME, SERVE_APP_NAME, ServeConfig, SERVE_SERVICE_COMPONENT_NAME
from .schemas import ServeRequest, ServerResponse
router = APIRouter()
@@ -54,8 +55,9 @@ async def check_api_key(
.. code-block:: python
import requests
client_api_key = "your_api_key"
headers = {"Authorization": "Bearer " + client_api_key }
headers = {"Authorization": "Bearer " + client_api_key}
res = requests.get("http://test/hello", headers=headers)
assert res.status_code == 200

View File

@@ -1,5 +1,6 @@
# Define your Pydantic schemas here
from dbgpt._private.pydantic import BaseModel, Field
from ..config import SERVE_APP_NAME_HUMP

View File

@@ -1,9 +1,8 @@
from typing import Optional
from dataclasses import dataclass, field
from typing import Optional
from dbgpt.serve.core import BaseServeConfig
APP_NAME = "conversation"
SERVE_APP_NAME = "dbgpt_serve_conversation"
SERVE_APP_NAME_HUMP = "dbgpt_serve_Conversation"

View File

@@ -1,12 +1,15 @@
"""This is an auto-generated model file
You can define your own models and DAOs here
"""
from typing import Union, Any, Dict
from datetime import datetime
from sqlalchemy import Column, Integer, String, Index, Text, DateTime
from dbgpt.storage.metadata import Model, BaseDao, db
from typing import Any, Dict, Union
from sqlalchemy import Column, DateTime, Index, Integer, String, Text
from dbgpt.storage.metadata import BaseDao, Model, db
from ..api.schemas import ServeRequest, ServerResponse
from ..config import ServeConfig, SERVER_APP_TABLE_NAME
from ..config import SERVER_APP_TABLE_NAME, ServeConfig
class ServeEntity(Model):

View File

@@ -1,15 +1,17 @@
from typing import List, Optional, Union
import logging
from dbgpt.component import SystemApp
from typing import List, Optional, Union
from sqlalchemy import URL
from dbgpt.component import SystemApp
from dbgpt.core import StorageInterface
from dbgpt.storage.metadata import DatabaseManager
from dbgpt.serve.core import BaseServe
from dbgpt.storage.metadata import DatabaseManager
from .config import (
APP_NAME,
SERVE_APP_NAME,
SERVE_APP_NAME_HUMP,
APP_NAME,
SERVE_CONFIG_KEY_PREFIX,
ServeConfig,
)
@@ -72,16 +74,16 @@ class Serve(BaseServe):
def before_start(self):
"""Called before the start of the application."""
# TODO: Your code here
from dbgpt.storage.metadata.db_storage import SQLAlchemyStorage
from dbgpt.util.serialization.json_serialization import JsonSerializer
from dbgpt.storage.chat_history.chat_history_db import (
ChatHistoryEntity,
ChatHistoryMessageEntity,
)
from dbgpt.storage.chat_history.storage_adapter import (
DBStorageConversationItemAdapter,
DBMessageStorageItemAdapter,
DBStorageConversationItemAdapter,
)
from dbgpt.storage.metadata.db_storage import SQLAlchemyStorage
from dbgpt.util.serialization.json_serialization import JsonSerializer
self._db_manager = self.create_or_get_db_manager()

View File

@@ -1,11 +1,13 @@
from typing import Optional, List
from typing import List, Optional
from dbgpt.component import BaseComponent, SystemApp
from dbgpt.serve.core import BaseService
from dbgpt.storage.metadata import BaseDao
from dbgpt.util.pagination_utils import PaginationResult
from dbgpt.serve.core import BaseService
from ..models.models import ServeDao, ServeEntity
from ..api.schemas import ServeRequest, ServerResponse
from ..config import SERVE_SERVICE_COMPONENT_NAME, SERVE_CONFIG_KEY_PREFIX, ServeConfig
from ..config import SERVE_CONFIG_KEY_PREFIX, SERVE_SERVICE_COMPONENT_NAME, ServeConfig
from ..models.models import ServeDao, ServeEntity
class Service(BaseService[ServeEntity, ServeRequest, ServerResponse]):

View File

@@ -1,15 +1,15 @@
import pytest
from fastapi import FastAPI
from httpx import AsyncClient
from fastapi import FastAPI
from dbgpt.component import SystemApp
from dbgpt.serve.core.tests.conftest import asystem_app, client
from dbgpt.storage.metadata import db
from dbgpt.util import PaginationResult
from ..config import SERVE_CONFIG_KEY_PREFIX
from ..api.endpoints import router, init_endpoints
from ..api.schemas import ServeRequest, ServerResponse
from dbgpt.serve.core.tests.conftest import client, asystem_app
from ..api.endpoints import init_endpoints, router
from ..api.schemas import ServeRequest, ServerResponse
from ..config import SERVE_CONFIG_KEY_PREFIX
@pytest.fixture(autouse=True)

View File

@@ -1,9 +1,12 @@
from typing import List
import pytest
from dbgpt.storage.metadata import db
from ..config import ServeConfig
from ..api.schemas import ServeRequest, ServerResponse
from ..models.models import ServeEntity, ServeDao
from ..config import ServeConfig
from ..models.models import ServeDao, ServeEntity
@pytest.fixture(autouse=True)

View File

@@ -1,11 +1,13 @@
from typing import List
import pytest
from dbgpt.component import SystemApp
from dbgpt.storage.metadata import db
from dbgpt.serve.core.tests.conftest import system_app
from ..models.models import ServeEntity
import pytest
from dbgpt.component import SystemApp
from dbgpt.serve.core.tests.conftest import system_app
from dbgpt.storage.metadata import db
from ..api.schemas import ServeRequest, ServerResponse
from ..models.models import ServeEntity
from ..service.service import Service

View File

@@ -1,6 +1,6 @@
from dbgpt.serve.core.schemas import Result
from dbgpt.serve.core.config import BaseServeConfig
from dbgpt.serve.core.service import BaseService
from dbgpt.serve.core.schemas import Result
from dbgpt.serve.core.serve import BaseServe
from dbgpt.serve.core.service import BaseService
__ALL__ = ["Result", "BaseServeConfig", "BaseService", "BaseServe"]

View File

@@ -1,4 +1,5 @@
from dataclasses import dataclass
from dbgpt.component import AppConfig
from dbgpt.util import BaseParameters

View File

@@ -1,4 +1,4 @@
from typing import TypeVar, Generic, Any, Optional
from typing import Any, Generic, Optional, TypeVar
from dbgpt._private.pydantic import BaseModel, Field

View File

@@ -1,8 +1,10 @@
from abc import ABC
from typing import Optional, Union, List
import logging
from dbgpt.component import BaseComponent, SystemApp, ComponentType
from abc import ABC
from typing import List, Optional, Union
from sqlalchemy import URL
from dbgpt.component import BaseComponent, ComponentType, SystemApp
from dbgpt.storage.metadata import DatabaseManager
logger = logging.getLogger(__name__)
@@ -36,7 +38,7 @@ class BaseServe(BaseComponent, ABC):
Returns:
DatabaseManager: The database manager
"""
from dbgpt.storage.metadata import Model, db, UnifiedDBManagerFactory
from dbgpt.storage.metadata import Model, UnifiedDBManagerFactory, db
# If you need to use the database, you can get the database manager here
db_manager_factory: UnifiedDBManagerFactory = self._system_app.get_component(

View File

@@ -1,8 +1,9 @@
from abc import ABC, abstractmethod
from typing import Generic
from dbgpt.component import BaseComponent
from dbgpt.storage.metadata._base_dao import BaseDao, T, REQ, RES
from dbgpt.serve.core.config import BaseServeConfig
from dbgpt.storage.metadata._base_dao import REQ, RES, BaseDao, T
class BaseService(BaseComponent, Generic[T, REQ, RES], ABC):

View File

@@ -1,6 +1,7 @@
from typing import Dict
import pytest
import pytest_asyncio
from typing import Dict
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from httpx import AsyncClient

View File

@@ -55,8 +55,9 @@ async def check_api_key(
.. code-block:: python
import requests
client_api_key = "your_api_key"
headers = {"Authorization": "Bearer " + client_api_key }
headers = {"Authorization": "Bearer " + client_api_key}
res = requests.get("http://test/hello", headers=headers)
assert res.status_code == 200

View File

@@ -62,7 +62,12 @@ class Serve(BaseServe):
app = FastAPI()
system_app = SystemApp(app)
system_app.register(Serve, api_prefix="/api/v1/prompt", db_url_or_db="sqlite:///:memory:", try_create_tables=True)
system_app.register(
Serve,
api_prefix="/api/v1/prompt",
db_url_or_db="sqlite:///:memory:",
try_create_tables=True,
)
system_app.on_init()
# Run before start hook
system_app.before_start()

View File

@@ -1,15 +1,16 @@
from typing import Optional, List
from functools import cache
from fastapi import APIRouter, Depends, Query, HTTPException
from fastapi.security.http import HTTPAuthorizationCredentials, HTTPBearer
from typing import List, Optional
from fastapi import APIRouter, Depends, HTTPException, Query
from fastapi.security.http import HTTPAuthorizationCredentials, HTTPBearer
from dbgpt.component import SystemApp
from dbgpt.serve.core import Result
from dbgpt.util import PaginationResult
from .schemas import ServeRequest, ServerResponse
from ..config import APP_NAME, SERVE_APP_NAME, SERVE_SERVICE_COMPONENT_NAME, ServeConfig
from ..service.service import Service
from ..config import APP_NAME, SERVE_APP_NAME, ServeConfig, SERVE_SERVICE_COMPONENT_NAME
from .schemas import ServeRequest, ServerResponse
router = APIRouter()
@@ -54,8 +55,9 @@ async def check_api_key(
.. code-block:: python
import requests
client_api_key = "your_api_key"
headers = {"Authorization": "Bearer " + client_api_key }
headers = {"Authorization": "Bearer " + client_api_key}
res = requests.get("http://test/hello", headers=headers)
assert res.status_code == 200

View File

@@ -1,5 +1,6 @@
# Define your Pydantic schemas here
from dbgpt._private.pydantic import BaseModel, Field
from ..config import SERVE_APP_NAME_HUMP

View File

@@ -1,9 +1,8 @@
from typing import Optional
from dataclasses import dataclass, field
from typing import Optional
from dbgpt.serve.core import BaseServeConfig
APP_NAME = "{__template_app_name__all_lower__}"
SERVE_APP_NAME = "dbgpt_serve_{__template_app_name__all_lower__}"
SERVE_APP_NAME_HUMP = "dbgpt_serve_{__template_app_name__hump__}"

View File

@@ -1,12 +1,15 @@
"""This is an auto-generated model file
You can define your own models and DAOs here
"""
from typing import Union, Any, Dict
from datetime import datetime
from sqlalchemy import Column, Integer, String, Index, Text, DateTime
from dbgpt.storage.metadata import Model, BaseDao, db
from typing import Any, Dict, Union
from sqlalchemy import Column, DateTime, Index, Integer, String, Text
from dbgpt.storage.metadata import BaseDao, Model, db
from ..api.schemas import ServeRequest, ServerResponse
from ..config import ServeConfig, SERVER_APP_TABLE_NAME
from ..config import SERVER_APP_TABLE_NAME, ServeConfig
class ServeEntity(Model):

View File

@@ -1,14 +1,17 @@
from typing import List, Optional, Union
import logging
from dbgpt.component import SystemApp
from typing import List, Optional, Union
from sqlalchemy import URL
from dbgpt.storage.metadata import DatabaseManager
from dbgpt.component import SystemApp
from dbgpt.serve.core import BaseServe
from .api.endpoints import router, init_endpoints
from dbgpt.storage.metadata import DatabaseManager
from .api.endpoints import init_endpoints, router
from .config import (
APP_NAME,
SERVE_APP_NAME,
SERVE_APP_NAME_HUMP,
APP_NAME,
SERVE_CONFIG_KEY_PREFIX,
ServeConfig,
)

View File

@@ -1,11 +1,13 @@
from typing import Optional, List
from typing import List, Optional
from dbgpt.component import BaseComponent, SystemApp
from dbgpt.serve.core import BaseService
from dbgpt.storage.metadata import BaseDao
from dbgpt.util.pagination_utils import PaginationResult
from dbgpt.serve.core import BaseService
from ..models.models import ServeDao, ServeEntity
from ..api.schemas import ServeRequest, ServerResponse
from ..config import SERVE_SERVICE_COMPONENT_NAME, SERVE_CONFIG_KEY_PREFIX, ServeConfig
from ..config import SERVE_CONFIG_KEY_PREFIX, SERVE_SERVICE_COMPONENT_NAME, ServeConfig
from ..models.models import ServeDao, ServeEntity
class Service(BaseService[ServeEntity, ServeRequest, ServerResponse]):

View File

@@ -1,15 +1,15 @@
import pytest
from fastapi import FastAPI
from httpx import AsyncClient
from fastapi import FastAPI
from dbgpt.component import SystemApp
from dbgpt.serve.core.tests.conftest import asystem_app, client
from dbgpt.storage.metadata import db
from dbgpt.util import PaginationResult
from ..config import SERVE_CONFIG_KEY_PREFIX
from ..api.endpoints import router, init_endpoints
from ..api.schemas import ServeRequest, ServerResponse
from dbgpt.serve.core.tests.conftest import client, asystem_app
from ..api.endpoints import init_endpoints, router
from ..api.schemas import ServeRequest, ServerResponse
from ..config import SERVE_CONFIG_KEY_PREFIX
@pytest.fixture(autouse=True)

View File

@@ -1,9 +1,12 @@
from typing import List
import pytest
from dbgpt.storage.metadata import db
from ..config import ServeConfig
from ..api.schemas import ServeRequest, ServerResponse
from ..models.models import ServeEntity, ServeDao
from ..config import ServeConfig
from ..models.models import ServeDao, ServeEntity
@pytest.fixture(autouse=True)

View File

@@ -1,11 +1,13 @@
from typing import List
import pytest
from dbgpt.component import SystemApp
from dbgpt.storage.metadata import db
from dbgpt.serve.core.tests.conftest import system_app
from ..models.models import ServeEntity
import pytest
from dbgpt.component import SystemApp
from dbgpt.serve.core.tests.conftest import system_app
from dbgpt.storage.metadata import db
from ..api.schemas import ServeRequest, ServerResponse
from ..models.models import ServeEntity
from ..service.service import Service