Refactor embedding configuration to remove local model support, transitioning to a unified remote API approach. Update environment variables and documentation accordingly. Enhance error handling in the orchestrator and related modules to reflect these changes. This update simplifies the embedding process and improves overall system reliability.
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
<<<<<<< HEAD
|
||||
# Text2SQL 多智能体系统
|
||||
|
||||
基于 **CAMEL AI 框架**、**DeepSeek 大模型** 和 **经验数据集 Few-Shot 增强** 的专业 Text-to-SQL 生成系统,专为证券经纪业务领域优化。
|
||||
@@ -6,7 +5,7 @@
|
||||
## 🚀 核心特性
|
||||
|
||||
- **🤖 多Agent协作流水线**:Schema Linker → SQL Generator → Validator 三阶段协作
|
||||
- **🎯 高精度表检索**:向量检索(OpenAI 兼容 / ModelScope 等远程 Embedding,或可选本地模型)+ LLM精筛,从 250+ 张表中精准定位相关表
|
||||
- **🎯 高精度表检索**:向量检索(OpenAI 兼容 / ModelScope 等远程 Embedding)+ LLM精筛,从 250+ 张表中精准定位相关表
|
||||
- **💡 经验数据集 Few-Shot**:基于 50 条高质量样例的语义检索,动态注入相似示例提升准确率
|
||||
- **🔒 双重验证机制**:程序语法验证 + LLM语义验证,确保 SQL 正确性
|
||||
- **🏦 金融领域深度优化**:针对证券经纪业务(账户、持仓、现金、结算)定制 Prompt 和推断规则
|
||||
@@ -85,7 +84,7 @@
|
||||
|------|---------|-----------|
|
||||
| Agent 框架 | **CAMEL AI** | >= 0.2.0,角色扮演、消息通信 |
|
||||
| LLM 模型 | **DeepSeek-chat** | 国产大模型,代码生成能力强 |
|
||||
| Embedding | **远程 API(默认)** | OpenAI 兼容 / ModelScope 等;可选本地 HF 目录 |
|
||||
| Embedding | **远程 API** | OpenAI 兼容 / ModelScope / DashScope 等 |
|
||||
| 向量数据库 | **ChromaDB** | 本地轻量,持久化 Schema 索引 |
|
||||
| SQL 解析 | **sqlglot** | >= 20.0.0,多方言 AST 转换与验证 |
|
||||
| 配置管理 | **Pydantic Settings** | 类型安全的环境变量管理 |
|
||||
@@ -115,7 +114,7 @@ text2sql_agent_camel/
|
||||
│ ├── llm/
|
||||
│ │ └── deepseek_client.py # DeepSeek API 客户端(chat / validate_sql / select_tables)
|
||||
│ └── utils/
|
||||
│ ├── embedding.py # Embedding(远程 OpenAI 兼容 / 可选本地 HF)
|
||||
│ ├── embedding.py # Embedding(远程 OpenAI 兼容 /v1/embeddings)
|
||||
│ ├── sql_parser.py # sqlglot 工具(语法验证、方言转换、规范化)
|
||||
│ ├── validators.py # 验证逻辑(危险操作检测、完整验证流水线)
|
||||
│ └── fewshot_selector.py # Few-Shot 示例选择器(语义/关键词检索)
|
||||
@@ -130,7 +129,7 @@ text2sql_agent_camel/
|
||||
│ │ ├── fewshot_examples.md # Markdown 格式示例
|
||||
│ │ └── by_tag/ # 按标签分类(20 类)
|
||||
│ ├── embeddings/ # ChromaDB 向量索引持久化目录
|
||||
│ └── models/ # 本地 Embedding 模型权重
|
||||
│ └── models/ # (可选)其他本地模型资源
|
||||
├── scripts/
|
||||
│ ├── parse_examples.py # 解析 Example_text2sql.md → 结构化数据集
|
||||
│ ├── integrate_fewshot.py # Few-Shot 集成指南与测试
|
||||
@@ -149,7 +148,7 @@ text2sql_agent_camel/
|
||||
|
||||
- Python **3.10+**
|
||||
- DeepSeek API Key(申请地址:https://platform.deepseek.com/api_keys)
|
||||
- (可选)本地 Embedding 模型权重(或配置远程 Embedding API)
|
||||
- 配置远程 Embedding API(OPENAI_* / MODELSCOPE_* / DASHSCOPE_*)
|
||||
|
||||
### 1. 安装依赖
|
||||
|
||||
@@ -186,8 +185,7 @@ cp .env .env.local # 或直接编辑 .env
|
||||
DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
|
||||
DEEPSEEK_BASE_URL=https://api.deepseek.com
|
||||
|
||||
# 推荐:远程 Embedding(OpenAI 兼容网关或 ModelScope 等,无需本地模型目录)
|
||||
USE_LOCAL_EMBEDDING=false
|
||||
# 远程 Embedding(OpenAI 兼容网关或 ModelScope 等)
|
||||
OPENAI_BASE_URL=https://api.openai.com/v1
|
||||
OPENAI_API_KEY=sk-xxxxxxxx
|
||||
OPENAI_EMBEDDING_MODEL=text-embedding-3-small
|
||||
@@ -195,10 +193,6 @@ OPENAI_EMBEDDING_MODEL=text-embedding-3-small
|
||||
# 或使用 ModelScope
|
||||
# MODELSCOPE_API_KEY=ms-xxxxxxxx
|
||||
# MODELSCOPE_EMBEDDING_MODEL=Qwen/Qwen3-Embedding-8B
|
||||
|
||||
# 可选:本地 HuggingFace 模型目录(需 USE_LOCAL_EMBEDDING=true + EMBEDDING_MODEL_PATH)
|
||||
# USE_LOCAL_EMBEDDING=true
|
||||
# EMBEDDING_MODEL_PATH=/path/to/local/embedding-model
|
||||
```
|
||||
|
||||
### 3. 准备 Schema 文件
|
||||
@@ -359,13 +353,11 @@ FEWSHOT_USE_CHROMA=true
|
||||
FEWSHOT_CHROMA_PATH=./data/embeddings/chroma_fewshot
|
||||
# FEWSHOT_DATA_PATH=./data/experiences/all_samples.jsonl # 仅构建索引时需要
|
||||
|
||||
# ========== Embedding ==========
|
||||
USE_LOCAL_EMBEDDING=false # false=远程(默认);true 时需配置 EMBEDDING_MODEL_PATH
|
||||
# ========== Embedding(远程 /v1/embeddings)==========
|
||||
# OPENAI_* 或 MODELSCOPE_* / DASHSCOPE_*(与代码内优先级一致)
|
||||
OPENAI_BASE_URL=https://api.openai.com/v1
|
||||
OPENAI_API_KEY=sk-xxxx
|
||||
OPENAI_EMBEDDING_MODEL=text-embedding-3-small
|
||||
# EMBEDDING_MODEL_PATH= # 仅 USE_LOCAL_EMBEDDING=true 时填写本地目录
|
||||
|
||||
# ========== Schema ==========
|
||||
SCHEMA_DIR=./data/schemas
|
||||
@@ -397,7 +389,6 @@ python backend/main.py [选项]
|
||||
|
||||
# 向量检索
|
||||
--no-vector-search 禁用向量检索(使用全部表)
|
||||
--embedding-model PATH Embedding 模型路径
|
||||
|
||||
# 其他
|
||||
--verbose, -v 详细日志
|
||||
@@ -741,8 +732,3 @@ MIT License — 详见 [LICENSE](LICENSE) 文件。
|
||||
**维护者**:Text2SQL Team
|
||||
**更新日期**:2026-04-10
|
||||
**文档版本**:v0.2.0
|
||||
=======
|
||||
# ai-g3sb-backman2.0
|
||||
|
||||
ai-g3sb-backman2.0
|
||||
>>>>>>> 267151bdd466eadcfdcb4b55256bf7a15466e466
|
||||
|
||||
Reference in New Issue
Block a user