|
|
@@ -1,15 +1,11 @@
|
|
|
-import json
|
|
|
-from cgitb import reset
|
|
|
from concurrent.futures import ThreadPoolExecutor
|
|
|
-from typing import List
|
|
|
|
|
|
-from fastapi import APIRouter, BackgroundTasks
|
|
|
+from fastapi import APIRouter
|
|
|
|
|
|
from schemas import ResponseWrapper
|
|
|
-from schemas.schemas import Query, ContentData
|
|
|
-from tools_v1 import query_keyword_summary_results, query_keyword_content_results
|
|
|
-from utils.data_utils import add_data
|
|
|
-from utils.deepseek_utils import get_keywords
|
|
|
+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 utils.embedding_utils import get_embedding_content_data
|
|
|
|
|
|
router = APIRouter()
|
|
|
@@ -18,15 +14,12 @@ router = APIRouter()
|
|
|
executor = ThreadPoolExecutor(max_workers=10)
|
|
|
|
|
|
|
|
|
-@router.post("/query", response_model=ResponseWrapper)
|
|
|
-async def query_keyword(query: Query):
|
|
|
- print(query.text)
|
|
|
- keywords = get_keywords(query.text)['keywords']
|
|
|
- print(keywords)
|
|
|
- summary_res = query_keyword_summary_results(keywords)
|
|
|
- content_res = query_keyword_content_results(keywords)
|
|
|
- embedding_res = get_embedding_content_data(query.text)
|
|
|
- res = {'summary_results': summary_res, 'content_results': content_res, 'embedding_results': embedding_res}
|
|
|
+@router.get("/query", response_model=ResponseWrapper)
|
|
|
+async def query_keyword(query, datasetIds):
|
|
|
+ print(query)
|
|
|
+ print(datasetIds)
|
|
|
+ embedding_res = get_embedding_content_data(query, datasetIds.split(','))
|
|
|
+ res = {'results': embedding_res}
|
|
|
return ResponseWrapper(
|
|
|
status_code=200,
|
|
|
detail="success",
|
|
|
@@ -34,34 +27,50 @@ async def query_keyword(query: Query):
|
|
|
)
|
|
|
|
|
|
|
|
|
-@router.post("/add/data", response_model=ResponseWrapper)
|
|
|
-async def query_keyword(content_list: List[ContentData]):
|
|
|
- res_list = []
|
|
|
- for content in content_list:
|
|
|
- if content.body_text:
|
|
|
- print(content.body_text)
|
|
|
- res = add_data(content.body_text)
|
|
|
- res_list.append(res)
|
|
|
+@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=res_list
|
|
|
+ data=data
|
|
|
)
|
|
|
|
|
|
-# @router.post("/query/keyword/content", response_model=ResponseWrapper)
|
|
|
-# async def query_keyword(query: Query):
|
|
|
-# res = query_keyword_content_results(query.text)
|
|
|
-# return ResponseWrapper(
|
|
|
-# status_code=200,
|
|
|
-# detail="success",
|
|
|
-# data=res
|
|
|
-# )
|
|
|
|
|
|
-# @router.post("/query/embedding", response_model=ResponseWrapper)
|
|
|
-# async def query_keyword(query: Query):
|
|
|
-# res = query_embedding_results(query.text)
|
|
|
-# return ResponseWrapper(
|
|
|
-# status_code=200,
|
|
|
-# detail="success",
|
|
|
-# data=res
|
|
|
-# )
|
|
|
+@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
|
|
|
+ )
|