mirror of
https://github.com/0xMassi/webclaw.git
synced 2026-07-21 07:01:01 +02:00
qdrant-client v1.x is gRPC-only — reqwest feature is snapshot downloads only.
Rewrite QdrantStore using direct HTTP calls against Qdrant REST API (port 6333):
- collection_exists: GET /collections/{name}
- create_collection: PUT /collections/{name} + PUT /collections/{name}/index
- upsert: PUT /collections/{name}/points?wait=true (256-batch)
- delete_by_url: POST /collections/{name}/points/delete?wait=true
- search: POST /collections/{name}/points/search
No new dependencies — reqwest already in workspace.
65 lines
1.4 KiB
TOML
65 lines
1.4 KiB
TOML
[package]
|
|
name = "noxa-rag"
|
|
description = "RAG pipeline for noxa — TEI embeddings + Qdrant vector store"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[[bin]]
|
|
name = "noxa-rag-daemon"
|
|
path = "src/bin/noxa-rag-daemon.rs"
|
|
|
|
[dependencies]
|
|
noxa-core = { workspace = true }
|
|
|
|
# Async runtime
|
|
tokio = { workspace = true }
|
|
|
|
# Serialization
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
toml = "0.8"
|
|
|
|
# Error handling
|
|
thiserror = { workspace = true }
|
|
|
|
# Tracing
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
|
|
# Async traits
|
|
async-trait = "0.1"
|
|
|
|
# HTTP client (plain reqwest — no primp patches needed for TEI/Qdrant)
|
|
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
|
|
|
|
# No qdrant-client crate — REST calls via plain reqwest (no protoc/gRPC dependency)
|
|
|
|
# Chunking
|
|
text-splitter = { version = "0.25", features = ["markdown", "tokenizers"] }
|
|
tokenizers = "0.21"
|
|
|
|
# UUID v5 for deterministic point IDs
|
|
uuid = { version = "1", features = ["v5", "serde"] }
|
|
|
|
# Filesystem watcher
|
|
notify = "6"
|
|
notify-debouncer-mini = "0.4"
|
|
|
|
# Concurrent data structures
|
|
dashmap = "6"
|
|
|
|
# URL parsing
|
|
url = "2"
|
|
|
|
# CLI args
|
|
clap = { workspace = true }
|
|
|
|
# Date/time for failed-jobs log
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
|
|
# CancellationToken for coordinated shutdown
|
|
tokio-util = { version = "0.7", features = ["io"] }
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true }
|