# 简化版本的搜索端点,只支持GET方法 @router.get("/{kb_id}/search") async def search_knowledge_base( kb_id: int, query: str, limit: int = 5, db: Session = Depends(get_db), current_user: User = Depends(AuthService.get_current_user) ): """Search documents in a knowledge base.""" try: # Verify knowledge base exists and user has access kb_service = KnowledgeBaseService(db) kb = kb_service.get_knowledge_base(kb_id) if not kb: raise HTTPException( status_code=status.HTTP_404_NOT_FOUND, detail="Knowledge base not found" ) # Perform search doc_service = DocumentService(db) results = doc_service.search_documents(kb_id, query, limit) return { "knowledge_base_id": kb_id, "query": query, "results": results, "total_results": len(results) } except HTTPException: raise except Exception as e: raise HTTPException( status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, detail=f"Failed to search knowledge base: {str(e)}" )