[package] name = "rag-toolchain" version = "0.1.9" edition = "2021" repository = "https://github.com/JackMatthewRimmer/rust-rag-toolchain" description = "is a Rust native library designed to empower developers with seamless access to common Gen AI workflows." readme = "README.md" license = "MIT" [[example]] name = "pg_vector_example" path = "examples/pg_vector/main.rs" required-features = ["pg_vector"] [[example]] name = "open_ai_chat_completion_example" path = "examples/open_ai_chat_completions/main.rs" [[example]] name = "basic_rag_chain_example" path = "examples/basic_rag_chain/main.rs" [[example]] name = "chat_history_chain_example" path = "examples/chat_history_chain/main.rs" # For integration tests # cargo test --test * # For unit tests # cargo test --lib [features] default = ["pg_vector", "openai", "anthropic"] pg_vector = ["dep:pgvector"] openai = ["dep:reqwest-eventsource", "dep:eventsource-stream"] anthropic = [] [dev-dependencies] mockall = "0.13.0" mockito = "1.4.0" testcontainers = "0.23.1" lazy_static = "1.4.0" [lib] name = "rag_toolchain" crate-type = ["lib"] [dependencies] tiktoken-rs = "0.5.8" serde = { version = "1.0.200", features = ["derive"] } serde_json = "1.0.116" dotenv = "0.15.0" typed-builder = "0.20.0" sqlx = { version = "0.8.0", features = [ "postgres", "runtime-tokio-rustls", "json", ] } tokio = { version = "1.37", features = ["full"] } reqwest = { version = "0.12.8", features = ["json"] } futures = "0.3.31" thiserror = "1.0.61" # Postgres Vector pgvector = { version = "0.4.0", features = ["sqlx"], optional = true } # OpenAI reqwest-eventsource = { version = "0.6.0", optional = true } eventsource-stream = { version = "0.2.3", optional = true }