"""全自适应 RAG 服务。 能力: 1. 意图识别(question / statement / mixed) 2. 多域路由(结构化 DB + 向量检索) 3. 回答生成与来源引用 4. QA 记录、反馈、JSONL 导出 5. 知识库文档/URL/飞书消息入库向量化 """ from __future__ import annotations import ast import asyncio import hashlib import json import math import os from pathlib import Path import re import time from dataclasses import dataclass from datetime import datetime, timezone from typing import Any, Optional import httpx from sqlalchemy import and_, bindparam, delete, func, or_, select, text from sqlalchemy.ext.asyncio import AsyncSession from ...config.ai_prompts import ( PROMPT_AI_PMO_QA, PROMPT_EXTERNAL_TREND_QA, PROMPT_FEISHU_DIRECT_QA, PROMPT_FEISHU_MIXED_QA, PROMPT_MEMBER_WORKLOAD_QA, PROMPT_RAG_ANSWER, PROMPT_RAG_DB_PROJECT_QA, PROMPT_RAG_INTENT_CLASSIFICATION, ) from ...core.database import AsyncSessionLocal from ...models import ( KnowledgeBaseChunk, KnowledgeBaseDoc, KGEvidence, KGEntity, KGRelation, Project, ProjectSignalLink, QAFeedback, QARecord, QASession, QASessionState, Signal, Task, TruthNode, User, UserProject, UserWorkload, ) from ..context_cache_service import context_cache_service from ..llm_service import LLMService from ..signal.signal_source_orchestration import SignalSourceOrchestrationService from ..signal.symbol_index import SymbolIndexService from ...utils.timezone import CN_TZ, now_cn_aware, now_cn_naive