Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 0 additions & 32 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ members = [
"crates/aisix-gateway",
"crates/aisix-provider-openai",
"crates/aisix-provider-anthropic",
"crates/aisix-provider-google",
"crates/aisix-provider-deepseek",
"crates/aisix-proxy",
"crates/aisix-admin",
"crates/aisix-obs",
Expand Down
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,8 @@ crates/
├── aisix-core Config, Snapshot, ResourceEntry, errors
├── aisix-etcd ConfigProvider, watch supervisor
├── aisix-gateway Hub & Bridge, SSE parser, provider trait
├── aisix-provider-openai
├── aisix-provider-openai Also serves DeepSeek + Google Gemini via with_name()
├── aisix-provider-anthropic
├── aisix-provider-gemini
├── aisix-provider-deepseek
├── aisix-proxy /v1/* handlers + middleware
├── aisix-admin CRUD + playground + OpenAPI
├── aisix-obs tracing, metrics, access log
Expand Down
21 changes: 0 additions & 21 deletions crates/aisix-provider-deepseek/Cargo.toml

This file was deleted.

91 changes: 0 additions & 91 deletions crates/aisix-provider-deepseek/src/lib.rs

This file was deleted.

21 changes: 0 additions & 21 deletions crates/aisix-provider-google/Cargo.toml

This file was deleted.

94 changes: 0 additions & 94 deletions crates/aisix-provider-google/src/lib.rs

This file was deleted.

6 changes: 2 additions & 4 deletions crates/aisix-provider-openai/src/bridge.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,12 @@ use crate::wire::{
/// this constant only covers degenerate config paths.
pub const OPENAI_DEFAULT_BASE: &str = "https://api.openai.com/v1";

/// Fallback host for the `deepseek`-named variant of this bridge.
/// Mirrors `aisix_provider_deepseek::DEEPSEEK_DEFAULT_BASE` so that a
/// Fallback host for the `deepseek`-named variant of this bridge, so a
/// `with_name("deepseek")` instance without an explicit `api_base`
/// dispatches to DeepSeek rather than OpenAI.
const DEEPSEEK_DEFAULT_BASE: &str = "https://api.deepseek.com";

/// Fallback host for the `gemini`-named variant of this bridge.
/// Mirrors `aisix_provider_google::GOOGLE_DEFAULT_BASE` so that a
/// Fallback host for the `google`-named variant of this bridge, so a
/// `with_name("google")` instance without an explicit `api_base`
/// dispatches to Google's OpenAI-compatible Gemini endpoint.
const GOOGLE_DEFAULT_BASE: &str = "https://generativelanguage.googleapis.com/v1beta/openai";
Expand Down
2 changes: 0 additions & 2 deletions crates/aisix-proxy/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,4 @@ tokio = { workspace = true, features = ["macros", "rt"] }
aisix-provider-openai = { path = "../aisix-provider-openai" }
# aisix-provider-anthropic moved to [dependencies] so the /v1/messages
# handler can use its inbound wire helpers in non-test builds too.
aisix-provider-deepseek = { path = "../aisix-provider-deepseek" }
aisix-provider-google = { path = "../aisix-provider-google" }
wiremock.workspace = true
14 changes: 10 additions & 4 deletions crates/aisix-proxy/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3313,7 +3313,7 @@ event: message_stop\ndata: {\"type\":\"message_stop\"}\n\n";
/// different default base URL behavior).
#[tokio::test]
async fn matrix_openai_in_gemini_upstream_non_streaming() {
use aisix_provider_google::google_bridge;
use aisix_provider_openai::OpenAiBridge;

let upstream = MockServer::start().await;
Mock::given(method("POST"))
Expand All @@ -3337,7 +3337,10 @@ event: message_stop\ndata: {\"type\":\"message_stop\"}\n\n";
snap.apikeys
.insert(apikey_entry("sk-caller", &["my-gemini"]));
let hub = Arc::new(Hub::new());
hub.register(Provider::Google, Arc::new(google_bridge()));
hub.register(
Provider::Google,
Arc::new(OpenAiBridge::new().with_name("google")),
);
let app = build_router(build_state(snap, hub));

let body = serde_json::json!({
Expand Down Expand Up @@ -3365,7 +3368,7 @@ event: message_stop\ndata: {\"type\":\"message_stop\"}\n\n";
/// that `Provider::Deepseek` resolves correctly.
#[tokio::test]
async fn matrix_openai_in_deepseek_upstream_non_streaming() {
use aisix_provider_deepseek::deepseek_bridge;
use aisix_provider_openai::OpenAiBridge;

let upstream = MockServer::start().await;
Mock::given(method("POST"))
Expand All @@ -3391,7 +3394,10 @@ event: message_stop\ndata: {\"type\":\"message_stop\"}\n\n";
snap.apikeys
.insert(apikey_entry("sk-caller", &["my-deepseek"]));
let hub = Arc::new(Hub::new());
hub.register(Provider::Deepseek, Arc::new(deepseek_bridge()));
hub.register(
Provider::Deepseek,
Arc::new(OpenAiBridge::new().with_name("deepseek")),
);
let app = build_router(build_state(snap, hub));

let body = serde_json::json!({
Expand Down
Loading
Loading