[package]
edition = "2021"
name = "langchain-rust"
version = "5.2.0"
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "LangChain for Rust, the easiest way to write LLM-based programs in Rust"
documentation = "https://docs.rs/langchain-rust"
readme = "README.md"
keywords = [
"chain",
"chatgpt",
"llm",
"langchain",
]
license = "MIT"
repository = "https://github.com/Abraxas-365/langchain-rust"
[features]
bedrock = [
"dep:aws-sdk-bedrockruntime",
"dep:aws-smithy-types",
"dep:aws-config",
]
default = []
fastembed = [
"dep:fastembed",
"dep:ort",
]
git = [
"gix",
"flume",
]
html-to-markdown = ["dep:htmd"]
lopdf = ["dep:lopdf"]
mistralai = ["mistralai-client"]
ollama = ["ollama-rs"]
opensearch = [
"dep:opensearch",
"dep:aws-config",
]
pdf-extract = ["dep:pdf-extract"]
postgres = [
"pgvector",
"sqlx",
"uuid",
]
qdrant = [
"qdrant-client",
"uuid",
]
sqlite-vec = ["sqlx"]
sqlite-vss = ["sqlx"]
surrealdb = ["dep:surrealdb"]
tree-sitter = [
"cc",
"dep:tree-sitter",
"dep:tree-sitter-c",
"dep:tree-sitter-c-sharp",
"dep:tree-sitter-cpp",
"dep:tree-sitter-go",
"dep:tree-sitter-java",
"dep:tree-sitter-javascript",
"dep:tree-sitter-kotlin-ng",
"dep:tree-sitter-python",
"dep:tree-sitter-rust",
"dep:tree-sitter-scala",
"dep:tree-sitter-typescript",
]
[lib]
name = "langchain_rust"
path = "src/lib.rs"
[[example]]
name = "agent"
path = "examples/agent.rs"
[[example]]
name = "conversational_chain"
path = "examples/conversational_chain.rs"
[[example]]
name = "conversational_retriever_chain_with_vector_store"
path = "examples/conversational_retriever_chain_with_vector_store.rs"
[[example]]
name = "conversational_retriever_simple_chain"
path = "examples/conversational_retriever_simple_chain.rs"
[[example]]
name = "dynamic_semantic_routes"
path = "examples/dynamic_semantic_routes.rs"
[[example]]
name = "embedding_azure_open_ai"
path = "examples/embedding_azure_open_ai.rs"
[[example]]
name = "embedding_fastembed"
path = "examples/embedding_fastembed.rs"
[[example]]
name = "embedding_mistralai"
path = "examples/embedding_mistralai.rs"
[[example]]
name = "embedding_ollama"
path = "examples/embedding_ollama.rs"
[[example]]
name = "embedding_openai"
path = "examples/embedding_openai.rs"
[[example]]
name = "git_commits"
path = "examples/git_commits.rs"
[[example]]
name = "llm_alibaba_qwen"
path = "examples/llm_alibaba_qwen.rs"
[[example]]
name = "llm_anthropic_claude"
path = "examples/llm_anthropic_claude.rs"
[[example]]
name = "llm_azure_open_ai"
path = "examples/llm_azure_open_ai.rs"
[[example]]
name = "llm_bedrock"
path = "examples/llm_bedrock.rs"
[[example]]
name = "llm_chain"
path = "examples/llm_chain.rs"
[[example]]
name = "llm_chain_deepseek"
path = "examples/llm_chain_deepseek.rs"
[[example]]
name = "llm_chain_qwen"
path = "examples/llm_chain_qwen.rs"
[[example]]
name = "llm_deepseek"
path = "examples/llm_deepseek.rs"
[[example]]
name = "llm_deepseek_advanced"
path = "examples/llm_deepseek_advanced.rs"
[[example]]
name = "llm_ollama"
path = "examples/llm_ollama.rs"
[[example]]
name = "llm_openai"
path = "examples/llm_openai.rs"
[[example]]
name = "llm_qwen_advanced"
path = "examples/llm_qwen_advanced.rs"
[[example]]
name = "open_ai_tools_agent"
path = "examples/open_ai_tools_agent.rs"
[[example]]
name = "qa_chain"
path = "examples/qa_chain.rs"
[[example]]
name = "rcommiter"
path = "examples/rcommiter.rs"
[[example]]
name = "semantic_routes"
path = "examples/semantic_routes.rs"
[[example]]
name = "sequential_chain"
path = "examples/sequential_chain.rs"
[[example]]
name = "simple_chain"
path = "examples/simple_chain.rs"
[[example]]
name = "speech2text_openai"
path = "examples/speech2text_openai.rs"
[[example]]
name = "sql_chain"
path = "examples/sql_chain.rs"
[[example]]
name = "streaming_from_chain"
path = "examples/streaming_from_chain.rs"
[[example]]
name = "text_to_speech"
path = "examples/text_to_speech.rs"
[[example]]
name = "vector_store_opensearch"
path = "examples/vector_store_opensearch.rs"
[[example]]
name = "vector_store_postgres"
path = "examples/vector_store_postgres.rs"
[[example]]
name = "vector_store_qdrant"
path = "examples/vector_store_qdrant.rs"
[[example]]
name = "vector_store_sqlite_vec"
path = "examples/vector_store_sqlite_vec.rs"
[[example]]
name = "vector_store_sqlite_vss"
path = "examples/vector_store_sqlite_vss.rs"
[[example]]
name = "vision_llm_chain"
path = "examples/vision_llm_chain.rs"
[[example]]
name = "wolfram_tool"
path = "examples/wolfram_tool.rs"
[[test]]
name = "bedrock_integration_tests"
path = "tests/bedrock_integration_tests.rs"
[dependencies.async-openai]
version = "0.42"
features = [
"native-tls",
"chat-completion",
"embedding",
"audio",
]
default-features = false
[dependencies.async-recursion]
version = "1.1.1"
[dependencies.async-stream]
version = "0.3.6"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.aws-config]
version = "1.8"
features = ["behavior-version-latest"]
optional = true
[dependencies.aws-sdk-bedrockruntime]
version = "1.120"
optional = true
[dependencies.aws-smithy-types]
version = "1"
optional = true
[dependencies.csv]
version = "1.3"
[dependencies.fastembed]
version = "7"
optional = true
[dependencies.flume]
version = "0.12"
optional = true
[dependencies.futures]
version = "0.3.31"
[dependencies.futures-util]
version = "0.3.31"
[dependencies.gix]
version = "0.89"
features = [
"parallel",
"revision",
"serde",
"sha1",
]
optional = true
default-features = false
[dependencies.glob]
version = "0.3.3"
[dependencies.htmd]
version = "0.5"
optional = true
[dependencies.log]
version = "0.4.28"
[dependencies.lopdf]
version = "0.46"
optional = true
[dependencies.mistralai-client]
version = "0.14.0"
optional = true
[dependencies.mockito]
version = "1.7"
[dependencies.ollama-rs]
version = "0.3.6"
features = ["stream"]
optional = true
[dependencies.opensearch]
version = "2.3"
features = ["aws-auth"]
optional = true
[dependencies.ort]
version = "2.0.0-rc.15"
optional = true
default-features = false
[dependencies.pdf-extract]
version = "0.12"
optional = true
[dependencies.pgvector]
version = "0.4.2"
features = [
"postgres",
"sqlx",
]
optional = true
[dependencies.qdrant-client]
version = "1.19"
optional = true
[dependencies.readability]
version = "0.3.0"
[dependencies.regex]
version = "1.11"
[dependencies.reqwest]
version = "0.13"
features = [
"json",
"stream",
"charset",
"http2",
"system-proxy",
"native-tls",
]
default-features = false
[dependencies.reqwest-eventsource]
version = "0.6.0"
[dependencies.scraper]
version = "0.29"
[dependencies.secrecy]
version = "0.10.3"
features = ["serde"]
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.145"
[dependencies.sqlx]
version = "0.9"
features = [
"postgres",
"sqlite",
"runtime-tokio",
"tls-native-tls",
"json",
"uuid",
]
optional = true
default-features = false
[dependencies.strum_macros]
version = "0.28"
[dependencies.surrealdb]
version = "3"
optional = true
default-features = false
[dependencies.text-splitter]
version = "0.33"
features = [
"tiktoken-rs",
"markdown",
]
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tiktoken-rs]
version = "0.12"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1.17"
[dependencies.tree-sitter]
version = "0.27"
optional = true
[dependencies.tree-sitter-c]
version = "0.24"
optional = true
[dependencies.tree-sitter-c-sharp]
version = "0.23"
optional = true
[dependencies.tree-sitter-cpp]
version = "0.23"
optional = true
[dependencies.tree-sitter-go]
version = "0.25"
optional = true
[dependencies.tree-sitter-java]
version = "0.23"
optional = true
[dependencies.tree-sitter-javascript]
version = "0.25"
optional = true
[dependencies.tree-sitter-kotlin-ng]
version = "1.1"
optional = true
[dependencies.tree-sitter-python]
version = "0.25"
optional = true
[dependencies.tree-sitter-rust]
version = "0.24"
optional = true
[dependencies.tree-sitter-scala]
version = "0.26"
optional = true
[dependencies.tree-sitter-typescript]
version = "0.23"
optional = true
[dependencies.url]
version = "2.5.7"
[dependencies.urlencoding]
version = "2.1.3"
[dependencies.uuid]
version = "1.18"
features = ["v4"]
optional = true
[dev-dependencies.aws-smithy-eventstream]
version = "0.61"
[dev-dependencies.base64]
version = "0.23"
[dev-dependencies.surrealdb]
version = "3"
features = ["kv-mem"]
default-features = false
[dev-dependencies.testcontainers]
version = "0.28"
[dev-dependencies.tokio-test]
version = "0.4.6"
[build-dependencies.cc]
version = "1.2"
optional = true