Add manual routing policy for router (#15586)

This commit is contained in:
fzyzcjy
2025-12-25 11:27:36 +08:00
committed by GitHub
parent 1ba897f330
commit 45adad37d0
35 changed files with 1128 additions and 65 deletions
@@ -10,6 +10,7 @@ fn test_embedding_request_serialization_string_input() {
user: Some("user-1".to_string()),
dimensions: Some(128),
rid: Some("rid-123".to_string()),
routing_id: None,
log_metrics: None,
};
@@ -33,6 +34,7 @@ fn test_embedding_request_serialization_array_input() {
user: None,
dimensions: None,
rid: None,
routing_id: None,
log_metrics: None,
};
@@ -51,6 +53,7 @@ fn test_embedding_generation_request_trait_string() {
user: None,
dimensions: None,
rid: None,
routing_id: None,
log_metrics: None,
};
assert!(!req.is_stream());
@@ -67,6 +70,7 @@ fn test_embedding_generation_request_trait_array() {
user: None,
dimensions: None,
rid: None,
routing_id: None,
log_metrics: None,
};
assert_eq!(req.extract_text_for_routing(), "hello world");
@@ -81,6 +85,7 @@ fn test_embedding_generation_request_trait_non_text() {
user: None,
dimensions: None,
rid: None,
routing_id: None,
log_metrics: None,
};
assert_eq!(req.extract_text_for_routing(), "");
@@ -95,6 +100,7 @@ fn test_embedding_generation_request_trait_mixed_array_ignores_nested() {
user: None,
dimensions: None,
rid: None,
routing_id: None,
log_metrics: None,
};
// Only top-level string elements are extracted
+15
View File
@@ -17,6 +17,7 @@ fn test_rerank_request_serialization() {
return_documents: true,
rid: Some(StringOrArray::String("req-123".to_string())),
user: Some("user-456".to_string()),
routing_id: None,
};
let serialized = to_string(&request).unwrap();
@@ -59,6 +60,7 @@ fn test_rerank_request_validation_success() {
return_documents: true,
rid: None,
user: None,
routing_id: None,
};
assert!(request.validate().is_ok());
@@ -74,6 +76,7 @@ fn test_rerank_request_validation_empty_query() {
return_documents: true,
rid: None,
user: None,
routing_id: None,
};
let result = request.validate();
@@ -90,6 +93,7 @@ fn test_rerank_request_validation_whitespace_query() {
return_documents: true,
rid: None,
user: None,
routing_id: None,
};
let result = request.validate();
@@ -106,6 +110,7 @@ fn test_rerank_request_validation_empty_documents() {
return_documents: true,
rid: None,
user: None,
routing_id: None,
};
let result = request.validate();
@@ -122,6 +127,7 @@ fn test_rerank_request_validation_top_k_zero() {
return_documents: true,
rid: None,
user: None,
routing_id: None,
};
let result = request.validate();
@@ -138,6 +144,7 @@ fn test_rerank_request_validation_top_k_greater_than_docs() {
return_documents: true,
rid: None,
user: None,
routing_id: None,
};
// This should pass but log a warning
@@ -154,6 +161,7 @@ fn test_rerank_request_effective_top_k() {
return_documents: true,
rid: None,
user: None,
routing_id: None,
};
assert_eq!(request.effective_top_k(), 2);
@@ -169,6 +177,7 @@ fn test_rerank_request_effective_top_k_none() {
return_documents: true,
rid: None,
user: None,
routing_id: None,
};
assert_eq!(request.effective_top_k(), 3);
@@ -390,6 +399,7 @@ fn test_rerank_request_generation_request_trait() {
return_documents: true,
rid: None,
user: None,
routing_id: None,
};
assert_eq!(request.get_model(), Some("test-model"));
@@ -408,6 +418,7 @@ fn test_rerank_request_very_long_query() {
return_documents: true,
rid: None,
user: None,
routing_id: None,
};
assert!(request.validate().is_ok());
@@ -424,6 +435,7 @@ fn test_rerank_request_many_documents() {
return_documents: true,
rid: None,
user: None,
routing_id: None,
};
assert!(request.validate().is_ok());
@@ -443,6 +455,7 @@ fn test_rerank_request_special_characters() {
return_documents: true,
rid: Some(StringOrArray::String("req-🚀-123".to_string())),
user: Some("user-🎉-456".to_string()),
routing_id: None,
};
assert!(request.validate().is_ok());
@@ -461,6 +474,7 @@ fn test_rerank_request_rid_array() {
"req2".to_string(),
])),
user: None,
routing_id: None,
};
assert!(request.validate().is_ok());
@@ -515,6 +529,7 @@ fn test_full_rerank_workflow() {
return_documents: true,
rid: Some(StringOrArray::String("req-123".to_string())),
user: Some("user-456".to_string()),
routing_id: None,
};
// Validate request