Jiutian - Rust Implementation
Status: Not Implemented
No native Rust SDK for Jiutian API exists in this repository.
Recommendation
Use OpenAI-compatible SDK since Jiutian API follows OpenAI chat completions format:
#![allow(unused)] fn main() { use async_openai::{Client, config::OpenAIConfig}; let config = OpenAIConfig::new() .with_api_key("sk-your-jiutian-token") .with_api_base("https://ivs.chinamobiledevice.com:30100/v1"); let client = Client::with_config(config); let request = CreateChatCompletionRequestArgs::default() .model("jiutian") .messages([ ChatCompletionRequestMessage::System( ChatCompletionRequestSystemMessageArgs::default() .content("您好,我是中国移动的智能助理灵犀。") .build()? ), ChatCompletionRequestMessage::User( ChatCompletionRequestUserMessageArgs::default() .content("你是谁?") .build()? ), ]) .build()?; let response = client.chat().create(request).await?; }
Device Protocol
For device-specific features, implement HTTP client using reqwest:
#![allow(unused)] fn main() { use serde::{Deserialize, Serialize}; #[derive(Serialize)] struct HeartbeatRequest { device_id: String, product_id: String, timestamp: i64, } async fn send_heartbeat( client: &reqwest::Client, base_url: &str, req: &HeartbeatRequest, ) -> Result<(), Error> { client .post(format!("{}/api/device/heartbeat", base_url)) .json(req) .send() .await?; Ok(()) } }
Future Work
A native SDK could provide:
- Device registration/heartbeat management
- Token refresh handling
- Jiutian-specific features
See api/device.md for device protocol details.