Get document-level embedding
(document_id: int)
| 322 | |
| 323 | @document_bp.route("/documents/<int:document_id>/embedding", methods=["GET"]) |
| 324 | def get_document_embedding(document_id: int): |
| 325 | """Get document-level embedding""" |
| 326 | try: |
| 327 | # Get query parameters, determine whether to return complete embedding vector |
| 328 | include_vector = request.args.get("include_vector", "").lower() == "true" |
| 329 | |
| 330 | embedding = document_service.get_document_embedding(document_id) |
| 331 | if embedding is None: |
| 332 | return jsonify( |
| 333 | APIResponse.error( |
| 334 | message=f"No embedding found for document {document_id}" |
| 335 | ) |
| 336 | ), 404 |
| 337 | return jsonify( |
| 338 | APIResponse.success( |
| 339 | data={ |
| 340 | "document_id": document_id, |
| 341 | "embedding_length": len(embedding), |
| 342 | "embedding_vector": embedding if include_vector else None, |
| 343 | } |
| 344 | ) |
| 345 | ) |
| 346 | |
| 347 | except Exception as e: |
| 348 | logger.error(f"Error getting document embedding: {str(e)}", exc_info=True) |
| 349 | return jsonify( |
| 350 | APIResponse.error(message=f"Error getting document embedding: {str(e)}") |
| 351 | ) |
| 352 | |
| 353 | |
| 354 | @document_bp.route("/documents/verify-embeddings", methods=["GET"]) |
nothing calls this directly
no test coverage detected