[package] name = "asimov" version = "0.1.8" edition = "2021" description = "Asimov is a library for building high performance LLM-powered applications." license = "MIT" [lib] crate-type = ["lib", "cdylib"] [dependencies] thiserror = "1.0.50" typed-builder = "0.18.0" derive_more = "0.99.17" anyhow = "1.0.75" strum = "0.26.1" strum_macros = "0.26.1" repair_json = "0.1.0" # Async features futures = "0.3.17" async-trait = "0.1.74" async-stream = "0.3.5" # All serde serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" json-stream = "0.1.1" # Prompt templating tiktoken-rs = "0.5.7" # Input IDs twox-hash = "1.6.3" uuid = { version = "1.7.0", features = ["serde", "v4"] } # Communicate with OpenAI async-openai = { version = "0.19.0", optional = true } # Tesseract-related hora = { version = "0.1.1", git = "https://github.com/rangsikitpho/hora" } getrandom = { version = "0.2", features = ["js"] } # Qdrant qdrant-client = { version = "1.8.0", optional = true } derive_builder = "0.20.0" tracing = "0.1.40" reqwest = { version = "0.11", optional = true } tera = "1.19.1" asimov_derive = "0.1.1" parking_lot = "0.12.1" [dev-dependencies] dotenvy = "0.15.7" tokio = { version = "1", features = ["rt", "macros"] } rand = "0.8.4" [[example]] name = "simple" path = "examples/simple.rs" [[example]] name = "structured" path = "examples/structured.rs" [[example]] name = "structured_streaming" path = "examples/structured_streaming.rs" [[example]] name = "simple_fewshot" path = "examples/simple_fewshot.rs" [[example]] name = "streaming" path = "examples/streaming.rs" [[example]] name = "simple_chain" path = "examples/simple_chain.rs" [target.'cfg(not(target_env = "msvc"))'.dev-dependencies] tokio = { version = "1", features = ["rt-multi-thread"] } lazy_static = "1.4.0" [features] openai = ["dep:async-openai"] qdrant = ["dep:qdrant-client"] full = ["openai", "qdrant"]