Files
supersonic/headless/python/services_router/plugin_call_service.py
2024-03-15 12:47:11 +08:00

34 lines
970 B
Python

# -*- coding:utf-8 -*-
import os
import sys
from typing import Any, List, Mapping, Optional, Union
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from fastapi import APIRouter, Depends, HTTPException
from services.plugin_call.run import plugin_selection_run
router = APIRouter()
@router.post("/plugin_selection/")
async def tool_selection(query_body: Mapping[str, Any]):
if "queryText" not in query_body:
raise HTTPException(status_code=400, detail="query_text is not in query_body")
else:
query_text = query_body["queryText"]
if "pluginConfigs" not in query_body:
raise HTTPException(
status_code=400, detail="pluginConfigs is not in query_body"
)
else:
plugin_configs = query_body["pluginConfigs"]
resp = plugin_selection_run(query_text=query_text, plugin_configs=plugin_configs)
return resp