使用说明
Gemini+SQLite代理API
该项目公开了一个小型FastAPI服务,该服务允许Gemini模型将自然语言请求转换为针对捆绑的SQLite CRM数据库的安全SQL查询(database/crmarena_data.db).
设置
- 安装依赖项
pip install -r requirements.txt - 设置环境变量(支持从
.env)- 创建文件
.env例如GEMINI_API_KEY=your_key_here CRM_DB_PATH=database/crmarena_data.db GEMINI_MODEL=gemini-2.5-flash AGENT_MAX_ROWS=50 - 或通过外壳导出:
$env:GEMINI_API_KEY="<your_api_key>"
- 创建文件
- 运行API
uvicorn agent_api:app --reload --port 8000
用法
- 探索架构:
GET /schema - 问一个问题:
POST /query身体:{ "question": "แสดง 5 order ล่าสุดของ account ที่ชื่อ John Doe" }
代理提示Gemini返回一个带有SELECT语句的JSON有效负载(LIMIT强制),在SQLite上执行它,并返回 sql, columns, rows,以及可选 reasoning 现场。
流线型UI
- 启动:
streamlit run streamlit_app.py - UI页面将填写泰语/英语问题,并显示模型生成的SQL及其结果。
database/crmarena_data.db.
MCP服务器
- 运行MCP服务器(stdin/stdout传输):
python mcp_server.py - 工具:
ask(question: str)→将自然语言查询发送回JSON字符串{sql, reasoning, columns, rows}schema()→发送地面地图表/列 注:负载环境变量来自.env例如GEMINI_API_KEY,CRM_DB_PATH,GEMINI_MODEL,AGENT_MAX_ROWS.
