use std::time::Duration;
use serde_json::Value;
use super::openai_compat::{invoke_with_engine, OpenAiCompatOptions};
const ENGINE: &str = "vllm";
pub fn default_options() -> OpenAiCompatOptions {
OpenAiCompatOptions {
base_url: "http://localhost:8000/v1".into(),
model: None,
api_key: None,
timeout: Duration::from_secs(30),
}
}
#[cfg(feature = "iicp-tcp")]
pub fn vllm_handler(opts: OpenAiCompatOptions) -> crate::iicp_tcp::TcpTaskHandler {
super::openai_compat::build_handler(ENGINE, opts)
}
pub async fn invoke(opts: &OpenAiCompatOptions, intent: &str, payload: &Value) -> Value {
invoke_with_engine(ENGINE, opts, intent, payload).await
}