Commit 93e23eba authored by 何家明's avatar 何家明

调整目录结构

parent edd83aff
...@@ -2,25 +2,26 @@ import uvicorn ...@@ -2,25 +2,26 @@ import uvicorn
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
from QueryParam import QueryParam from config.config import config
from config_read import config from client.client import user_query
from mcp_client import user_query from model.QueryParam import QueryParam
from model.RestResult import RestResult
app = FastAPI(name=["BME MCP服务"]) app = FastAPI(title="BME MCP服务")
if config.get("cors"): cors = config.get("cors", {})
app.add_middleware(CORSMiddleware, allow_origins=config.get("cors").get("allow_origins", ["*"]), app.add_middleware(CORSMiddleware, allow_origins=cors.get("allow_origins", ["*"]),
allow_credentials=config.get("cors").get("allow_credentials", True), allow_credentials=cors.get("allow_credentials", True),
allow_methods=config.get("cors").get("allow_methods", ["*"]), allow_methods=cors.get("allow_methods", ["*"]),
allow_headers=config.get("cors").get("allow_headers", ["*"])) allow_headers=cors.get("allow_headers", ["*"]))
@app.post(path="/mcp/query", description="调用mcp工具查询") @app.post(path="/mcp/query", description="调用mcp工具查询")
async def query(query_param: QueryParam): async def query(query_param: QueryParam) -> RestResult:
if query_param.customer_token not in config["customer"]:
return RestResult(code=403, message="无权访问")
message = await user_query(query_param) message = await user_query(query_param)
return { return RestResult(code=200, message=message)
"message": message
}
if __name__ == "__main__": if __name__ == "__main__":
......
...@@ -13,8 +13,8 @@ from openai.types.chat.chat_completion_message_tool_call_param import Function ...@@ -13,8 +13,8 @@ from openai.types.chat.chat_completion_message_tool_call_param import Function
from openai.types.shared_params import FunctionDefinition from openai.types.shared_params import FunctionDefinition
from pydantic import AnyUrl from pydantic import AnyUrl
from QueryParam import QueryParam from config.config import config
from config_read import config from model.QueryParam import QueryParam
if config["log"]["base_path"]: if config["log"]["base_path"]:
logger.add(config["log"]["base_path"] + "/mcp_client/log_{time:%Y-%m-%d}.log", rotation="1 day", encoding="utf-8", logger.add(config["log"]["base_path"] + "/mcp_client/log_{time:%Y-%m-%d}.log", rotation="1 day", encoding="utf-8",
......
import yaml import yaml
with open("config.yaml", "r", encoding="utf-8") as yml_file: with open("./config/config.yaml", "r", encoding="utf-8") as yml_file:
config = yaml.safe_load(yml_file) config = yaml.safe_load(yml_file)
...@@ -9,7 +9,7 @@ model: ...@@ -9,7 +9,7 @@ model:
# 公司:qwen3-32b # 公司:qwen3-32b
bme-qwen3-32b: bme-qwen3-32b:
api_key: Tc7sY47hiU5d1LNGbJjGBfqfY13IE3khIc0uBvpJ11U api_key: Tc7sY47hiU5d1LNGbJjGBfqfY13IE3khIc0uBvpJ11U
base_url: http://10.10.10.43:11434/v1 base_url: http://10.10.10.14:30300/v1
model_name: qwen3:32b model_name: qwen3:32b
# 公司:deepseek-v3-0324-671b # 公司:deepseek-v3-0324-671b
bme-deepseek-v3-0324-671b: bme-deepseek-v3-0324-671b:
...@@ -20,7 +20,7 @@ server: ...@@ -20,7 +20,7 @@ server:
# 运行命令 # 运行命令
command: python command: python
args: args:
- mcp_server.py - ./server/server.py
tool_calls_deep: 20 # tool_call调用深度 tool_calls_deep: 20 # tool_call调用深度
log: log:
base_path: log base_path: log
......
from pydantic import BaseModel
class RestResult(BaseModel):
"""返回实体"""
code: int = 200
"""状态码"""
message: str
"""返回信息"""
\ No newline at end of file
import os
import sys
import requests import requests
from mcp.server.fastmcp import FastMCP from mcp.server.fastmcp import FastMCP
from config_read import config sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "../")))
from config.config import config
mcp = FastMCP("BME-MCP") mcp = FastMCP("BME-MCP")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment