48 lines
1.9 KiB
TOML
48 lines
1.9 KiB
TOML
[package]
|
|
name = "baibot"
|
|
description = "A Matrix bot for using diffent capabilities (text-generation, text-to-speech, speech-to-text, image-generation, etc.) of AI / Large Language Models"
|
|
authors = ["Slavi Pantaleev <slavi@devture.com>"]
|
|
repository = "https://github.com/etkecc/baibot"
|
|
license = "AGPL-3.0-or-later"
|
|
readme = "README.md"
|
|
keywords = ["matrix", "chat", "bot", "AI", "LLM"]
|
|
include = ["/etc/assets/baibot-torso-768.png", "/src", "/README.md", "/CHANGELOG.md", "/LICENSE"]
|
|
version = "1.25.0"
|
|
edition = "2024"
|
|
|
|
[lib]
|
|
name = "baibot"
|
|
path = "src/lib.rs"
|
|
|
|
[dependencies]
|
|
anthropic = { git = "https://github.com/etkecc/anthropic-rs.git", branch = "fix-content-block-image" }
|
|
anyhow = "1.0.*"
|
|
async-openai = { version = "0.41.0", features = ["audio", "chat-completion", "image", "responses"] }
|
|
base64 = "0.23.*"
|
|
chrono = { version = "0.4.*", default-features = false, features = ["std", "now"] }
|
|
# We'd rather not depend on this, but we cannot use the ruma-events EventContent macro without it.
|
|
matrix-sdk = { version = "0.18.0", default-features = false }
|
|
mime_guess = "2.0.*"
|
|
mxidwc = "1.0.*"
|
|
mxlink = ">=1.15.0"
|
|
etke_openai_api_rust = "0.1.*"
|
|
quick_cache = "0.7.*"
|
|
regex = "1.13.*"
|
|
# HTTP client for the native `venice` provider. rustls only (no extra TLS stack), matching the
|
|
# reqwest copy async-openai/matrix-sdk/mxlink already use.
|
|
reqwest = { version = "0.13.*", default-features = false, features = ["json", "multipart", "rustls"] }
|
|
serde = { version = "1.0.*", features = ["derive"], default-features = false }
|
|
serde_json = "1.0.*"
|
|
serde_yaml_ng = "0.10.*"
|
|
tempfile = "3.27.*"
|
|
tiktoken-rs = { version = "0.12.*", default-features = false }
|
|
tokio = { version = "1.53.*", features = ["rt", "rt-multi-thread", "macros"] }
|
|
tracing = "0.1.*"
|
|
tracing-subscriber = { version = "0.3.*", features = ["env-filter"] }
|
|
url = "2.5.*"
|
|
|
|
[profile.release]
|
|
strip = true
|
|
opt-level = "z"
|
|
lto = "thin"
|