pipeline-app/app/pipeline_app.py
yumoqing 8e09c5389a feat(rag): 接入 rag 知识库模块 + uapi 外部 API 网关
- app/pipeline_app.py: load_uapi() + init_rag_module()(uapi 必须先于 rag)
- build.sh: 四处模块列表加 uapi/rag(clone/pip/xls2ui/wwwroot symlink)
  新增 8b 步骤:json2ddl 建 rag_* 表 + 导入 uapi_seed.sql 配置种子
- wwwroot/index.ui: 侧边栏加「知识库」菜单项(open_tab 符合 UI 导航契约)
- i18n zh/en/jp/ko: 补知识库相关四语言文案

rag 表统一 rag_ 前缀,与产线业务表隔离;数据独立于 ragserver
2026-08-25 15:24:05 +08:00

81 lines
2.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
"""Pipeline Application - 产线管理独立应用"""
import os, sys, asyncio
app_dir = os.path.dirname(os.path.abspath(__file__))
root_dir = os.path.dirname(app_dir)
sys.path.insert(0, root_dir)
sys.path.insert(0, app_dir)
from ahserver.webapp import webapp
from ahserver.serverenv import ServerEnv
def get_module_dbname(mname):
"""All modules use the pipeline database."""
return 'pipeline'
def init():
from bricks_for_python.init import load_pybricks
from rbac.init import load_rbac
from appbase.init import load_appbase
from pipeline_core.init import load_pipeline_core
from pipeline_ops.init import load_pipeline_ops
from pipeline_dist.init import load_pipeline_dist
try:
from pipeline_service.init import load_pipeline_service
except ImportError:
def load_pipeline_service(): pass
try:
from pipeline_sdlc.adapter import load_sdlc_adapter
except ImportError:
def load_sdlc_adapter(): pass
try:
from app_audit.init import load_app_audit
except ImportError:
def load_app_audit(): pass
from showcase.init import load_showcase
from tenant.init import load_tenant
from ktv_adapter import load_ktv_adapter
from global_func import set_globalvariable
import office_proxy # 注册 /office/* 转发函数univer-office Node 服务代理)
try:
from smssend import load_smssend
except ImportError:
def load_smssend(): pass
# uapi外部 API 网关rag 模块依赖它调 vdb/reranker/ner/graph
try:
from uapi.init import load_uapi
except ImportError:
def load_uapi(): pass
# rag知识库向量检索 + 图谱),表名统一 rag_ 前缀,与产线业务表不冲突
try:
from rag.init import init_rag_module
except ImportError:
def init_rag_module(): pass
set_globalvariable()
ServerEnv().get_module_dbname = get_module_dbname
load_pybricks()
load_appbase()
load_rbac()
load_pipeline_core()
load_pipeline_ops()
load_pipeline_dist()
load_pipeline_service()
load_sdlc_adapter()
load_app_audit()
load_showcase()
load_tenant()
load_ktv_adapter()
load_smssend()
load_uapi() # 必须在 rag 之前rag 通过 uapi 调 vdb/reranker/ner/graph
init_rag_module()
# Permission cache warms up on first request
if __name__ == '__main__':
webapp(init)