zai-rs 0.2.0

一个 Rust SDK, 用于调用 智普AI API
Documentation
use zai_rs::knowledge::*;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    if std::env::var_os("RUST_LOG").is_some() {
        let _ = tracing_subscriber::fmt()
            .with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
            .try_init();
    }
    let key = std::env::var("ZHIPU_API_KEY").expect("Please set ZHIPU_API_KEY env var");

    // Args: <document_id>
    let doc_id = std::env::args()
        .nth(1)
        .expect("Usage: knowledge_document_detail <document_id>");

    let req = DocumentRetrieveRequest::new(key, doc_id);
    let resp: DocumentDetailResponse = req.send().await?;

    tracing::trace!(
        "code={:?} message={:?} timestamp={:?}",
        resp.code,
        resp.message,
        resp.timestamp
    );
    if let Some(doc) = &resp.data {
        tracing::trace!(
            "id={:?} name={:?} type={:?} words={:?} bytes={:?}",
            doc.id,
            doc.name,
            doc.knowledge_type,
            doc.word_num,
            doc.length
        );
        if let Some(f) = &doc.fail_info {
            tracing::trace!(
                "fail: code={:?} msg={:?}",
                f.embedding_code,
                f.embedding_msg
            );
        }
    }

    Ok(())
}