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");
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(())
}