feat: stabilize rag chat conversations and auto title sync

This commit is contained in:
wren
2026-05-19 15:52:05 +08:00
parent 564f2bebc8
commit afaba4dd99
19 changed files with 1988 additions and 93 deletions
+3 -1
View File
@@ -13,7 +13,7 @@ from ._loader import load_config as _load_config
# 优先加载 TOML → os.environ(必须在 Settings 实例化之前)
_load_config()
from ._settings import app, jwt, db, redis, oss, llm, vlm, ocr, leaudit as _leaudit # noqa: E402
from ._settings import app, jwt, db, redis, oss, llm, vlm, embedding, ocr, leaudit as _leaudit # noqa: E402
def _export_settings(instance: object, prefix: str = "") -> dict[str, object]:
@@ -48,6 +48,7 @@ _REDIS = _export_settings(redis)
_OSS = _export_settings(oss)
_LLM = _export_settings(llm)
_VLM = _export_settings(vlm)
_EMBEDDING = _export_settings(embedding)
_OCR = _export_settings(ocr)
_LEAUDIT = _export_settings(_leaudit)
@@ -60,6 +61,7 @@ _ALL.update(_REDIS)
_ALL.update(_OSS)
_ALL.update(_LLM)
_ALL.update(_VLM)
_ALL.update(_EMBEDDING)
_ALL.update(_OCR)
_ALL.update(_LEAUDIT)
+8
View File
@@ -44,6 +44,14 @@ LLM_API_KEY: str
# VLM
VLM_BASE_URL: str
VLM_MODEL: str
VLM_API_KEY: str
# EMBEDDING
EMBEDDING_BASE_URL: str
EMBEDDING_MODEL: str
EMBEDDING_API_KEY: str
EMBEDDING_DIM: int
EMBEDDING_BATCH_SIZE: int
# OCR
OCR_BASE_URL: str
+10
View File
@@ -82,6 +82,15 @@ class VlmSettings(_Base):
VLM_API_KEY: str = ""
class EmbeddingSettings(_Base):
"""Embedding 配置 [EMBEDDING]。"""
EMBEDDING_BASE_URL: str = ""
EMBEDDING_MODEL: str = ""
EMBEDDING_API_KEY: str = ""
EMBEDDING_DIM: int = 1024
EMBEDDING_BATCH_SIZE: int = 10
class OcrSettings(_Base):
"""OCR 配置 [OCR]。"""
OCR_BASE_URL: str = ""
@@ -125,5 +134,6 @@ redis = RedisSettings()
oss = OssSettings()
llm = LlmSettings()
vlm = VlmSettings()
embedding = EmbeddingSettings()
ocr = OcrSettings()
leaudit = LeauditSettings()