# mofa-aios **Repository Path**: lookingstars/mofa-aios ## Basic Information - **Project Name**: mofa-aios - **Description**: 基于MoFA Agent 开发的 text2sql agent - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-09-07 - **Last Updated**: 2025-11-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Text2SQL数据分析 Agent ## 项目介绍 该项目是一个基于MoFA的Text2SQL数据分析智能体,它可以将自然语言转换为SQL查询语句,来完成数据分析任务。 基于 Chinook.db sqlite数据库来进行验证。 ## 核⼼应⽤场景: 用户通过自然语言提问,系统自动理解意图并生成对应的 SQL 查询语句,从数据库中提取数据并返回结果。适用于非技术用户快速获取数据支持,如业务分析、报表生成、数据查询等。 ## 价值: 1. 降低数据查询门槛,无需掌握 SQL 语法 2. 提升数据使用效率,支持快速决策 3. 支持多轮交互与自动错误修正,保障查询准确性 ## 项目架构 ![项目架构](./assets/structure.png) ### Text-to-SQL 流程 ![Text-to-SQL 流程](./assets/1338-324-max.png) ## 配置环境变量 ### 数据库 MCP 环境配置 ``` DB_URI=sqlite:///Chinook.db # 数据库URI ``` 或者在项目`根目录下`目录下创建一个`.env`文件,内容如下: ``` DB_URI=sqlite:///Chinook.db # 数据库URI ``` ### Agent 环境配置 ``` export LLM_API_KEY=sk-你的API密钥 export LLM_API_BASE=https://api.deepseek.com/v1 # 或其他API地址 export LLM_MODEL=deepseek-chat # 或其他模型名称 ``` 或者 在项目`examples/text2sql`目录下创建一个`.env`文件,内容如下: ``` LLM_API_KEY=sk-你的API密钥 LLM_API_BASE=https://api.deepseek.com/v1 # 或其他API地址 LLM_MODEL=deepseek-chat # 或其他模型名称 ``` ## **运行程序** ### Step 1 启动数据库mcp服务 ```bash uv run mcp_server.py ``` ### Step 2 启动Text2SQL Agent ```bash cd examples/text2sql/ # 启动数据流 dora destroy && \ dora up && \ dora build dataflow.yml && \ dora start dataflow.yml ``` ### Step 3 在另一个终端运行输入节点 ```bash terminal-input ``` ## 改进 1. 在原来MoFA Agent基础上添加对 `async` 异步支持 ```python from mofa.agent_build.base.base_agent import MofaAgent from aios import OpenAIClient, async_run_agent @async_run_agent async def arun(agent: MofaAgent): pass def main(): agent = MofaAgent(agent_name="sql_generate_query") import anyio anyio.run(arun, agent) if __name__ == "__main__": main() ```