mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-03 01:40:21 +08:00
migrate ai format conversion to responses adapters
This commit is contained in:
@@ -6,20 +6,27 @@ use aether_scheduler_core::matches_model_mapping;
|
||||
use super::GatewayPublicRequestContext;
|
||||
|
||||
pub(crate) fn models_api_format(request_context: &GatewayPublicRequestContext) -> Option<&str> {
|
||||
request_context
|
||||
let signature = request_context
|
||||
.control_decision
|
||||
.as_ref()
|
||||
.and_then(|decision| decision.auth_endpoint_signature.as_deref())
|
||||
.filter(|signature| {
|
||||
matches!(
|
||||
*signature,
|
||||
"openai:chat" | "openai:image" | "claude:chat" | "gemini:chat"
|
||||
)
|
||||
})
|
||||
.map(str::trim)
|
||||
.filter(|signature| !signature.is_empty())?;
|
||||
match signature.to_ascii_lowercase().as_str() {
|
||||
"openai:chat" => Some("openai:chat"),
|
||||
"openai:responses" | "openai:cli" => Some("openai:responses"),
|
||||
"openai:responses:compact" | "openai:compact" => Some("openai:responses:compact"),
|
||||
"openai:image" => Some("openai:image"),
|
||||
"claude:chat" => Some("claude:chat"),
|
||||
"gemini:chat" => Some("gemini:chat"),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
const MODELS_CROSS_FORMAT_QUERY_API_FORMATS: &[&str] = &[
|
||||
"openai:chat",
|
||||
"openai:responses",
|
||||
"openai:responses:compact",
|
||||
"openai:cli",
|
||||
"openai:compact",
|
||||
"openai:image",
|
||||
@@ -31,7 +38,13 @@ const MODELS_CROSS_FORMAT_QUERY_API_FORMATS: &[&str] = &[
|
||||
|
||||
pub(super) fn models_query_api_formats(api_format: &str) -> &'static [&'static str] {
|
||||
match api_format.trim().to_ascii_lowercase().as_str() {
|
||||
"openai:chat" | "claude:chat" | "gemini:chat" => MODELS_CROSS_FORMAT_QUERY_API_FORMATS,
|
||||
"openai:chat"
|
||||
| "openai:responses"
|
||||
| "openai:responses:compact"
|
||||
| "openai:cli"
|
||||
| "openai:compact"
|
||||
| "claude:chat"
|
||||
| "gemini:chat" => MODELS_CROSS_FORMAT_QUERY_API_FORMATS,
|
||||
"openai:image" => &["openai:image"],
|
||||
_ => &[],
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user