# RAG AI Bridge

该服务只生成 SQL/Cypher，不直接执行业务 SQL 或最终 Cypher。生成结果返回 Java 后，由现有 Guard 校验并执行。

## 启动

```powershell
cd backend/rag-ai-bridge
python -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txt
copy config.example.yaml config.yaml
copy .env.example .env
# 修改 config.yaml 和 .env
python server.py
```

`config.yaml` 保存服务地址、模型名称、Neo4j 地址及只读策略等非敏感配置；`.env` 只保存 `OPENAI_API_KEY` 和 `NEO4J_PASSWORD`。两者均为本地文件，不应提交。

配置优先级：系统环境变量 > `.env` > `config.yaml` > 内置默认值。没有 `config.yaml` 时服务仍会使用默认值启动，并输出复制示例文件的提示。缺少密钥时服务也能启动，`GET /health` 会分别返回 `llmConfigured=false` 或 `neo4jConfigured=false`。

接口：

- `GET /health`
- `POST /text2sql`
- `POST /text2cypher`

环境变量覆盖项包括：`RAG_AI_BRIDGE_HOST`、`RAG_AI_BRIDGE_PORT`、`LLM_PROVIDER`、`OPENAI_MODEL`、`OPENAI_BASE_URL`、`LLM_TEMPERATURE`、`LLM_TIMEOUT`、`VANNA_ENABLED`、`TEXT2CYPHER_ENABLED`、`NEO4J_URI`、`NEO4J_USERNAME`、`READONLY_SQL`、`READONLY_CYPHER`、`DEFAULT_LIMIT`。
