1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//! Embedding generation module
//!
//! This module provides text-to-vector embedding generation capabilities.
//! It currently supports ONNX Runtime-based models (e.g., MiniLM-L6-v2).
//!
//! # Features
//!
//! - **ONNX Runtime**: Enable with `onnx` feature flag for production embeddings
//!
//! # Example
//!
//! ```no_run
//! # #[cfg(feature = "onnx")]
//! # fn onnx_example() -> Result<(), foxstash_core::RagError> {
//! use foxstash_core::embedding::OnnxEmbedder;
//!
//! let mut embedder = OnnxEmbedder::new(
//! "models/model.onnx",
//! "models/tokenizer.json"
//! )?;
//!
//! // Single embedding
//! let embedding = embedder.embed("Hello, world!")?;
//! assert_eq!(embedding.len(), 384);
//!
//! // Batch embedding
//! let embeddings = embedder.embed_batch(&["First text", "Second text"])?;
//! assert_eq!(embeddings.len(), 2);
//! # Ok(())
//! # }
//! ```
pub use OnnxEmbedder;
// Placeholder when ONNX feature is not enabled
;