mirror of
https://gh-proxy.org/https://github.com/klinsmaya/SQLBot.git
synced 2026-11-08 01:06:59 +08:00
feat: support configuring terminology for specified advanced applications
This commit is contained in:
@@ -12,7 +12,7 @@ from apps.ai_model.embedding import EmbeddingModelCache
|
||||
from apps.datasource.models.datasource import CoreDatasource
|
||||
from apps.system.models.system_model import AssistantModel
|
||||
from apps.template.generate_chart.generator import get_base_terminology_template
|
||||
from apps.terminology.models.terminology_model import Terminology, TerminologyInfo
|
||||
from apps.terminology.models.terminology_model import Terminology, TerminologyInfo, TerminologyInfoResult
|
||||
from common.core.config import settings
|
||||
from common.core.deps import SessionDep, Trans
|
||||
from common.utils.embedding_threads import run_save_terminology_embeddings
|
||||
@@ -179,7 +179,7 @@ def build_terminology_query(session: SessionDep, oid: int, name: Optional[str] =
|
||||
return stmt, total_count, total_pages, current_page, page_size
|
||||
|
||||
|
||||
def execute_terminology_query(session: SessionDep, stmt) -> List[TerminologyInfo]:
|
||||
def execute_terminology_query(session: SessionDep, stmt) -> List[TerminologyInfoResult]:
|
||||
"""
|
||||
执行查询并返回术语信息列表
|
||||
"""
|
||||
@@ -187,7 +187,7 @@ def execute_terminology_query(session: SessionDep, stmt) -> List[TerminologyInfo
|
||||
result = session.execute(stmt)
|
||||
|
||||
for row in result:
|
||||
_list.append(TerminologyInfo(
|
||||
_list.append(TerminologyInfoResult(
|
||||
id=row.id,
|
||||
word=row.word,
|
||||
create_time=row.create_time,
|
||||
|
||||
@@ -35,3 +35,16 @@ class TerminologyInfo(BaseModel):
|
||||
enabled: Optional[bool] = True
|
||||
advanced_application: Optional[int] = None
|
||||
advanced_application_name: Optional[str] = None
|
||||
|
||||
class TerminologyInfoResult(BaseModel):
|
||||
id: Optional[int] = None
|
||||
create_time: Optional[datetime] = None
|
||||
word: Optional[str] = None
|
||||
description: Optional[str] = None
|
||||
other_words: Optional[List[str]] = []
|
||||
specific_ds: Optional[bool] = False
|
||||
datasource_ids: Optional[list[int]] = []
|
||||
datasource_names: Optional[list[str]] = []
|
||||
enabled: Optional[bool] = True
|
||||
advanced_application: Optional[str] = None
|
||||
advanced_application_name: Optional[str] = None
|
||||
|
||||
@@ -39,7 +39,7 @@ dependencies = [
|
||||
"pyyaml (>=6.0.2,<7.0.0)",
|
||||
"fastapi-mcp (>=0.3.4,<0.4.0)",
|
||||
"tabulate>=0.9.0",
|
||||
"sqlbot-xpack>=0.0.5.24,<0.0.6.0",
|
||||
"sqlbot-xpack>=0.0.5.27,<0.0.6.0",
|
||||
"fastapi-cache2>=0.2.2",
|
||||
"sqlparse>=0.5.3",
|
||||
"redis>=6.2.0",
|
||||
|
||||
@@ -326,6 +326,9 @@ const list = () => {
|
||||
datasourceApi.list().then((res) => {
|
||||
allDsList.value = res
|
||||
})
|
||||
getAdvancedApplicationList().then((res: any) => {
|
||||
adv_options.value = res || []
|
||||
})
|
||||
}
|
||||
const editHandler = (row: any) => {
|
||||
pageForm.value.id = null
|
||||
@@ -335,11 +338,12 @@ const editHandler = (row: any) => {
|
||||
pageForm.value.other_words = ['']
|
||||
}
|
||||
}
|
||||
console.log(pageForm.value)
|
||||
list()
|
||||
dialogTitle.value = row?.id
|
||||
? t('professional.editing_terminology')
|
||||
: t('professional.create_new_term')
|
||||
dialogFormVisible.value = true
|
||||
list()
|
||||
}
|
||||
|
||||
const onFormClose = () => {
|
||||
|
||||
@@ -309,6 +309,9 @@ const list = () => {
|
||||
datasourceApi.list().then((res: any) => {
|
||||
options.value = res || []
|
||||
})
|
||||
getAdvancedApplicationList().then((res: any) => {
|
||||
adv_options.value = res || []
|
||||
})
|
||||
}
|
||||
|
||||
const saveHandler = () => {
|
||||
@@ -342,6 +345,7 @@ const editHandler = (row: any) => {
|
||||
if (row) {
|
||||
pageForm.value = cloneDeep(row)
|
||||
}
|
||||
console.log(pageForm.value)
|
||||
list()
|
||||
dialogTitle.value = row?.id ? t('prompt.edit_prompt_word') : t('prompt.add_prompt_word')
|
||||
dialogFormVisible.value = true
|
||||
|
||||
@@ -304,6 +304,7 @@ const editHandler = (row: any) => {
|
||||
if (row) {
|
||||
pageForm.value = cloneDeep(row)
|
||||
}
|
||||
console.log(pageForm.value)
|
||||
list()
|
||||
|
||||
dialogTitle.value = row?.id ? t('training.edit_training_data') : t('training.add_training_data')
|
||||
|
||||
Reference in New Issue
Block a user