Token导航 LogoToken导航TokenDH.com
aiAgents database logo
AI代理stdio官方级别未说明来源级核验

aiAgents database

MCP Server

一个利用模型上下文协议(MCP)服务器实现智能数据库查询的AI代理系统,支持向量搜索和检索增强生成(RAG)技术,适用于需要自然语言处理数据库查询的场景。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
AI代理检索增强生成Python数据分析向量搜索

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Srinivs-p

提供方

Srinivs-p

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

基于MCP服务器的AI Agent数据库查询系统

一种现代人工智能代理系统,利用模型上下文协议(MCP)服务器通过矢量搜索和检索增强生成(RAG)实现智能数据库查询。

概述

该项目实现了一种基于智能代理的架构,该架构通过MCP服务器连接到Oracle数据库,处理自然语言查询,并使用向量嵌入和RAG技术返回上下文相关的结果。

建筑

User Query → AI Agent → MCP Server → Vector Database → RAG Pipeline → Results
                ↓
          Oracle Database (via db_engine.py)

该系统使用AI代理来:

  • 解释自然语言查询
  • 通过MCP服务器协议连接到数据库
  • 使用向量嵌入执行语义搜索
  • 使用上下文信息检索和增强结果
  • 结构化、相关的回复

特性

  • 自然语言查询:用简单的英语提问
  • 语义搜索:根据含义查找相关信息,而不仅仅是关键字
  • 上下文感知响应:利用RAG提供准确、有根据的答案
  • Oracle数据库集成:通过现有的DB_engine直接连接到Oracle数据库
  • MCP服务器:代理数据库通信的标准化协议
  • 智能体编排:智能路由和多步骤查询处理

项目结构

.
├── agents/              # AI agent implementations
│   ├── base_agent.py
│   ├── database_agent.py
│   └── query_agent.py
├── mcp/                 # MCP server integration
│   ├── server.py        # Server with Oracle DB integration
│   ├── client.py
│   └── protocol.py
├── vector_db/           # Vector database connectors
│   ├── base.py
│   ├── chroma_store.py
│   └── factory.py
├── rag/                 # RAG pipeline components
│   ├── pipeline.py
│   ├── retriever.py
│   ├── generator.py
│   └── chunker.py
├── embeddings/          # Embedding model utilities
│   ├── base.py
│   ├── openai_embeddings.py
│   └── factory.py
├── config/              # Configuration management
│   └── settings.py
├── db_engine.py         # Oracle database connection
├── main.py              # Main application entry point
├── example_mcp_server.py    # MCP server example
├── example_usage.py     # Usage examples
└── requirements.txt     # Python dependencies

安装

先决条件

  • Python 3.9+
  • Oracle数据库访问(在中配置 db_engine.py)
  • OpenAI API密钥(用于嵌入和LLM)

设置

  1. 克隆存储库
   cd aiAgents_database
  1. 安装依赖项
   pip install -r requirements.txt
  1. 配置环境变量
   cp .env.example .env
  1. 编辑 .env 将您的凭据归档
   # LLM Configuration
   LLM_API_KEY=your-openai-api-key
   LLM_MODEL=gpt-4
   LLM_PROVIDER=openai

   # RAG Configuration
   EMBEDDING_MODEL=text-embedding-ada-002
   CHUNK_SIZE=1000
   CHUNK_OVERLAP=200
   TOP_K_RESULTS=5

   # MCP Server Configuration
   MCP_SERVER_URL=http://localhost
   MCP_SERVER_PORT=8080

   # Vector Database
   VECTOR_DB_TYPE=chroma

用法

运行主应用程序

python main.py

这将启动一个交互式CLI,您可以在其中:

  • 询问自然语言查询
  • 将文档添加到知识库
  • 查看查询历史记录
  • 获取命令帮助

示例会话:

Query: What are the sales trends for Q3?

Processing query...
Query type: retrieval

------------------------------------------------------------
Answer:
Based on the retrieved data, Q3 sales showed a 12% increase
compared to Q2, reaching $1.8M in total revenue...
------------------------------------------------------------
Sources: 3 documents
------------------------------------------------------------

运行MCP服务器

单独启动MCP服务器以处理数据库请求:

python example_mcp_server.py

