FastAPI backend for AI-Ink-Brain (RAG chat + ingest/sync) designed for deployment on Vercel Python Runtime.
POST /api/py/chatGET /api/py/healthPOST /api/py/admin/syncGET /api/py/admin/sync?jobId=...POST /api/py/admin/ingestPOST /api/py/unified/chat(JSONevents[])POST /api/py/unified/chat/stream(SSE 事件链)
完整端点、请求/响应契约与鉴权细节见
docs/meta/PROJECT_CONFIG_AI_INK_BRAIN_API_PYTHON.md§F。
SILICONFLOW_API_KEYSILICONFLOW_BASE_URL(optional, defaulthttps://api.siliconflow.cn/v1)SILICONFLOW_EMBEDDING_MODEL(optional)SILICONFLOW_EMBEDDING_DIMENSIONS(optional, for Qwen3)SILICONFLOW_CHAT_MODEL(optional)NEXT_PUBLIC_SUPABASE_URL(orSUPABASE_URL)SUPABASE_SERVICE_ROLE_KEY(orSUPABASE_SERVICE_KEY)SYNC_ADMIN_SECRET(admin/sync; same value as frontend BFF)(deprecated · fallback only · to be removed)NEXT_PUBLIC_ADMIN_SECRET/CHAT_API_SECRETRAG_MATCH_THRESHOLD(optional, default0.3, setnoneto disable)DEBUG_RAG/RAG_DEBUG(optional)CHATBI_USE_AGENT(optional, defaultfalse;true启用 V2 Agent/ReAct 路径)CHATBI_PROMPT_GUARD_MODE(optional, defaultoff;warn/block控制 Prompt 注入 PoC)
完整环境变量表(含
CHATBI_*全系列)见docs/meta/PROJECT_CONFIG_AI_INK_BRAIN_API_PYTHON.md§C。
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # fill in keys; see docs/meta/PROJECT_CONFIG_AI_INK_BRAIN_API_PYTHON.mdStart API (recommended: --log-level info so Intent retry lines like [intent-retry] appear in the console; no extra DEBUG_INTENT_CACHE needed):
python -m uvicorn main:app --host 127.0.0.1 --port 8000 --log-level infoDev with auto-reload:
python -m uvicorn main:app --host 127.0.0.1 --port 8000 --reload --log-level infoSmoke check:
curl -sS http://127.0.0.1:8000/api/py/health
curl -sS http://127.0.0.1:8000/api/py/liveTests (same as CI; excludes slow intent eval/benchmark):
pytest tests -m "not intent_eval and not intent_benchmark"- This repo expects Supabase
public.documents+ RPCmatch_documentsalready created. - Admin
syncuses an in-memory job map, suitable for single instance (serverless may not preserve state).