Skip to main content

zai_rs/knowledge/
mod.rs

1//! # Knowledge Base Module
2//!
3//! Provides knowledge-base management for the Zhipu AI API: create, update,
4//! delete knowledge bases; upload, list, and retrieve documents; perform
5//! semantic search.
6//!
7//! # Knowledge-Base Operations
8//!
9//! | Operation | Module | Description |
10//! |-----------|--------|-------------|
11//! | Create | [`create`] | Create a new knowledge base |
12//! | List | [`list`] | List knowledge bases |
13//! | Retrieve | [`retrieve`] | Get knowledge-base details / search |
14//! | Update | [`update`] | Update metadata |
15//! | Delete | [`delete`] | Delete a knowledge base |
16//! | Capacity | [`capacity`] | Check usage / quota |
17//!
18//! # Document Operations
19//!
20//! | Operation | Module | Description |
21//! |-----------|--------|-------------|
22//! | Upload (file) | [`document_upload_file`] | Upload a local file |
23//! | Upload (URL) | [`document_upload_url`] | Upload from a URL |
24//! | List | [`document_list`] | List documents in a KB |
25//! | Retrieve | [`document_retrieve`] | Get document details |
26//! | Delete | [`document_delete`] | Delete documents |
27//! | Re-embed | [`document_reembedding`] | Re-run vectorisation |
28//! | Images | [`document_image_list`] | List extracted images |
29//!
30//! # Supported Document Types
31//!
32//! PDF, plain text, Markdown, Word, HTML, and more.
33//!
34//! # Usage
35//!
36//! ```rust,ignore
37//! use zai_rs::knowledge::*;
38//!
39//! // Create a knowledge base
40//! let kb = client.create_knowledge(&CreateKnowledgeRequest::new(body)).await?;
41//!
42//! // Upload a document
43//! let doc = client.upload_document(&DocumentUploadFileRequest::new(kb_id, file, opts)).await?;
44//!
45//! // Semantic search
46//! let results = client.retrieve_knowledge(&KnowledgeRetrieveRequest::new(kb_id, query)).await?;
47//! ```
48
49pub mod capacity;
50pub mod create;
51pub mod delete;
52pub mod document_delete;
53pub mod document_image_list;
54pub mod document_list;
55pub mod document_reembedding;
56pub mod document_retrieve;
57pub mod document_upload_file;
58pub mod document_upload_url;
59pub mod list;
60pub mod retrieve;
61pub mod types;
62pub mod update;
63
64pub use capacity::KnowledgeCapacityRequest;
65pub use create::{
66    BackgroundColor, CreateKnowledgeBody, CreateKnowledgeRequest, CreateKnowledgeResponse,
67    EmbeddingId, KnowledgeIcon,
68};
69pub use delete::{KnowledgeDeleteRequest, KnowledgeDeleteResponse};
70pub use document_delete::{DocumentDeleteRequest, DocumentDeleteResponse};
71pub use document_image_list::DocumentImageListRequest;
72pub use document_list::{DocumentListQuery, DocumentListRequest};
73pub use document_reembedding::{
74    DocumentReembeddingBody, DocumentReembeddingRequest, DocumentReembeddingResponse,
75};
76pub use document_retrieve::DocumentRetrieveRequest;
77pub use document_upload_file::{DocumentSliceType, DocumentUploadFileRequest, UploadFileOptions};
78pub use document_upload_url::{DocumentUploadUrlRequest, UploadUrlBody, UploadUrlDetail};
79pub use list::{KnowledgeListQuery, KnowledgeListRequest};
80pub use retrieve::{KnowledgeRetrieveRequest, KnowledgeRetrieveResponse};
81pub use types::{
82    DocumentDetailResponse, DocumentFailInfo, DocumentImageItem, DocumentImageListData,
83    DocumentImageListResponse, DocumentItem, DocumentListData, DocumentListResponse,
84    KnowledgeCapacityData, KnowledgeCapacityResponse, KnowledgeDetailResponse, KnowledgeItem,
85    KnowledgeListData, KnowledgeListResponse, KnowledgeUsageCounts, UploadFileData,
86    UploadFileFailedInfo, UploadFileResponse, UploadFileSuccessInfo, UploadUrlData,
87    UploadUrlFailedInfo, UploadUrlResponse, UploadUrlSuccessInfo,
88};
89pub use update::{KnowledgeUpdateRequest, KnowledgeUpdateResponse, UpdateKnowledgeBody};