| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- from concurrent.futures import ThreadPoolExecutor
- from fastapi import APIRouter
- from schemas import ResponseWrapper
- from schemas.schemas import ContentParam, DatasetParam
- from service.content_service import get_contents, add_contents, get_content
- from service.dataset_service import get_datasets, add_datasets
- from service.search_service import query_data
- from utils.deepseek_utils import generate_summary_query
- router = APIRouter()
- # 创建线程池执行器
- executor = ThreadPoolExecutor(max_workers=10)
- @router.get("/query", response_model=ResponseWrapper)
- async def query(query, datasetIds):
- res = query_data(query, datasetIds.split(','))
- data = {'results': res}
- return ResponseWrapper(
- status_code=200,
- detail="success",
- data=data
- )
- @router.get("/chat", response_model=ResponseWrapper)
- async def chat(query, datasetIds):
- res = query_data(query, datasetIds.split(','))
- chat_res = generate_summary_query(query, res)
- data = {'results': res, 'chat_res': chat_res}
- return ResponseWrapper(
- status_code=200,
- detail="success",
- data=data
- )
- @router.get("/content/list", response_model=ResponseWrapper)
- async def content_list(page: int = 1, pageSize: int = 10, datasetId: int = None):
- data = get_contents(page, pageSize, datasetId)
- return ResponseWrapper(
- status_code=200,
- detail="success",
- data=data
- )
- @router.post("/content/add", response_model=ResponseWrapper)
- async def add_content(content_param: ContentParam):
- res = add_contents(content_param)
- return ResponseWrapper(
- status_code=200,
- detail="success",
- data=res
- )
- @router.get("/dataset/list", response_model=ResponseWrapper)
- async def dataset_list():
- data = get_datasets()
- return ResponseWrapper(
- status_code=200,
- detail="success",
- data=data
- )
- @router.post("/dataset/add", response_model=ResponseWrapper)
- async def get_dataset(dataset_param: DatasetParam):
- res = add_datasets(dataset_param)
- return ResponseWrapper(
- status_code=200,
- detail="success",
- data=res
- )
- @router.get("/content/get", response_model=ResponseWrapper)
- async def content_get(docId):
- data = get_content(docId)
- return ResponseWrapper(
- status_code=200,
- detail="success",
- data=data
- )
|