Ver Fonte

update:api返回支持source_word

刘立冬 há 2 semanas atrás
pai
commit
b25f4d9fc9
2 ficheiros alterados com 10 adições e 0 exclusões
  1. 9 0
      api/data_converter.py
  2. 1 0
      api/search_service.py

+ 9 - 0
api/data_converter.py

@@ -176,9 +176,18 @@ def convert_pipeline_output_to_api_response(
                             }
                             matched_notes.append(matched_note)
                 
+                # 提取并转换 source_word 为数组格式
+                source_word_str = search_item.get('source_word', '')
+                if source_word_str and isinstance(source_word_str, str):
+                    # 按空格分割,过滤空字符串
+                    source_words = [word.strip() for word in source_word_str.split() if word.strip()]
+                else:
+                    source_words = []
+                
                 # 构建搜索结果显示
                 search_result = {
                     'search_word': search_item.get('search_word', ''),
+                    'source_words': source_words,  # 数组格式的来源词组合
                     'comprehensive_score': round(comprehensive_score, 3),
                     'comprehensive_score_detail': comprehensive_score_detail or {},
                     'matched_notes': matched_notes

+ 1 - 0
api/search_service.py

@@ -64,6 +64,7 @@ class ComprehensiveScoreDetail(BaseModel):
 class SearchResult(BaseModel):
     """搜索结果模型"""
     search_word: str
+    source_words: List[str] = Field(..., description="query来源组合,数组格式,包含生成该query所使用的所有来源词")
     comprehensive_score: float
     comprehensive_score_detail: Dict[str, Any]
     matched_notes: List[MatchedNote]