[package] name = "nerve-ai" version = "0.1.2" description = "Nerve is a tool that allows creating stateful agents with any LLM of your choice - without writing a single line of code. The tool provides to the model a framework of functionalities for planning, saving or recalling memories, etc by dynamically adapting the prompt and making it stateful over multiple inferences. The model will be able to access and use these functionalities in order to accomplish the task you provided." edition = "2021" keywords = ["llm", "agent", "stateful-agents", "ai"] authors = ["Simone Margaritelli "] license = "GPL-3.0" readme = "README.md" repository = "https://github.com/evilsocket/nerve" homepage = "https://github.com/evilsocket/nerve" [[bin]] name = "nerve" path = "src/main.rs" [dependencies] ollama-rs = { version = "0.1.9", features = [ "rustls", "tokio", "chat-history", ], default-features = false, optional = true } anyhow = "1.0.86" async-trait = "0.1.80" chrono = "0.4.38" clap = { version = "4.5.6", features = ["derive"] } colored = "2.1.0" groq-api-rs = { version = "0.1.0", optional = true } indexmap = "2.2.6" itertools = "0.13.0" lazy_static = "1.4.0" libc = "0.2.155" openai_api_rust = { version = "0.1.9", optional = true } regex = "1.10.5" serde = { version = "1.0.203", features = ["derive", "serde_derive"] } serde_trim = "1.1.0" serde_yaml = "0.9.34" simple-home-dir = "0.3.5" tokio = "1.38.0" xml-rs = "0.8.20" duration-string = { version = "0.4.0", optional = true } rayon = "1.10.0" glob = "0.3.1" human_bytes = "0.4.3" memory-stats = "1.1.0" sha256 = "1.5.0" bitcode = { version = "0.6.0", features = ["serde"] } intertrait = "0.2.2" mini-rag = "0.2.3" env_logger = "0.11.3" log = "0.4.22" reqwest = { version = "0.12.5", default-features = false, features = [ "rustls-tls", ] } url = "2.5.2" [features] default = ["ollama", "groq", "openai", "fireworks"] ollama = ["dep:ollama-rs"] groq = ["dep:groq-api-rs", "dep:duration-string"] openai = ["dep:openai_api_rust"] fireworks = ["dep:openai_api_rust"] [profile.release] lto = true # Enable link-time optimization codegen-units = 1 # Reduce number of codegen units to increase optimizations panic = 'abort' # Abort on panic strip = true # Strip symbols from binary*