sz-orm-ai 3.5.0

SZ-ORM AI Extension - Embedding, Vector Store, RAG Engine
Documentation
[package]

name = "sz-orm-ai"

version.workspace = true

edition.workspace = true

authors.workspace = true

license.workspace = true

repository.workspace = true

homepage.workspace = true

keywords.workspace = true

categories.workspace = true

description = "SZ-ORM AI Extension - Embedding, Vector Store, RAG Engine"



[features]

default = []

# 启用真实 OpenAI 兼容 API 客户端(HTTP 调用)

real = ["dep:reqwest", "dep:base64"]

# 启用 LLM 查询计划优化器(依赖 real feature 的 reqwest HTTP 客户端)

llm-optimizer = ["real"]

# v3.2.0:查询计划缓存转发

plan-cache = ["dep:sz-orm-core", "sz-orm-core/plan-cache"]

# v3.3.0 M4:AI 自然语言查询增强

ai-nl2sql-enhanced = []

ai-index-advisor = ["dep:sqlparser"]

ai-rewrite-advisor = ["dep:sqlparser"]



[dependencies]

async-trait = "0.1"

tokio = { version = "1.40", features = ["full"] }

thiserror = "2.0"

serde = { version = "1.0", features = ["derive"] }

serde_json = "1.0"

# real feature 可选依赖

reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"], optional = true }

base64 = { version = "0.22", optional = true }

# 锁毒化修复:使用 parking_lot 替代 std::sync,消除 .write().unwrap() panic 风险

parking_lot.workspace = true

# v3.2.0:查询计划缓存(plan-cache feature,可选依赖)

sz-orm-core = { version = "3.5.0", path = "../sz-orm-core", optional = true }

# v3.3.0 M4:SQL 解析(索引建议 + 重写建议,optional)

sqlparser = { workspace = true, optional = true }



[dev-dependencies]

tokio-test = "0.4"



[[test]]

name = "ai_tests"

path = "tests/ai_tests.rs"



[[test]]

name = "llm_integration"

path = "tests/llm_integration.rs"

required-features = ["llm-optimizer"]



[[test]]

name = "ai_m4"

path = "tests/ai_m4.rs"

required-features = ["ai-nl2sql-enhanced", "ai-index-advisor", "ai-rewrite-advisor"]



[lints]

workspace = true