[router]: Add Embedding routing logic (#10129)
Signed-off-by: Jintao Zhang <zhangjintao9020@gmail.com> Co-authored-by: Waël Boukhobza <wawa_wael@live.fr>
This commit is contained in:
@@ -5,8 +5,8 @@ use crate::metrics::{self, PrometheusConfig};
|
||||
use crate::middleware::TokenBucket;
|
||||
use crate::policies::PolicyRegistry;
|
||||
use crate::protocols::spec::{
|
||||
ChatCompletionRequest, CompletionRequest, GenerateRequest, RerankRequest, ResponsesRequest,
|
||||
V1RerankReqInput,
|
||||
ChatCompletionRequest, CompletionRequest, EmbeddingRequest, GenerateRequest, RerankRequest,
|
||||
ResponsesRequest, V1RerankReqInput,
|
||||
};
|
||||
use crate::protocols::worker_spec::{WorkerApiResponse, WorkerConfigRequest, WorkerErrorResponse};
|
||||
use crate::reasoning_parser::ParserFactory;
|
||||
@@ -208,6 +208,17 @@ async fn v1_responses(
|
||||
.await
|
||||
}
|
||||
|
||||
async fn v1_embeddings(
|
||||
State(state): State<Arc<AppState>>,
|
||||
headers: http::HeaderMap,
|
||||
Json(body): Json<EmbeddingRequest>,
|
||||
) -> Response {
|
||||
state
|
||||
.router
|
||||
.route_embeddings(Some(&headers), &body, None)
|
||||
.await
|
||||
}
|
||||
|
||||
async fn v1_responses_get(
|
||||
State(state): State<Arc<AppState>>,
|
||||
Path(response_id): Path<String>,
|
||||
@@ -465,6 +476,7 @@ pub fn build_app(
|
||||
.route("/rerank", post(rerank))
|
||||
.route("/v1/rerank", post(v1_rerank))
|
||||
.route("/v1/responses", post(v1_responses))
|
||||
.route("/v1/embeddings", post(v1_embeddings))
|
||||
.route("/v1/responses/{response_id}", get(v1_responses_get))
|
||||
.route(
|
||||
"/v1/responses/{response_id}/cancel",
|
||||
|
||||
Reference in New Issue
Block a user