feat(ui): always display chat api endpoints in swagger doc (#784)

release-fix-intellij-update-support-version-range
Meng Zhang 2023-11-14 13:10:41 -08:00 committed by GitHub
parent 6236566a21
commit bd072d8fb9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 1 additions and 22 deletions

View File

@ -102,12 +102,9 @@ pub async fn main(config: &Config, args: &ServeArgs) {
info!("Starting server, this might takes a few minutes..."); info!("Starting server, this might takes a few minutes...");
let mut doc = ApiDoc::openapi();
doc.override_doc(args);
let app = Router::new() let app = Router::new()
.merge(api_router(args, config).await) .merge(api_router(args, config).await)
.merge(SwaggerUi::new("/swagger-ui").url("/api-docs/openapi.json", doc)); .merge(SwaggerUi::new("/swagger-ui").url("/api-docs/openapi.json", ApiDoc::openapi()));
let app = attach_webserver(app).await; let app = attach_webserver(app).await;
@ -217,21 +214,3 @@ fn start_heartbeat(args: &ServeArgs) {
} }
}); });
} }
trait OpenApiOverride {
fn override_doc(&mut self, args: &ServeArgs);
}
impl OpenApiOverride for utoipa::openapi::OpenApi {
fn override_doc(&mut self, args: &ServeArgs) {
if args.chat_model.is_none() {
self.paths.paths.remove("/v1beta/chat/completions");
if let Some(components) = self.components.as_mut() {
components.schemas.remove("ChatCompletionRequest");
components.schemas.remove("ChatCompletionChunk");
components.schemas.remove("Message");
}
}
}
}