- Layer 1 Planner: 意图规划,将问题转为结构化分析计划 - Layer 2 Explorer: 自适应探索循环,多轮迭代动态生成 SQL - Layer 3 InsightEngine: 异常检测 + 主动洞察 - Layer 4 ContextManager: 多轮对话上下文记忆 安全设计:AI 只看 Schema + 聚合结果,不接触原始数据。 支持任意 OpenAI 兼容 API(OpenAI / Ollama / DeepSeek / vLLM)
37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
"""
|
|
配置文件
|
|
"""
|
|
import os
|
|
|
|
# LLM 配置(兼容 OpenAI API 格式,包括 Ollama / vLLM / DeepSeek 等)
|
|
LLM_CONFIG = {
|
|
"api_key": os.getenv("LLM_API_KEY", ""),
|
|
"base_url": os.getenv("LLM_BASE_URL", "https://api.openai.com/v1"),
|
|
"model": os.getenv("LLM_MODEL", "gpt-4o"),
|
|
}
|
|
|
|
# 沙箱安全规则
|
|
SANDBOX_RULES = {
|
|
"max_result_rows": 1000, # 聚合结果最大行数
|
|
"round_floats": 2, # 浮点数保留位数
|
|
"suppress_small_n": 5, # 分组样本 < n 时模糊处理
|
|
"banned_keywords": [ # 禁止的 SQL 关键字
|
|
"SELECT *",
|
|
"INSERT",
|
|
"UPDATE",
|
|
"DELETE",
|
|
"DROP",
|
|
"ALTER",
|
|
"CREATE",
|
|
"ATTACH",
|
|
"PRAGMA",
|
|
],
|
|
"require_aggregation": True, # 是否要求使用聚合函数
|
|
}
|
|
|
|
# 数据库路径
|
|
DB_PATH = os.getenv("DB_PATH", os.path.join(os.path.dirname(__file__), "demo.db"))
|
|
|
|
# 分析控制
|
|
MAX_EXPLORATION_ROUNDS = int(os.getenv("MAX_ROUNDS", "6")) # 最大探索轮数
|