94057c3d3e
PR Test (NPU) / check-changes (push) Has been cancelled
PR Test (NPU) / pr-gate (push) Has been cancelled
PR Test (NPU) / set-image-config (push) Has been cancelled
PR Test (NPU) / stage-b-test-1-npu-a2 (0) (push) Has been cancelled
PR Test (NPU) / stage-b-test-1-npu-a2 (1) (push) Has been cancelled
PR Test (NPU) / stage-b-test-2-npu-a2 (0) (push) Has been cancelled
PR Test (NPU) / stage-b-test-2-npu-a2 (1) (push) Has been cancelled
PR Test (NPU) / stage-b-test-4-npu-a3 (push) Has been cancelled
PR Test (NPU) / stage-b-test-16-npu-a3 (push) Has been cancelled
PR Test (NPU) / multimodal-gen-test-1-npu-a3 (push) Has been cancelled
PR Test (NPU) / multimodal-gen-test-2-npu-a3 (push) Has been cancelled
PR Test (Arm64) / pr-gate (push) Has been cancelled
PR Test (Arm64) / check-changes (push) Has been cancelled
PR Test (Arm64) / build-test (push) Has been cancelled
PR Test (sgl-router) / gate (push) Has been cancelled
PR Test (sgl-router) / tier-1 — lint (push) Has been cancelled
PR Test (sgl-router) / tier-2 — build + test (push) Has been cancelled
PR Test (sgl-router) / tier-3 — docker (placeholder) (push) Has been cancelled
PR Test (sgl-router) / tier-3 — k8s integration (push) Has been cancelled
PR Test (sgl-router) / tier-3 — e2e (push) Has been cancelled
PR Test (sgl-router) / finish (push) Has been cancelled
PR Test (NPU) / single-node-poc (map[name:qwen3_6_27b_w8a8_1p_in64k_out1k_50ms runner:linux-aarch64-a3-2 test_case:test/registered/ascend/performance/qwen3_6_27b/test_npu_qwen3_6_27b_w8a8_1p_in64k_out1k_50ms.py test_type:perf]) (push) Has been cancelled
PR Test (NPU) / pr-test-npu-finish (push) Has been cancelled
PR Test (Xeon) / pr-gate (push) Has been cancelled
PR Test (Xeon) / check-changes (push) Has been cancelled
PR Test (Xeon) / build-test (, xeon-gnr, base-b-test-cpu) (push) Has been cancelled
PR Test (XPU) / check-changes (push) Has been cancelled
PR Test (XPU) / pr-gate (push) Has been cancelled
PR Test (XPU) / stage-a-test-1-gpu-xpu (push) Has been cancelled
PR Test (XPU) / wait-for-stage-a (push) Has been cancelled
PR Test (XPU) / stage-b-test-1-gpu-xpu (push) Has been cancelled
PR Test (XPU) / finish (push) Has been cancelled
CI Model Inventory / build-inventory (push) Has been cancelled
Lint / lint (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark Compilation Check (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark - Manual Policy (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark - Request Processing (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark Summary (push) Has been cancelled
PR Test (SMG) / build-wheel (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on windows (x86_64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on macos (x86_64 - auto) (push) Has been cancelled
PR Test (SMG) / python-unit-tests (push) Has been cancelled
PR Test (SMG) / unit-tests (push) Has been cancelled
PR Test (SMG) / benchmarks (push) Has been cancelled
PR Test (SMG) / chat-completions (push) Has been cancelled
PR Test (SMG) / chat-completions-4gpu (push) Has been cancelled
PR Test (SMG) / e2e (push) Has been cancelled
PR Test (SMG) / docker-build-test (push) Has been cancelled
PR Test (SMG) / k8s-integration (push) Has been cancelled
PR Test (SMG) / finish (push) Has been cancelled
PR Test (SMG) / summarize-benchmarks (push) Has been cancelled
Release SGLang Model Gateway Docker Image / publish (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on macos (aarch64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (aarch64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (x86_64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (aarch64 - musllinux_1_1) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (x86_64 - musllinux_1_1) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / Build SDist (push) Has been cancelled
Release SGLang Model Gateway to PyPI / Upload to PyPI (push) Has been cancelled
Release SGLang Kernels / build-cu129-matrix (aarch64, 12.9, 3.10, arm-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / build-cu129-matrix (x86_64, 12.9, 3.10, x64-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / release-cu129 (push) Has been cancelled
Release SGLang Kernels / build-cu130-matrix (aarch64, 13.0, 3.10, arm-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / build-cu130-matrix (x86_64, 13.0, 3.10, x64-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / release-cu130 (push) Has been cancelled
Release SGLang Kernels / build-rocm-matrix (3.10, 700) (push) Has been cancelled
Release SGLang Kernels / build-rocm-matrix (3.10, 720) (push) Has been cancelled
Release SGLang Kernels / release-rocm700 (push) Has been cancelled
Release SGLang Kernels / release-rocm720 (push) Has been cancelled
Release SGLang Kernels / build-musa43 (43, 3.10) (push) Has been cancelled
Release SGLang Kernels / release-musa43 (push) Has been cancelled
103 lines
3.0 KiB
Rust
103 lines
3.0 KiB
Rust
use serde_json::{from_str, json, to_string};
|
|
use smg::protocols::{common::GenerationRequest, embedding::EmbeddingRequest};
|
|
|
|
#[test]
|
|
fn test_embedding_request_serialization_string_input() {
|
|
let req = EmbeddingRequest {
|
|
model: "test-emb".to_string(),
|
|
input: json!("hello"),
|
|
encoding_format: Some("float".to_string()),
|
|
user: Some("user-1".to_string()),
|
|
dimensions: Some(128),
|
|
rid: Some("rid-123".to_string()),
|
|
log_metrics: None,
|
|
};
|
|
|
|
let serialized = to_string(&req).unwrap();
|
|
let deserialized: EmbeddingRequest = from_str(&serialized).unwrap();
|
|
|
|
assert_eq!(deserialized.model, req.model);
|
|
assert_eq!(deserialized.input, req.input);
|
|
assert_eq!(deserialized.encoding_format, req.encoding_format);
|
|
assert_eq!(deserialized.user, req.user);
|
|
assert_eq!(deserialized.dimensions, req.dimensions);
|
|
assert_eq!(deserialized.rid, req.rid);
|
|
}
|
|
|
|
#[test]
|
|
fn test_embedding_request_serialization_array_input() {
|
|
let req = EmbeddingRequest {
|
|
model: "test-emb".to_string(),
|
|
input: json!(["a", "b", "c"]),
|
|
encoding_format: None,
|
|
user: None,
|
|
dimensions: None,
|
|
rid: None,
|
|
log_metrics: None,
|
|
};
|
|
|
|
let serialized = to_string(&req).unwrap();
|
|
let de: EmbeddingRequest = from_str(&serialized).unwrap();
|
|
assert_eq!(de.model, req.model);
|
|
assert_eq!(de.input, req.input);
|
|
}
|
|
|
|
#[test]
|
|
fn test_embedding_generation_request_trait_string() {
|
|
let req = EmbeddingRequest {
|
|
model: "emb-model".to_string(),
|
|
input: json!("hello"),
|
|
encoding_format: None,
|
|
user: None,
|
|
dimensions: None,
|
|
rid: None,
|
|
log_metrics: None,
|
|
};
|
|
assert!(!req.is_stream());
|
|
assert_eq!(req.get_model(), Some("emb-model"));
|
|
assert_eq!(req.extract_text_for_routing(), "hello");
|
|
}
|
|
|
|
#[test]
|
|
fn test_embedding_generation_request_trait_array() {
|
|
let req = EmbeddingRequest {
|
|
model: "emb-model".to_string(),
|
|
input: json!(["hello", "world"]),
|
|
encoding_format: None,
|
|
user: None,
|
|
dimensions: None,
|
|
rid: None,
|
|
log_metrics: None,
|
|
};
|
|
assert_eq!(req.extract_text_for_routing(), "hello world");
|
|
}
|
|
|
|
#[test]
|
|
fn test_embedding_generation_request_trait_non_text() {
|
|
let req = EmbeddingRequest {
|
|
model: "emb-model".to_string(),
|
|
input: json!({"tokens": [1, 2, 3]}),
|
|
encoding_format: None,
|
|
user: None,
|
|
dimensions: None,
|
|
rid: None,
|
|
log_metrics: None,
|
|
};
|
|
assert_eq!(req.extract_text_for_routing(), "");
|
|
}
|
|
|
|
#[test]
|
|
fn test_embedding_generation_request_trait_mixed_array_ignores_nested() {
|
|
let req = EmbeddingRequest {
|
|
model: "emb-model".to_string(),
|
|
input: json!(["a", ["b", "c"], 123, {"k": "v"}]),
|
|
encoding_format: None,
|
|
user: None,
|
|
dimensions: None,
|
|
rid: None,
|
|
log_metrics: None,
|
|
};
|
|
// Only top-level string elements are extracted
|
|
assert_eq!(req.extract_text_for_routing(), "a");
|
|
}
|