feat: support configuring terminology for specified advanced applications

This commit is contained in:
ulleo
2026-07-10 17:22:42 +08:00
committed by ulleo
parent 2c2960e56f
commit d7261dabd6
6 changed files with 27 additions and 5 deletions
+3 -3
View File
@@ -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
+1 -1
View File
@@ -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')