[[bin]]
name = "llm"
path = "src/bin/llm-cli.rs"
required-features = ["cli"]
[dependencies.async-trait]
version = "0.1"
[dependencies.awc]
features = ["rustls-0_23-native-roots"]
optional = true
version = "3.7.0"
[dependencies.aws-config]
optional = true
version = "1.1.7"
[dependencies.aws-sdk-bedrockruntime]
optional = true
version = "1.99.0"
[dependencies.aws-smithy-types]
optional = true
version = "1.3.2"
[dependencies.axum]
features = ["json"]
optional = true
version = "0.7"
[dependencies.base64]
version = "0.22.1"
[dependencies.chrono]
default-features = false
features = ["serde"]
version = "0.4"
[dependencies.clap]
features = ["derive"]
optional = true
version = "4"
[dependencies.colored]
optional = true
version = "3.0.0"
[dependencies.dirs]
version = "6.0.0"
[dependencies.either]
features = ["serde"]
version = "1.15.0"
[dependencies.env_logger]
optional = true
version = "0.11"
[dependencies.futures]
version = "0.3"
[dependencies.log]
version = "0.4"
[dependencies.rand]
version = "0.8"
[dependencies.regex]
version = "1.10"
[dependencies.reqwest]
default-features = false
features = ["json", "multipart", "stream"]
version = "0.12.12"
[dependencies.rodio]
features = ["mp3", "wav"]
optional = true
version = "0.20.0"
[dependencies.rustyline]
optional = true
version = "15"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde_bytes]
version = "0.11.19"
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.spinners]
optional = true
version = "4.1"
[dependencies.tokio]
features = ["full"]
version = "1.0"
[dependencies.toml]
version = "0.8"
[dependencies.tower-http]
features = ["cors"]
optional = true
version = "0.5"
[dependencies.uuid]
features = ["v4"]
optional = true
version = "1.0"
[dev-dependencies.bytes]
version = "1.9"
[dev-dependencies.http]
version = "1.2"
[dev-dependencies.http-body-util]
version = "0.1"
[dev-dependencies.hyper]
version = "1.5"
[dev-dependencies.mockito]
version = "1.5"
[dev-dependencies.rodio]
default-features = false
features = ["symphonia-all"]
version = "0.20.1"
[dev-dependencies.rstest]
version = "0.26"
[dev-dependencies.tokio]
features = ["macros", "rt-multi-thread"]
version = "1.0"
[dev-dependencies.tokio-test]
version = "0.4"
[[example]]
name = "agent_builder_example"
path = "examples/agent_builder_example.rs"
[[example]]
name = "anthropic_example"
path = "examples/anthropic_example.rs"
[[example]]
name = "anthropic_streaming_example"
path = "examples/anthropic_streaming_example.rs"
[[example]]
name = "anthropic_thinking_example"
path = "examples/anthropic_thinking_example.rs"
[[example]]
name = "anthropic_vision_example"
path = "examples/anthropic_vision_example.rs"
[[example]]
name = "api_deepclaude_example"
path = "examples/api_deepclaude_example.rs"
[[example]]
name = "api_example"
path = "examples/api_example.rs"
[[example]]
name = "azure_openai_embedding_example"
path = "examples/azure_openai_embedding_example.rs"
[[example]]
name = "azure_openai_example"
path = "examples/azure_openai_example.rs"
[[example]]
name = "azure_openai_tool_calling_example"
path = "examples/azure_openai_tool_calling_example.rs"
[[example]]
name = "bedrock_example"
path = "examples/bedrock_example.rs"
[[example]]
name = "bedrock_tool_calling_example"
path = "examples/bedrock_tool_calling_example.rs"
[[example]]
name = "chain_audio_text_example"
path = "examples/chain_audio_text_example.rs"
[[example]]
name = "chain_example"
path = "examples/chain_example.rs"
[[example]]
name = "chain_logging_example"
path = "examples/chain_logging_example.rs"
[[example]]
name = "cohere_example"
path = "examples/cohere_example.rs"
[[example]]
name = "deepclaude_pipeline_example"
path = "examples/deepclaude_pipeline_example.rs"
[[example]]
name = "deepseek_example"
path = "examples/deepseek_example.rs"
[[example]]
name = "elevenlabs_stt_example"
path = "examples/elevenlabs_stt_example.rs"
[[example]]
name = "elevenlabs_tts_example"
path = "examples/elevenlabs_tts_example.rs"
[[example]]
name = "embedding_example"
path = "examples/embedding_example.rs"
[[example]]
name = "evaluation_example"
path = "examples/evaluation_example.rs"
[[example]]
name = "evaluator_parallel_example"
path = "examples/evaluator_parallel_example.rs"
[[example]]
name = "google_embedding_example"
path = "examples/google_embedding_example.rs"
[[example]]
name = "google_example"
path = "examples/google_example.rs"
[[example]]
name = "google_image"
path = "examples/google_image.rs"
[[example]]
name = "google_pdf"
path = "examples/google_pdf.rs"
[[example]]
name = "google_streaming_example"
path = "examples/google_streaming_example.rs"
[[example]]
name = "google_structured_output_example"
path = "examples/google_structured_output_example.rs"
[[example]]
name = "google_tool_calling_example"
path = "examples/google_tool_calling_example.rs"
[[example]]
name = "groq_example"
path = "examples/groq_example.rs"
[[example]]
name = "huggingface_example"
path = "examples/huggingface_example.rs"
[[example]]
name = "json_schema_nested_example"
path = "examples/json_schema_nested_example.rs"
[[example]]
name = "memory_example"
path = "examples/memory_example.rs"
[[example]]
name = "memory_share_example"
path = "examples/memory_share_example.rs"
[[example]]
name = "mistral_example"
path = "examples/mistral_example.rs"
[[example]]
name = "model_listing_example"
path = "examples/model_listing_example.rs"
[[example]]
name = "multi_backend_example"
path = "examples/multi_backend_example.rs"
[[example]]
name = "multi_backend_structured_output_example"
path = "examples/multi_backend_structured_output_example.rs"
[[example]]
name = "ollama_example"
path = "examples/ollama_example.rs"
[[example]]
name = "ollama_image"
path = "examples/ollama_image.rs"
[[example]]
name = "ollama_structured_output_example"
path = "examples/ollama_structured_output_example.rs"
[[example]]
name = "openai_example"
path = "examples/openai_example.rs"
[[example]]
name = "openai_reasoning_example"
path = "examples/openai_reasoning_example.rs"
[[example]]
name = "openai_streaming_example"
path = "examples/openai_streaming_example.rs"
[[example]]
name = "openai_structured_output_example"
path = "examples/openai_structured_output_example.rs"
[[example]]
name = "openai_stt_example"
path = "examples/openai_stt_example.rs"
[[example]]
name = "openai_tts_example"
path = "examples/openai_tts_example.rs"
[[example]]
name = "openai_vision_example"
path = "examples/openai_vision_example.rs"
[[example]]
name = "openai_web_search_example"
path = "examples/openai_web_search_example.rs"
[[example]]
name = "phind_example"
path = "examples/phind_example.rs"
[[example]]
name = "resilient_example"
path = "examples/resilient_example.rs"
[[example]]
name = "tool_calling_example"
path = "examples/tool_calling_example.rs"
[[example]]
name = "tool_json_schema_cycle_example"
path = "examples/tool_json_schema_cycle_example.rs"
[[example]]
name = "trim_strategy_example"
path = "examples/trim_strategy_example.rs"
[[example]]
name = "tts_rodio_example"
path = "examples/tts_rodio_example.rs"
[[example]]
name = "unified_tool_calling_example"
path = "examples/unified_tool_calling_example.rs"
[[example]]
name = "validator_example"
path = "examples/validator_example.rs"
[[example]]
name = "xai_example"
path = "examples/xai_example.rs"
[[example]]
name = "xai_search_chain_tts_example"
path = "examples/xai_search_chain_tts_example.rs"
[[example]]
name = "xai_search_example"
path = "examples/xai_search_example.rs"
[[example]]
name = "xai_streaming_example"
path = "examples/xai_streaming_example.rs"
[[example]]
name = "xai_structured_output_example"
path = "examples/xai_structured_output_example.rs"
[features]
agent = []
anthropic = []
api = ["dep:axum", "dep:tower-http", "dep:uuid"]
azure_openai = []
bedrock = ["dep:awc", "dep:aws-config", "dep:aws-sdk-bedrockruntime", "dep:aws-smithy-types"]
cli = ["full", "dep:clap", "dep:rustyline", "dep:colored", "dep:spinners"]
cohere = []
deepseek = []
default = ["cli", "default-tls"]
default-tls = ["reqwest/default-tls"]
elevenlabs = []
full = ["openai", "anthropic", "ollama", "deepseek", "xai", "phind", "google", "groq", "azure_openai", "api", "elevenlabs", "agent", "cohere", "mistral", "openrouter", "huggingface", "bedrock"]
google = []
groq = []
huggingface = []
logging = ["dep:env_logger"]
mistral = []
ollama = []
openai = []
openrouter = []
phind = []
rodio = ["dep:rodio"]
rustls-tls = ["reqwest/rustls-tls"]
xai = []
[lib]
name = "llm"
path = "src/lib.rs"
[package]
authors = ["Tristan Granier <graniet75@gmail.com>", "Jared Kofron <jared.kofron@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
default-run = "llm"
description = "A Rust library unifying multiple LLM backends."
documentation = "https://docs.rs/llm"
edition = "2021"
homepage = "https://github.com/graniet/llm"
license = "MIT"
name = "llm"
readme = "README.md"
repository = "https://github.com/graniet/llm"
version = "1.3.7"
[[test]]
name = "test"
path = "tests/test.rs"
[[test]]
name = "test_backends"
path = "tests/test_backends.rs"