服务器将于启动 localhost:8080 (可配置)具有以下端点:

  • /mcp -主MCP协议端点
  • /health -健康检查端点

示例用法

运行示例以查看不同组件的运行情况:

python example_usage.py

这表明:

  1. RAG查询处理
  2. MCP客户端使用情况
  3. 数据库代理交互
  4. 查询代理分类

组件

1.数据库代理(代理/数据库_agent.py)

协调整个查询处理工作流:

from agents import DatabaseAgent

agent = DatabaseAgent(vector_store, mcp_client, rag_pipeline)
result = agent.process("What are the top selling products?")

2.查询代理(代理/query_agent.py)

解释和分类用户查询:

from agents import QueryAgent

query_agent = QueryAgent()
analysis = query_agent.process("Show me all customers")
# Returns: {'query_type': 'retrieval', 'action': 'search_database', ...}

3.RAG管道(抹布/流水线.py)

处理文档检索和答案生成:

from rag import RAGPipeline

result = rag_pipeline.query("What is RAG?", k=5)
print(result['answer'])

4.MCP服务器(mcp/server.py)

通过Oracle集成提供标准化的数据库访问:

from mcp import MCPServer
from db_engine import conn

server = MCPServer(db_connection=conn)
server.run()

5.矢量存储(vector_db/chroma_store.py)

管理语义搜索的向量嵌入:

from vector_db import create_vector_store

vector_store = create_vector_store(config)
vector_store.add_documents(documents, metadatas)
results = vector_store.similarity_search(query, k=5)

配置

系统通过环境变量和 config/settings.py 模块。

关键设置:

  • LLM_API_KEY(LLM_API_密钥):您的OpenAI API密钥
  • 嵌入模型:生成嵌入的模型
  • CHUNK_SIZE:文档处理的文本块大小
  • TOP_K_结果:要检索的结果数
  • MCP_SERVER_PORT:MCP服务器的端口

数据库集成

该系统通过以下方式与您现有的Oracle数据库集成 db_engine.py:

from db_engine import conn, engine

# Connection is automatically used by MCP server
# SQLAlchemy engine available for ORM operations

API示例

将文档添加到知识库

documents = [
    "Product X sold 1000 units in Q1",
    "Revenue increased 25% year-over-year"
]

agent.add_knowledge(documents)

使用筛选器进行查询

result = agent.process(
    query="Show sales data",
    context={'filter': {'category': 'electronics'}}
)

直接MCP查询

from mcp import MCPClient

client = MCPClient(config)
response = client.query_database("SELECT * FROM dual")

测试

运行示例用法以验证设置:

python example_usage.py

预期输出显示查询分类和处理示例。

故障排除

导入错误

  • 确保安装了所有依赖项: pip install -r requirements.txt
  • 检查Python版本: python --version (应为3.9+)

API密钥错误

  • 验证您的 .env 文件已存在 LLM_API_KEY
  • 确保API密钥有效并且有足够的信用

数据库连接错误

  • 检查 db_engine.py 凭证
  • 验证Oracle数据库是否可访问
  • 测试连接: python -c "from db_engine import conn; print(conn)"

MCP服务器未启动

  • 检查端口8080是否可用
  • 在中尝试其他端口 .env: MCP_SERVER_PORT=8081

路线图

  • \[\]支持多个矢量数据库后端(Pinecone、Weaviate)
  • \[\]具有思维链的高级代理推理
  • \[\]多模式RAG(图像、表格)
  • \[\]实时交互的流式响应
  • \[\]查询优化和结果缓存
  • \[\]增强的MCP服务器功能(身份验证、速率限制)
  • \[\]Web UI,便于交互
  • \[\]从自然语言生成SQL查询

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

许可证

MIT许可证

致谢

  • 模型上下文协议(MCP)社区
  • 用于GPT和嵌入的OpenAI
  • ChromaDB用于矢量数据库
  • Oracle数据库平台
  • 开源AI代理框架

支持

对于问题或疑问:

  • 在GitHub上打开一个问题
  • 检查现有文档
  • 查看中的示例代码 example_usage.py

______________________________________________________________________

使用克劳德代码构建 -一种用于数据库查询的智能人工智能代理系统

目录标签

目录标签

AI代理检索增强生成Python数据分析向量搜索本地部署数据库查询自然语言处理Oracle数据库

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP