Focus SQL

Focus SQL

🚀 FOCUS 数据集 MCP 服务器

模型上下文协议(MCP)服务器能够助力人工智能助手把自然语言转化为 SQL 语句,为数据交互提供了便捷途径。

🚀 快速开始

为什么还需要另一个 Text-to-SQL 框架?

简而言之,focus_mcp_sql 运用两步生成 SQL 的解决方案,实现了对大语言模型(LLM)幻觉的有效控制,还保证了输出的规范性。相较于其他框架,它在功能和性能方面优势显著。

以下是与现有框架的对比分析:

属性 详情
特性 现有框架 、focus_mcp_sql
支持多轮对话 无 、是
跨表关联推理能力 基于规则 、基于语义理解
SQL 合法性保障 部分支持 、完全保证

✨ 主要特性

功能概述

  1. 模型初始化:借助提供数据集元信息(涵盖表结构、字段属性以及表间关联关系),对特定领域的语言模型进行初始化。
  2. 自然语言到 SQL 转换:在已完成初始化的模型基础上,把用户输入的自然语言查询转化为符合规范的 SQL 语句。

📦 安装指南

先决条件

  1. 安装要求
    • 操作系统:支持 Linux、Windows
    • 内存要求:>=4GB
    • 磁盘空间:>=10GB
  2. 依赖项
    • Java 8+
    • Python 3.7+

安装步骤

1. 下载代码库

git clone https://github.com/your-organization/focus-mcp.git
cd focus-mcp

2. 环境配置

创建 config.json 文件,内容如下:

{
"model_path": "path/to/model",
"data_source": "path/to/data"
}

3. 启动服务

python server.py

📚 详细文档

MCP 配置

初始化模型(tool: gpt_text2sql_init

参数说明:

  • model_id:唯一标识符,用于区分不同数据集的上下文信息
  • schema:数据表结构,包含表名、字段名和字段类型
  • properties:字段属性,包含主键、外键等约束信息
  • relations:表间关联关系,包含关联类型(内联接、外联接)和关联条件

示例:

{
"model_id": "your-model-id",
"schema": {
"tables": [
{
"name": "employees",
"columns": ["id", "name", "age"]
},
{
"name": "departments",
"columns": ["did", "dname"]
}
]
},
"properties": {
"id": { "primaryKey": true },
"did": { "foreignKey": "employees.id" }
},
"relations": [
{
"type": "inner-join",
"condition": "employees.did = departments.did"
}
]
}

自然语言转 SQL(tool: gpt_text2sql_chat

参数说明:

  • chat_id:对话唯一标识符
  • query:用户输入的自然语言查询
  • context:上下文信息,包含已初始化的模型 ID 和关联表信息

示例:

{
"chat_id": "your-chat-id",
"query": "显示员工的最大年龄",
"context": {
"model_id": "your-model-id",
"tables": ["employees"]
}
}

响应格式

所有工具的返回结果均采用如下格式:

{
"errCode": 0,
"exception": "",
"msgParams": null,
"promptMsg": null,
"success": true,
"data": {
// 具体业务数据
}
}

💻 使用示例

VS Code 使用示例

  1. 安装 C++ 可视化调试工具。
  2. 配置 MCP 服务器
  3. 使用方法:
    • 初始化模型
    • 执行查询:显示员工的最大年龄

📄 许可证

文档未提及许可证相关信息,故跳过此章节。

📞 联系方式

https://discord.gg/AVufPnpaad

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-23 16:51

相似服务问题