|
@@ -14,6 +14,7 @@ router = APIRouter(prefix="/text", tags=["Text Search"])
|
|
|
class TextSearchRequest(BaseModel):
|
|
|
text: str
|
|
|
conversation_id: Optional[str] = None
|
|
|
+ need_convert: Optional[bool] = False
|
|
|
|
|
|
@router.post("/search", response_model=StandardResponse)
|
|
|
async def search_text(request: TextSearchRequest):
|
|
@@ -33,6 +34,9 @@ async def search_text(request: TextSearchRequest):
|
|
|
cached_results = trunks_service.get_cached_result(request.conversation_id) if request.conversation_id else []
|
|
|
|
|
|
for sentence in sentences:
|
|
|
+ if len(sentence) < 10:
|
|
|
+ result_sentences.append(sentence)
|
|
|
+ continue
|
|
|
if cached_results:
|
|
|
# 如果有缓存结果,计算向量距离
|
|
|
min_distance = float('inf')
|
|
@@ -79,10 +83,13 @@ async def search_text(request: TextSearchRequest):
|
|
|
}
|
|
|
all_references.append(reference)
|
|
|
reference_index += 1
|
|
|
-
|
|
|
+
|
|
|
+ answer = "\n".join(result_sentences)
|
|
|
+ if request.need_convert:
|
|
|
+ answer = answer.replace("\n", "</br>")
|
|
|
# 组装返回数据
|
|
|
response_data = {
|
|
|
- "answer": "\n".join(result_sentences),
|
|
|
+ "answer": answer,
|
|
|
"references": all_references
|
|
|
}
|
|
|
|