Unverified Commit ce67b2d5 authored by Keyang Ru's avatar Keyang Ru Committed by GitHub
Browse files

[router]restructure protocol modules for better organization (#9321)

parent 3c2c9f6c
...@@ -8,8 +8,12 @@ use crate::core::{ ...@@ -8,8 +8,12 @@ use crate::core::{
RetryExecutor, Worker, WorkerFactory, WorkerType, RetryExecutor, Worker, WorkerFactory, WorkerType,
}; };
use crate::metrics::RouterMetrics; use crate::metrics::RouterMetrics;
use crate::openai_api_types::{ChatCompletionRequest, CompletionRequest, GenerateRequest};
use crate::policies::LoadBalancingPolicy; use crate::policies::LoadBalancingPolicy;
use crate::protocols::{
common::GenerationRequest,
generate::GenerateRequest,
openai::{chat::ChatCompletionRequest, completions::CompletionRequest},
};
use crate::routers::{RouterTrait, WorkerManagement}; use crate::routers::{RouterTrait, WorkerManagement};
use axum::{ use axum::{
body::Body, body::Body,
...@@ -453,9 +457,7 @@ impl Router { ...@@ -453,9 +457,7 @@ impl Router {
Some(available[idx].clone_worker()) Some(available[idx].clone_worker())
} }
pub async fn route_typed_request< pub async fn route_typed_request<T: GenerationRequest + serde::Serialize + Clone>(
T: crate::openai_api_types::GenerationRequest + serde::Serialize + Clone,
>(
&self, &self,
headers: Option<&HeaderMap>, headers: Option<&HeaderMap>,
typed_req: &T, typed_req: &T,
......
use crate::config::RouterConfig; use crate::config::RouterConfig;
use crate::logging::{self, LoggingConfig}; use crate::logging::{self, LoggingConfig};
use crate::metrics::{self, PrometheusConfig}; use crate::metrics::{self, PrometheusConfig};
use crate::openai_api_types::{ChatCompletionRequest, CompletionRequest, GenerateRequest}; use crate::protocols::{
generate::GenerateRequest,
openai::{chat::ChatCompletionRequest, completions::CompletionRequest},
};
use crate::routers::{RouterFactory, RouterTrait}; use crate::routers::{RouterFactory, RouterTrait};
use crate::service_discovery::{start_service_discovery, ServiceDiscoveryConfig}; use crate::service_discovery::{start_service_discovery, ServiceDiscoveryConfig};
use axum::{ use axum::{
......
...@@ -5,9 +5,13 @@ ...@@ -5,9 +5,13 @@
use serde_json::{from_str, to_string, to_value}; use serde_json::{from_str, to_string, to_value};
use sglang_router_rs::core::{BasicWorker, WorkerType}; use sglang_router_rs::core::{BasicWorker, WorkerType};
use sglang_router_rs::openai_api_types::{ use sglang_router_rs::protocols::{
ChatCompletionRequest, ChatMessage, CompletionRequest, GenerateParameters, GenerateRequest, common::StringOrArray,
SamplingParams, StringOrArray, UserMessageContent, generate::{GenerateParameters, GenerateRequest, SamplingParams},
openai::{
chat::{ChatCompletionRequest, ChatMessage, UserMessageContent},
completions::CompletionRequest,
},
}; };
/// Create a default GenerateRequest for benchmarks with minimal fields set /// Create a default GenerateRequest for benchmarks with minimal fields set
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment