kaiwangleo/xiwen

kaiwangleo★ 0Python最后同步: 2026-08-19

在 GitHub 打开

析问:自然语言问数工作台

README 摘要

Xiwen(析问) 析问是一个面向中文业务问数的开源 Data Agent。它把人工维护的表、字段和指标语义层,与 Qdrant 向量召回、Elasticsearch 枚举值召回及固定的 SQL 生成链路结合起来,将自然语言业务问题转换为 MySQL 分析查询。 本项目仍处于早期开发阶段,适合本地验证和二次开发;生产部署前请完成权限隔离、安全审计和真实数据集评估。 架构 DeepSeek Harness 适配层位于 plugins/dsh-xiwen ,只负责把 xiwen query 工具请求转发给析问服务;它不会安装或托管 Python 后端及其数据依赖。 主要能力 - 使用人工维护的表、字段、别名和指标元数据表达业务语义。 - 通过 Qdrant 召回相关字段和指标,通过 Elasticsearch 对齐枚举值。 - 使用固定的 LangGraph 链路完成关键词提取、召回、过滤、SQL 生成、校验、纠错和执行。 - 提供基于 SSE 的问数接口以及语义配置、知识构建和会话管理接口。 - 提供 Vue 3 工作台,用于问数、配置语义层和触发知识构建。 仓库结构 本地启动 前置条件 - Python 3.12 或更高版本,以及 uv - Node.js 和 npm - Docker 与 Docker Compose - 一个 OpenAI 兼容的 LLM 接口 - 本地 BAAI/bge-large-zh-v1.5 模型文件,或可替代的兼容 Embedding 服务 1. 配置后端 复制示例配置并填写本地连接信息。活动配置 data-agent/conf/app config.yaml 已被 Git 忽略,请勿提交其中的密码或 Token。 .env 为 Docker Compose 提供本地 MySQL 凭据, app config.yaml 中的元数据库和只读数仓账号必须与其保持一致。MySQL 初始化脚本只会在新数据卷首次创建时配置 xiwen meta 和 xiwen readonly ;已有数据卷需要手动创建这两个账号,或在备份数据后主动重建。 至少需要配置 llm.model name 、 llm.base url 和 llm.api key 。远程部署还应设置非空的 api.auth token 。示例配置中的占位密码不能用于生产环境;应用层认证不能替代 TLS 和网络访问控制。 Embedding 容器默认从以下目录读取模型,模型权重不会进入 Git: 2. 启动依赖和后端 python main.py 默认绑定 0.0.0.0:8000 ,本机可通过 http://127.0.0.1:8000 访问。若不需要局域网访问,请改用仅绑定 127.0.0.1 的 Uvicorn 启动参数。首次问数前,需要在工作台中确认数据源和语义配置,并完成…

在 GitHub 查看完整 README →
工具/开发dsh-pluginagentsearch

分类