Files
rustytorch/crates/production/rtx-serving-api/examples/basic_server.rs
T
2026-03-04 00:08:42 +00:00

47 lines
1.5 KiB
Rust

//! Basic HTTP server example using rtx-serving-api
//!
//! This example demonstrates how to start a basic HTTP server with all
//! the serving API endpoints. Run with:
//!
//! ```bash
//! cargo run --example basic_server
//! ```
//!
//! Then test with:
//! - Health check: `curl http://localhost:8080/health`
//! - List models: `curl http://localhost:8080/v1/models`
//! - Inference: `curl -X POST http://localhost:8080/v1/completions -H "Content-Type: application/json" -d '{"model": "test-model", "prompt": "Hello, world!"}'`
use rtx_serving_api::{ServerConfig, ServingServer};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Initialize tracing for logging
tracing_subscriber::fmt::init();
// Create server configuration
let config = ServerConfig {
host: "127.0.0.1".to_string(),
port: 8080,
timeout_seconds: 30,
};
println!(
"Starting rtx-serving-api server on {}:{}",
config.host, config.port
);
println!("Available endpoints:");
println!(" GET /health - Health check");
println!(" GET /health/ready - Readiness check");
println!(" GET /health/live - Liveness check");
println!(" GET /v1/models - List available models");
println!(" POST /v1/completions - Text completion");
println!(" POST /v1/chat/completions - Chat completion");
// Create and start server
let server = ServingServer::new(config);
server.serve().await?;
Ok(())
}