feat(api): Add chat_dashboard support to V2 API (#2726)

This commit is contained in:
Eric Wong 2025-05-23 18:52:40 +08:00 committed by GitHub
parent 320228ae37
commit a10535d944
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 16 additions and 11 deletions

View File

@ -128,6 +128,7 @@ async def chat_completions(
or request.chat_mode == ChatMode.CHAT_KNOWLEDGE.value or request.chat_mode == ChatMode.CHAT_KNOWLEDGE.value
or request.chat_mode == ChatMode.CHAT_DATA.value or request.chat_mode == ChatMode.CHAT_DATA.value
or request.chat_mode == ChatMode.CHAT_DB_QA.value or request.chat_mode == ChatMode.CHAT_DB_QA.value
or request.chat_mode == ChatMode.CHAT_DASHBOARD.value
): ):
with root_tracer.start_span( with root_tracer.start_span(
"get_chat_instance", "get_chat_instance",
@ -157,7 +158,7 @@ async def chat_completions(
detail={ detail={
"error": { "error": {
"message": "chat mode now only support chat_normal, chat_app, " "message": "chat mode now only support chat_normal, chat_app, "
"chat_flow, chat_knowledge, chat_data", "chat_flow, chat_knowledge, chat_data, chat_dashboard",
"type": "invalid_request_error", "type": "invalid_request_error",
"param": None, "param": None,
"code": "invalid_chat_mode", "code": "invalid_chat_mode",

View File

@ -94,6 +94,7 @@ class ChatMode(Enum):
CHAT_KNOWLEDGE = "chat_knowledge" CHAT_KNOWLEDGE = "chat_knowledge"
CHAT_DATA = "chat_data" CHAT_DATA = "chat_data"
CHAT_DB_QA = "chat_with_db_qa" CHAT_DB_QA = "chat_with_db_qa"
CHAT_DASHBOARD = "chat_dashboard"
class AWELTeamModel(BaseModel): class AWELTeamModel(BaseModel):

View File

@ -202,7 +202,10 @@ class ConnectConfigDao(BaseDao):
def get_db_config(self, db_name): def get_db_config(self, db_name):
"""Return db connect info by name.""" """Return db connect info by name."""
session = self.get_raw_session() session = self.get_raw_session()
if db_name: try:
if not db_name:
raise ValueError("Database name cannot be empty")
select_statement = text( select_statement = text(
""" """
SELECT SELECT
@ -216,16 +219,16 @@ class ConnectConfigDao(BaseDao):
params = {"db_name": db_name} params = {"db_name": db_name}
result = session.execute(select_statement, params) result = session.execute(select_statement, params)
else: fields = [field[0] for field in result.cursor.description]
raise ValueError("Cannot get database by name" + db_name)
logger.info(f"Result: {result}") row = result.cursor.fetchone()
fields = [field[0] for field in result.cursor.description] if not row:
row_dict = {} logger.error(f"No database config found for db_name: {db_name}")
row_1 = list(result.cursor.fetchall()[0]) raise ValueError(f"Database config not found for: {db_name}")
for i, field in enumerate(fields):
row_dict[field] = row_1[i] return {fields[i]: row[i] for i in range(len(fields))}
return row_dict finally:
session.close()
def get_db_list(self, db_name: Optional[str] = None, user_id: Optional[str] = None): def get_db_list(self, db_name: Optional[str] = None, user_id: Optional[str] = None):
"""Get db list.""" """Get db list."""