[package]
edition = "2021"
rust-version = "1.70"
name = "oxirs-chat"
version = "0.3.2"
authors = ["KitaSan <info@kitasan.io>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "RAG chat API with LLM integration and natural language to SPARQL translation"
homepage = "https://github.com/cool-japan/oxirs"
readme = "README.md"
keywords = [
"rag",
"chat",
"llm",
"ai",
"semantic-search",
]
categories = [
"science",
"algorithms",
"web-programming",
]
license = "Apache-2.0"
repository = "https://github.com/cool-japan/oxirs"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = []
excel-export = ["rust_xlsxwriter"]
llm-integration = []
nl2sparql = []
openai = ["dep:async-openai"]
[lib]
name = "oxirs_chat"
path = "src/lib.rs"
[[bin]]
name = "oxirs-chat"
path = "src/main.rs"
[[example]]
name = "chat_advanced_features_demo"
path = "examples/chat_advanced_features_demo.rs"
[[example]]
name = "kg_chat"
path = "examples/kg_chat.rs"
[[example]]
name = "rag_chat"
path = "examples/rag_chat.rs"
[[example]]
name = "streaming_demo"
path = "examples/streaming_demo.rs"
[[test]]
name = "examples_compile_test"
path = "tests/examples_compile_test.rs"
[[test]]
name = "llm_fallback_tests"
path = "tests/llm_fallback_tests.rs"
[[test]]
name = "llm_integration_test"
path = "tests/llm_integration_test.rs"
[[test]]
name = "session_persistence_test"
path = "tests/session_persistence_test.rs"
[[test]]
name = "vector_search_test"
path = "tests/vector_search_test.rs"
[[bench]]
name = "comprehensive_benchmarks"
path = "benches/comprehensive_benchmarks.rs"
[[bench]]
name = "dashboard_benchmarks"
path = "benches/dashboard_benchmarks.rs"
[[bench]]
name = "rag_benchmarks"
path = "benches/rag_benchmarks.rs"
[dependencies.aes-gcm]
version = "0.11"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-openai]
version = "0.41"
features = [
"chat-completion",
"audio",
]
optional = true
default-features = false
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.8"
features = [
"ws",
"multipart",
"ws",
]
[dependencies.base64]
version = "0.22"
[dependencies.chrono]
version = "0.4.45"
features = ["serde"]
[dependencies.clap]
version = "4.6"
features = [
"derive",
"derive",
]
[dependencies.config]
version = "0.15"
[dependencies.fastrand]
version = "2.4.1"
[dependencies.futures-util]
version = "0.3"
[dependencies.handlebars]
version = "6.4"
[dependencies.hmac]
version = "0.13.0"
[dependencies.metrics]
version = "0.24"
[dependencies.oxiarc-deflate]
version = "0.3.5"
[dependencies.oxiarc-lz4]
version = "0.3.5"
[dependencies.oxiarc-zstd]
version = "0.3.5"
[dependencies.oxicode]
version = "0.2.4"
features = [
"serde",
"derive",
]
[dependencies.oxirs-core]
version = "0.3.2"
[dependencies.oxirs-embed]
version = "0.3.2"
[dependencies.oxirs-vec]
version = "0.3.2"
[dependencies.quick-xml]
version = "0.41"
[dependencies.regex]
version = "1.12.4"
[dependencies.reqwest]
version = "0.13"
features = [
"rustls-no-provider",
"json",
"form",
"query",
"multipart",
"http2",
"stream",
]
default-features = false
[dependencies.rust_xlsxwriter]
version = "0.96"
optional = true
[dependencies.scirs2-core]
version = "0.6.0"
features = [
"random",
"random",
]
[dependencies.serde]
version = "1.0.228"
features = [
"derive",
"derive",
]
[dependencies.serde_json]
version = "1.0.150"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.11"
features = ["oid"]
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.52.3"
features = [
"full",
"full",
]
[dependencies.toml]
version = "1.1"
[dependencies.tower]
version = "0.5"
[dependencies.tower-http]
version = "0.7"
features = [
"cors",
"trace",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
"fmt",
]
[dependencies.uuid]
version = "1.23"
features = [
"v4",
"serde",
]
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.tempfile]
version = "3.27"