Skip to main content

sz_orm_ai/
lib.rs

1//! # SZ-ORM AI — AI 能力包
2//!
3//! 提供自然语言转 SQL(NL2SQL)、检索增强生成(RAG)、文本 embedding 与向量搜索能力,
4//! 内置安全防护与 OpenAI 兼容 API 客户端(启用 `real` feature 时编译)。
5//!
6//! ## 主要模块
7//!
8//! - [`embedding`] — 文本向量化接口
9//! - [`nl2sql`] — 自然语言到 SQL 的转换
10//! - [`rag`] — 检索增强生成
11//! - [`vector`] — 向量存储与相似度检索
12//! - [`safety`] — 输入安全检查
13//! - [`sql_sanitizer`] — SQL 敏感字面量脱敏
14//!
15//! 启用 `llm-optimizer` feature 时额外提供:
16//! - [`explain_parser`] — EXPLAIN 执行计划解析(5 方言)
17//! - [`query_plan_optimizer`] — 统一查询计划优化器(规则 + LLM)
18
19pub mod embedding;
20pub mod error;
21pub mod nl2sql;
22pub mod rag;
23pub mod safety;
24pub mod sql_sanitizer;
25pub mod vector;
26
27pub use embedding::*;
28pub use error::AiError;
29pub use nl2sql::*;
30pub use rag::*;
31pub use safety::*;
32pub use sql_sanitizer::SqlSanitizer;
33pub use vector::*;
34
35// 仅在启用 `real` feature 时编译真实 OpenAI 兼容 API 客户端
36#[cfg(feature = "real")]
37pub mod real_embedding;
38#[cfg(feature = "real")]
39pub use real_embedding::OpenAIEmbeddingClient;
40
41// 仅在启用 `llm-optimizer` feature 时编译查询计划优化器模块
42#[cfg(feature = "llm-optimizer")]
43pub mod explain_parser;
44#[cfg(feature = "llm-optimizer")]
45pub mod query_plan_optimizer;
46#[cfg(feature = "llm-optimizer")]
47pub use explain_parser::{
48    ExplainPlanParser, ExplainSignal, MssqlExplainParser, MySqlExplainParser, OracleExplainParser,
49    PgExplainParser, SqliteExplainParser,
50};
51#[cfg(feature = "llm-optimizer")]
52pub use query_plan_optimizer::{
53    HintSource, OptimizerConfig, UnifiedOptimizationHint, UnifiedQueryAnalysis,
54    UnifiedQueryOptimizer,
55};