| Crates.io | ipfrs-semantic |
| lib.rs | ipfrs-semantic |
| version | 0.1.0 |
| created_at | 2026-01-18 20:58:17.767188+00 |
| updated_at | 2026-01-18 20:58:17.767188+00 |
| description | Semantic search with HNSW vector indexing for content-addressed data |
| homepage | https://github.com/cool-japan/ipfrs |
| repository | https://github.com/cool-japan/ipfrs |
| max_upload_size | |
| id | 2053091 |
| size | 966,714 |
Semantic routing and vector search for IPFRS.
ipfrs-semantic extends IPFRS with intelligence-aware data discovery:
Combine exact (CID) and approximate (embedding) search:
High-performance ANN (Approximate Nearest Neighbor) search:
Integration with TensorLogic inference:
ipfrs-semantic
├── router/ # Semantic routing engine
├── index/ # Vector index implementations
│ ├── hnsw/ # In-memory HNSW
│ └── diskann/ # Disk-based ANN
├── embeddings/ # Embedding generation & management
└── logic/ # TensorLogic integration
use ipfrs_semantic::{SemanticRouter, EmbeddingModel};
use ipfrs_core::Cid;
// Initialize router
let router = SemanticRouter::new(config).await?;
// Index content with embeddings
let embedding = model.encode("neural networks")?;
router.index(cid, embedding).await?;
// Semantic search
let query_emb = model.encode("deep learning")?;
let results = router.search(query_emb, k=10).await?;
// Hybrid search (CID + semantic)
let results = router.hybrid_search(
cid_filter: Some(prefix),
embedding: query_emb,
k: 10
).await?;
| Operation | Latency | Throughput |
|---|---|---|
| HNSW Query (1M vectors) | <1ms | 10k qps |
| DiskANN Query (100M vectors) | <10ms | 1k qps |
| Index Update | ~100μs | 10k ops/s |
hnsw - Hierarchical Navigable Small Worldfaiss (optional) - Facebook AI Similarity Searchndarray - N-dimensional arraysserde - Serialization