项目简介
快速部署OpenAI实时语音对话API,支持WebSocket连接,用于减少延迟并保护敏感数据
OpenAI Realtime API 提供无缝的语音对语音对话体验。为了减少延迟,它在客户端和后端之间建立 WebSocket 连接。然而,生产应用程序可能需要一个位于中间的代理来处理身份验证、速率限制并避免泄露敏感数据。
该库负责代理部分,使您可以专注于应用程序的其余部分。
use axum::{extract::WebSocketUpgrade, response::IntoResponse, routing::get, Router};
#[tokio::main]
async fn main() {
let app = Router::new().route("/ws", get(ws_handler));
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
axum::serve(listener, app).await.unwrap();
}
async fn ws_handler(ws: WebSocketUpgrade) -> impl IntoResponse {
// check for authentication/access/etc. here
let proxy = realtime_proxy::Proxy::new(
std::env::var("OPENAI_API_KEY").expect("OPENAI_API_TOKEN env var not set.")
);
ws.on_upgrade(|socket| proxy.handle(socket))
}
http://github.com/m1guelpf/openai-realtime-proxy
扫码
加入技术交流群,备注「
开发语言-城市-昵称
」
合作请注明