Skip to content

Commit 061f3a4

Browse files
committed
Refactor database module structure and improve import paths for clarity
1 parent 4220387 commit 061f3a4

29 files changed

+439
-361
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ from colorama import Fore
145145
from tabulate import tabulate
146146
147147
from camel_database_agent import DatabaseAgent
148-
from camel_database_agent.database.database_manager import DatabaseManager
148+
from camel_database_agent.database.manager import DatabaseManager
149149
from camel_database_agent.database_base import TrainLevel
150150
151151
# Configure logging settings to show errors on stdout

camel_database_agent/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@
66
"DatabaseSchemaDialectSqlite",
77
]
88

9-
from camel_database_agent.database.dialect.database_schema_dialect_mysql import (
9+
from camel_database_agent.database.dialect.dialect_mysql import (
1010
DatabaseSchemaDialectMySQL,
1111
)
12-
from camel_database_agent.database.dialect.database_schema_dialect_postgresql import (
12+
from camel_database_agent.database.dialect.dialect_postgresql import (
1313
DatabaseSchemaDialectPostgresql,
1414
)
15-
from camel_database_agent.database.dialect.database_schema_dialect_sqlite import (
15+
from camel_database_agent.database.dialect.dialect_sqlite import (
1616
DatabaseSchemaDialectSqlite,
1717
)
1818
from camel_database_agent.database_agent import DatabaseAgent
19-
from camel_database_agent.datagen.sql_query_inference_pipeline import (
19+
from camel_database_agent.datagen.pipeline import (
2020
DataQueryInferencePipeline,
2121
)

camel_database_agent/cli.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919
from tabulate import tabulate
2020

2121
from camel_database_agent import DatabaseAgent
22-
from camel_database_agent.database.database_manager import DatabaseManager
22+
from camel_database_agent.database.manager import DatabaseManager
2323
from camel_database_agent.database_agent import DatabaseAgentResponse
2424
from camel_database_agent.database_base import TrainLevel, spinner
2525

26-
"""设置日志"""
26+
"""Logging"""
2727
logging.basicConfig(
2828
level=logging.ERROR,
2929
format="%(message)s",
@@ -33,7 +33,7 @@
3333
logging.getLogger("camel_database_agent").setLevel(logging.INFO)
3434
logger = logging.getLogger(__name__)
3535

36-
"""设置 pandas 显示选项"""
36+
"""Pandas display"""
3737
pd.set_option("display.max_rows", None) # Show all rows
3838
pd.set_option("display.max_columns", None) # Show all columns
3939
pd.set_option("display.width", None) # Auto-detect display width

camel_database_agent/core/__init__.py

Whitespace-only changes.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class DataGenerationError(Exception):
2+
"""数据生成过程中的异常基类"""
3+
4+
pass
5+
6+
7+
class QueryParsingError(DataGenerationError):
8+
"""查询解析错误"""
9+
10+
pass
11+
12+
13+
class KnowledgeException(Exception):
14+
"""统一的数据库知识异常类"""
15+
16+
pass
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from functools import lru_cache
2+
from typing import Any, Callable, TypeVar, cast
3+
4+
R = TypeVar('R')
5+
6+
7+
def method_lru_cache(maxsize: int = 128):
8+
"""A decorator that applies lru_cache to a method safely."""
9+
10+
def decorator(func: Callable[..., R]) -> Callable[..., R]:
11+
cache = lru_cache(maxsize=maxsize)(func)
12+
13+
def wrapper(self, *args: Any, **kwargs: Any) -> R:
14+
return cast(R, cache(self, *args, **kwargs))
15+
16+
wrapper.cache_clear = cache.cache_clear # type: ignore[attr-defined]
17+
wrapper.cache_info = cache.cache_info # type: ignore[attr-defined]
18+
return wrapper
19+
20+
return decorator

camel_database_agent/database/dialect/database_schema_dialect.py renamed to camel_database_agent/database/dialect/dialect.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
from camel.models import BaseModelBackend
77
from tabulate import tabulate
88

9-
from camel_database_agent.database.database_manager import DatabaseManager
10-
from camel_database_agent.database_prompt import POLISH_SCHEMA_OUTPUT_EXAMPLE
9+
from camel_database_agent.database.manager import DatabaseManager
10+
from camel_database_agent.database.prompts import PromptTemplates
1111

1212
logger = logging.getLogger(__name__)
1313

@@ -52,7 +52,7 @@ def get_dialect(
5252

5353
def get_polished_schema(self, language: str = "English") -> str:
5454
if self.schema_polish_agent:
55-
prompt = POLISH_SCHEMA_OUTPUT_EXAMPLE.replace(
55+
prompt = PromptTemplates.POLISH_SCHEMA_OUTPUT_EXAMPLE.replace(
5656
"{{ddl_sql}}", self.get_schema()
5757
).replace("{{language}}", language)
5858
response = self.schema_polish_agent.step(prompt)

camel_database_agent/database/dialect/database_schema_dialect_mysql.py renamed to camel_database_agent/database/dialect/dialect_mysql.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
from camel.models import BaseModelBackend
44

5-
from camel_database_agent.database.database_manager import (
6-
DatabaseManager,
7-
)
8-
from camel_database_agent.database.dialect.database_schema_dialect import (
5+
from camel_database_agent.database.dialect.dialect import (
96
DatabaseSchemaDialect,
107
)
8+
from camel_database_agent.database.manager import (
9+
DatabaseManager,
10+
)
1111

1212

1313
class DatabaseSchemaDialectMySQL(DatabaseSchemaDialect):

camel_database_agent/database/dialect/database_schema_dialect_postgresql.py renamed to camel_database_agent/database/dialect/dialect_postgresql.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
from camel.models import BaseModelBackend
44

5-
from camel_database_agent.database.database_manager import DatabaseManager
6-
from camel_database_agent.database.dialect.database_schema_dialect import (
5+
from camel_database_agent.database.dialect.dialect import (
76
DatabaseSchemaDialect,
87
)
8+
from camel_database_agent.database.manager import DatabaseManager
99

1010

1111
class DatabaseSchemaDialectPostgresql(DatabaseSchemaDialect):

camel_database_agent/database/dialect/database_schema_dialect_sqlite.py renamed to camel_database_agent/database/dialect/dialect_sqlite.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
from camel.models import BaseModelBackend
44
from sqlalchemy import DefaultClause
55

6-
from camel_database_agent.database.database_manager import DatabaseManager
7-
from camel_database_agent.database.dialect.database_schema_dialect import (
6+
from camel_database_agent.database.dialect.dialect import (
87
DatabaseSchemaDialect,
98
)
9+
from camel_database_agent.database.manager import DatabaseManager
1010

1111

1212
class DatabaseSchemaDialectSqlite(DatabaseSchemaDialect):

0 commit comments

Comments
 (0)