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//! ```text
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
49/// Knowledge-base capacity / quota query.
50pub mod capacity;
51/// Create a new knowledge base.
52pub mod create;
53/// Delete a knowledge base.
54pub mod delete;
55/// Delete documents from a knowledge base.
56pub mod document_delete;
57/// List images extracted from a document.
58pub mod document_image_list;
59/// List documents in a knowledge base.
60pub mod document_list;
61/// Re-run vectorisation (embedding) for documents.
62pub mod document_reembedding;
63/// Retrieve document details.
64pub mod document_retrieve;
65/// Upload a local file as a document.
66pub mod document_upload_file;
67/// Upload a document from a URL.
68pub mod document_upload_url;
69/// List knowledge bases.
70pub mod list;
71/// Retrieve knowledge-base details / semantic search.
72pub mod retrieve;
73/// Search knowledge-base (POST /knowledge/retrieve, P06).
74pub mod search;
75/// Shared knowledge-base data types.
76pub mod types;
77/// Update knowledge-base metadata.
78pub mod update;
79
80pub use capacity::KnowledgeCapacityRequest;
81pub use create::{
82 BackgroundColor, CreateKnowledgeBody, CreateKnowledgeRequest, CreateKnowledgeResponse,
83 EmbeddingId, KnowledgeIcon,
84};
85pub use delete::{KnowledgeDeleteRequest, KnowledgeDeleteResponse};
86pub use document_delete::{DocumentDeleteRequest, DocumentDeleteResponse};
87pub use document_image_list::DocumentImageListRequest;
88pub use document_list::{DocumentListQuery, DocumentListRequest};
89pub use document_reembedding::{
90 DocumentReembeddingBody, DocumentReembeddingRequest, DocumentReembeddingResponse,
91};
92pub use document_retrieve::DocumentRetrieveRequest;
93pub use document_upload_file::{DocumentSliceType, DocumentUploadFileRequest, UploadFileOptions};
94pub use document_upload_url::{DocumentUploadUrlRequest, UploadUrlBody, UploadUrlDetail};
95pub use list::{KnowledgeListQuery, KnowledgeListRequest};
96pub use retrieve::{KnowledgeRetrieveRequest, KnowledgeRetrieveResponse};
97pub use search::{KnowledgeSearchBody, KnowledgeSearchRequest, KnowledgeSearchResponse};
98pub use types::{
99 DocumentDetailResponse, DocumentFailInfo, DocumentImageItem, DocumentImageListData,
100 DocumentImageListResponse, DocumentItem, DocumentListData, DocumentListResponse,
101 KnowledgeCapacityData, KnowledgeCapacityResponse, KnowledgeDetailResponse, KnowledgeItem,
102 KnowledgeListData, KnowledgeListResponse, KnowledgeUsageCounts, UploadFileData,
103 UploadFileFailedInfo, UploadFileResponse, UploadFileSuccessInfo, UploadUrlData,
104 UploadUrlFailedInfo, UploadUrlResponse, UploadUrlSuccessInfo,
105};
106pub use update::{KnowledgeUpdateRequest, KnowledgeUpdateResponse, UpdateKnowledgeBody};