Token导航 LogoToken导航TokenDH.com
MCP Rag Txttosql logo
数据服务stdio官方级别未说明来源级核验

MCP Rag Txttosql

MCP Server

BioBot是一个基于FastAPI、SQLite、Redis和Azure OpenAI的植物学查询应用,支持自然语言查询并通过SQL模板和缓存技术提供高效响应。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
FastAPI自然语言处理数据分析

安装说明

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

作者 / 组织

LuzTappero

提供方

LuzTappero

最后核验

2026/5/17 20:22

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

生物机器人

BioBot是一个基于Fastapi、SQLite、Redis、Azure Openai和MCP服务器的植物学查询应用程序,该应用程序公开了搜索SQL模板和执行只读查询的工具。

该项目目前的流程是代理的:

  1. API以自然语言接收问题。
  2. 应用入口护栏。
  3. 在Redis中查询混合缓存。
  4. 如果没有缓存命中,LLM代理将通过以下方式打开MCP会话 stdio.
  5. 代理决定是否使用 search_templates, query_data o响应工具。
  6. SQL查询在运行到SQLite之前经过验证。
  7. 答案回到了Markdown的前沿。

堆栈

  • 用于HTTP API和静态前端的FastaAPI。
  • SQLite作为主要植物学数据库。
  • Redis作为混合缓存:精确哈希+语义嵌入。
  • 用于SQL模板语义搜索的QDRANT云。
  • Azure Openai用于LLM代理和远程嵌入。
  • Langfuse用于可追溯性。
  • HTML、CSS和JavaScript的简单前端。

要求

  • Python 3.10更高级。
  • Docker,如果你要举起Redis docker-compose.
  • Azure Openai的有效凭据。

安装

安装声明的依赖项:

pip install -r requirements.txt

注意:当前代码还使用未完全反映在 requirements.txt,例如 qdrant-client, sentence-transformers, numpy y pydantic。如果您的环境干净,可能需要手动添加它们或完成该文件。

配置

该项目将配置集中在 config/app_config.py y李变量desde .env.

相关变量:

AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
AZURE_OPENAI_API_VERSION=
AZURE_OPENAI_MODEL=
AZURE_EMBEDDING_DEPLOYMENT=

REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
CACHE_TTL=3600
CACHE_SIMILARITY_THRESHOLD=0.75
CACHE_EMBEDDING_MODEL=

SQLITE_DB_PATH=dbtest.db
FEEDBACK_DB_PATH=dbfeedback/dbfeedback.db

QDRANT_URL=
QDRANT_API_KEY=
QDRANT_COLLECTION=templates
QDRANT_VECTOR_SIZE=3072

LANGFUSE_PUBLIC_KEY=
LANGFUSE_SECRET_KEY=
LANGFUSE_HOST=https://cloud.langfuse.com

电梯工程

1. 启动网络

docker-compose up -d

这引起了雷迪斯的注意 6379 和RedisinSight 8001.

2. 启动API

uvicorn app:app --reload

该应用程序可在 http://localhost:8000.

3.打开前端

Frontend从同一应用程序提供服务:

http://localhost:8000/

关於MCP

不需要电梯 mcp_servers/mcp_server.py 手动停止正常流量。

API创建MCP会话 stdio_client(...) 并在处理查询时将该脚本作为子进程启动。档案馆 mcp_servers/mcp_server.py 它仍然是MCP服务器的入口点,但它的正常使用是间接的,因为 QueryService.

端点

公开的

  • GET /:前端服务。
  • GET /health:检查Redis、Qdrant和MCP脚本的存在。
  • POST /response:端点负责人。
  • POST /feedback:保存用户的反馈,如果是阳性,则缓存响应。

请求示例 POST /response:

{
	"question": "Dame las plantas de la familia Rosaceae"
}

响应示例:

{
	"answer": "...respuesta en markdown...",
	"query_llm": "SELECT id, common_name, science_name, type, origin FROM botanica WHERE family = 'Rosaceae' ORDER BY common_name;"
}

管理

  • POST /admin/cache/clear
  • GET /admin/cache/stats
  • POST /admin/templates/clear

这些端点在当前回购状态下没有身份验证。它们是为当地使用或受控环境设计的。

建筑概述

API

  • app.py:创建Fastapi应用程序,装载静态并注册路由器。
  • routers/query_router.py:家,健康y终点负责人。
  • routers/feedback_router.py:反馈持续性。
  • routers/admin_router.py:维护操作。

查询编排

  • services/query_service.py:管道负责人。
  • services/llm/azureopenai.py具有工具调用的代理。
  • services/tools/tool_execution_service.py:工具执行和SQL验证。

数据和搜索

  • mcp_servers/mcp_server.py:工具MCP search_templates y query_data.
  • services/templates/:模板,渲染SQL y向量存储。
  • config/templates.py:植物模板目录。

安全性和可观察性

  • guardrails_folder/input_validator.py:封锁越狱和禁言。
  • guardrails_folder/sql_validator.py:在执行之前验证SQL。
  • services/traicing/tracing_service.py:与Langfuse集成。

缓存和反馈

  • cache/hybrid_cache.py:精确缓存+语义。
  • repositories/feedback_respository.py:访问反馈BD。
  • services/feedback/feedback_service.py:缓存反馈和提升的持久性。

存储库的操作状态

在干净运行之前,有几个细节需要知道:

  • 没有观察到重新索引的自动引导 config/templates.py 启动APP时。
  • 基本反馈和表格 interacciones_llm 它们被认为存在。
  • requirements.txt 它落后于一些真正的代码导入。

换句话说:回购更像是一个已经武装起来的作战基地,而不是一个从头开始初始化一切的scaffold。

前端

Web客户端:

  • 向发送查询 POST /response;
  • 渲染标记 marked 并用 DOMPurify;
  • 允许发送正面或负面的反馈 POST /feedback;
  • 显示带有水平滚动的表格;
  • 使用简单的面向聊天的视觉风格。

图片

更新的流程记录在 esquema.md.

安全观察

在将其用于开发之外之前,应至少审查:

  • 认证 /admin/*;
  • CORS向任何来源开放;
  • 保密和全权证书管理;
  • 利率限制;
  • 加强SQL验证。

______________________________________________________________________

由Luz Tappro开发,2026年。

目录标签

目录标签

FastAPI自然语言处理数据分析植物学查询Python本地部署SQL模板缓存技术

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP